diff --git a/.gitignore b/.gitignore
index 50b970249a..1ce415678e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
*~
*.o
*.so
+*.lo
*.cu_o
*.ptx
*_ptx.h
@@ -32,6 +33,7 @@ log.cite
.Trashes
ehthumbs.db
Thumbs.db
+.clang-format
#cmake
/build*
diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index e0f8d08a25..5fdfa5aab3 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -43,6 +43,29 @@ function(validate_option name values)
endif()
endfunction(validate_option)
+function(get_lammps_version version_header variable)
+ file(READ ${version_header} line)
+ set(MONTHS x Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
+ string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\1" day "${line}")
+ string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\2" month "${line}")
+ string(REGEX REPLACE "#define LAMMPS_VERSION \"([0-9]+) ([A-Za-z]+) ([0-9]+)\"" "\\3" year "${line}")
+ string(STRIP ${day} day)
+ string(STRIP ${month} month)
+ string(STRIP ${year} year)
+ list(FIND MONTHS "${month}" month)
+ string(LENGTH ${day} day_length)
+ string(LENGTH ${month} month_length)
+ if(day_length EQUAL 1)
+ set(day "0${day}")
+ endif()
+ if(month_length EQUAL 1)
+ set(month "0${month}")
+ endif()
+ set(${variable} "${year}${month}${day}" PARENT_SCOPE)
+endfunction()
+
+get_lammps_version(${LAMMPS_SOURCE_DIR}/version.h LAMMPS_VERSION)
+
# Cmake modules/macros are in a subdirectory to keep this file cleaner
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/Modules)
@@ -113,6 +136,7 @@ if(BUILD_EXE)
if(LAMMPS_MACHINE)
set(LAMMPS_MACHINE "_${LAMMPS_MACHINE}")
endif()
+ set(LAMMPS_BINARY lmp${LAMMPS_MACHINE})
endif()
option(BUILD_LIB "Build LAMMPS library" OFF)
@@ -121,10 +145,10 @@ if(BUILD_LIB)
if(BUILD_SHARED_LIBS) # for all pkg libs, mpi_stubs and linalg
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
endif()
- set(LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
- mark_as_advanced(LIB_SUFFIX)
- if(LIB_SUFFIX)
- set(LIB_SUFFIX "_${LIB_SUFFIX}")
+ set(LAMMPS_LIB_SUFFIX "" CACHE STRING "Suffix to append to liblammps and pkg-config file")
+ mark_as_advanced(LAMMPS_LIB_SUFFIX)
+ if(LAMMPS_LIB_SUFFIX)
+ set(LAMMPS_LIB_SUFFIX "_${LAMMPS_LIB_SUFFIX}")
endif()
endif()
@@ -140,7 +164,7 @@ set(LAMMPS_DEPS)
set(LAMMPS_API_DEFINES)
set(DEFAULT_PACKAGES ASPHERE BODY CLASS2 COLLOID COMPRESS DIPOLE GRANULAR
- KSPACE MANYBODY MC MEAM MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP
+ KSPACE MANYBODY MC MEAM MESSAGE MISC MOLECULE PERI REAX REPLICA RIGID SHOCK SPIN SNAP
SRD KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-BOCS
USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE
USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC
@@ -213,6 +237,49 @@ option(CMAKE_VERBOSE_MAKEFILE "Verbose makefile" OFF)
option(ENABLE_TESTING "Enable testing" OFF)
if(ENABLE_TESTING)
enable_testing()
+ option(LAMMPS_TESTING_SOURCE_DIR "Location of lammps-testing source directory" "")
+ option(LAMMPS_TESTING_GIT_TAG "Git tag of lammps-testing" "master")
+ mark_as_advanced(LAMMPS_TESTING_SOURCE_DIR LAMMPS_TESTING_GIT_TAG)
+
+ if (CMAKE_VERSION VERSION_GREATER "3.10.3" AND NOT LAMMPS_TESTING_SOURCE_DIR)
+ include(FetchContent)
+
+ FetchContent_Declare(lammps-testing
+ GIT_REPOSITORY https://github.com/lammps/lammps-testing.git
+ GIT_TAG ${LAMMPS_TESTING_GIT_TAG}
+ )
+
+ FetchContent_GetProperties(lammps-testing)
+ if(NOT lammps-testing_POPULATED)
+ message(STATUS "Downloading tests...")
+ FetchContent_Populate(lammps-testing)
+ endif()
+
+ set(LAMMPS_TESTING_SOURCE_DIR ${lammps-testing_SOURCE_DIR})
+ elseif(NOT LAMMPS_TESTING_SOURCE_DIR)
+ message(WARNING "Full test-suite requires CMake >= 3.11 or copy of\n"
+ "https://github.com/lammps/lammps-testing in LAMMPS_TESTING_SOURCE_DIR")
+ endif()
+
+ if(EXISTS ${LAMMPS_TESTING_SOURCE_DIR})
+ message(STATUS "Running test discovery...")
+
+ file(GLOB_RECURSE TEST_SCRIPTS ${LAMMPS_TESTING_SOURCE_DIR}/tests/core/*/in.*)
+ foreach(script_path ${TEST_SCRIPTS})
+ get_filename_component(TEST_NAME ${script_path} EXT)
+ get_filename_component(SCRIPT_NAME ${script_path} NAME)
+ get_filename_component(PARENT_DIR ${script_path} DIRECTORY)
+ string(SUBSTRING ${TEST_NAME} 1 -1 TEST_NAME)
+ string(REPLACE "-" "_" TEST_NAME ${TEST_NAME})
+ string(REPLACE "+" "_" TEST_NAME ${TEST_NAME})
+ set(TEST_NAME "test_core_${TEST_NAME}_serial")
+ add_test(${TEST_NAME} ${CMAKE_BINARY_DIR}/${LAMMPS_BINARY} -in ${SCRIPT_NAME})
+ set_tests_properties(${TEST_NAME} PROPERTIES WORKING_DIRECTORY ${PARENT_DIR})
+ endforeach()
+ list(LENGTH TEST_SCRIPTS NUM_TESTS)
+
+ message(STATUS "Found ${NUM_TESTS} tests.")
+ endif()
endif(ENABLE_TESTING)
macro(pkg_depends PKG1 PKG2)
@@ -278,11 +345,14 @@ endif()
if(PKG_MSCG OR PKG_USER-ATC OR PKG_USER-AWPMD OR PKG_USER-QUIP OR PKG_LATTE)
find_package(LAPACK)
- if(NOT LAPACK_FOUND)
+ find_package(BLAS)
+ if(NOT LAPACK_FOUND OR NOT BLAS_FOUND)
enable_language(Fortran)
file(GLOB LAPACK_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/linalg/*.[fF])
add_library(linalg STATIC ${LAPACK_SOURCES})
set(LAPACK_LIBRARIES linalg)
+ else()
+ list(APPEND LAPACK_LIBRARIES ${BLAS_LIBRARIES})
endif()
endif()
@@ -531,6 +601,39 @@ if(PKG_KIM)
include_directories(${KIM_INCLUDE_DIRS})
endif()
+if(PKG_MESSAGE)
+ option(MESSAGE_ZMQ "Use ZeroMQ in MESSAGE package" OFF)
+ file(GLOB_RECURSE cslib_SOURCES ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.F
+ ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.c ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/*.cpp)
+
+ if(BUILD_SHARED_LIBS)
+ add_library(cslib SHARED ${cslib_SOURCES})
+ else()
+ add_library(cslib STATIC ${cslib_SOURCES})
+ endif()
+
+ if(BUILD_MPI)
+ target_compile_definitions(cslib PRIVATE -DMPI_YES)
+ set_target_properties(cslib PROPERTIES OUTPUT_NAME "csmpi")
+ else()
+ target_compile_definitions(cslib PRIVATE -DMPI_NO)
+ set_target_properties(cslib PROPERTIES OUTPUT_NAME "csnompi")
+ endif()
+
+ if(MESSAGE_ZMQ)
+ target_compile_definitions(cslib PRIVATE -DZMQ_YES)
+ find_package(ZMQ REQUIRED)
+ target_include_directories(cslib PRIVATE ${ZMQ_INCLUDE_DIRS})
+ target_link_libraries(cslib PUBLIC ${ZMQ_LIBRARIES})
+ else()
+ target_compile_definitions(cslib PRIVATE -DZMQ_NO)
+ target_include_directories(cslib PRIVATE ${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src/STUBS_ZMQ)
+ endif()
+
+ list(APPEND LAMMPS_LINK_LIBS cslib)
+ include_directories(${LAMMPS_LIB_SOURCE_DIR}/message/cslib/src)
+endif()
+
if(PKG_MSCG)
find_package(GSL REQUIRED)
option(DOWNLOAD_MSCG "Download latte (instead of using the system's one)" OFF)
@@ -728,7 +831,9 @@ if(PKG_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)
+ ${USER-OMP_SOURCES_DIR}/fix_nh_sphere_omp.cpp
+ ${USER-OMP_SOURCES_DIR}/domain_omp.cpp)
+ add_definitions(-DLMP_USER_OMP)
set_property(GLOBAL PROPERTY "OMP_SOURCES" "${USER-OMP_SOURCES}")
# detects styles which have USER-OMP version
@@ -1061,7 +1166,9 @@ include_directories(${LAMMPS_STYLE_HEADERS_DIR})
######################################
set(temp "#ifndef LMP_INSTALLED_PKGS_H\n#define LMP_INSTALLED_PKGS_H\n")
set(temp "${temp}const char * LAMMPS_NS::LAMMPS::installed_packages[] = {\n")
-foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
+set(temp_PKG_LIST ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
+list(SORT temp_PKG_LIST)
+foreach(PKG ${temp_PKG_LIST})
if(PKG_${PKG})
set(temp "${temp} \"${PKG}\",\n")
endif()
@@ -1086,14 +1193,14 @@ if(BUILD_LIB)
if(LAMMPS_DEPS)
add_dependencies(lammps ${LAMMPS_DEPS})
endif()
- set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LIB_SUFFIX})
- 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${LIB_SUFFIX}.pc @ONLY)
- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
- endif()
+ set_target_properties(lammps PROPERTIES OUTPUT_NAME lammps${LAMMPS_LIB_SUFFIX})
+ 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_LIB_SUFFIX}.pc @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_LIB_SUFFIX}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+ configure_file(FindLAMMPS.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/FindLAMMPS${LAMMPS_LIB_SUFFIX}.cmake DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake/Module)
else()
list(APPEND LMP_SOURCES ${LIB_SOURCES})
endif()
@@ -1109,10 +1216,11 @@ if(BUILD_EXE)
endif()
endif()
- set_target_properties(lmp PROPERTIES OUTPUT_NAME lmp${LAMMPS_MACHINE})
+ set_target_properties(lmp PROPERTIES OUTPUT_NAME ${LAMMPS_BINARY})
install(TARGETS lmp DESTINATION ${CMAKE_INSTALL_BINDIR})
+ install(FILES ${LAMMPS_DOC_DIR}/lammps.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 RENAME ${LAMMPS_BINARY}.1)
if(ENABLE_TESTING)
- add_test(ShowHelp lmp${LAMMPS_MACHINE} -help)
+ add_test(ShowHelp ${LAMMPS_BINARY} -help)
endif()
endif()
@@ -1180,7 +1288,7 @@ endif()
# Install potential files in data directory
###############################################################################
set(LAMMPS_POTENTIALS_DIR ${CMAKE_INSTALL_FULL_DATADIR}/lammps/potentials)
-install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials DESTINATION ${CMAKE_INSTALL_DATADIR}/lammps/potentials)
+install(DIRECTORY ${LAMMPS_SOURCE_DIR}/../potentials/ DESTINATION ${LAMMPS_POTENTIALS_DIR})
configure_file(etc/profile.d/lammps.sh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.sh @ONLY)
configure_file(etc/profile.d/lammps.csh.in ${CMAKE_BINARY_DIR}/etc/profile.d/lammps.csh @ONLY)
@@ -1222,7 +1330,7 @@ endif()
###############################################################################
# Print package summary
###############################################################################
-foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES})
+foreach(PKG ${DEFAULT_PACKAGES} ${ACCEL_PACKAGES} ${OTHER_PACKAGES})
if(PKG_${PKG})
message(STATUS "Building package: ${PKG}")
endif()
diff --git a/cmake/FindLAMMPS.cmake.in b/cmake/FindLAMMPS.cmake.in
new file mode 100644
index 0000000000..586df83c2d
--- /dev/null
+++ b/cmake/FindLAMMPS.cmake.in
@@ -0,0 +1,48 @@
+# - Find liblammps
+# Find the native liblammps headers and libraries.
+#
+# The following variables will set:
+# LAMMPS_INCLUDE_DIRS - where to find lammps/library.h, etc.
+# LAMMPS_LIBRARIES - List of libraries when using lammps.
+# LAMMPS_API_DEFINES - lammps library api defines
+# LAMMPS_VERSION - lammps library version
+# LAMMPS_FOUND - True if liblammps found.
+#
+# In addition a LAMMPS::LAMMPS imported target is getting created.
+#
+# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+# http://lammps.sandia.gov, Sandia National Laboratories
+# Steve Plimpton, sjplimp@sandia.gov
+#
+# Copyright (2003) Sandia Corporation. Under the terms of Contract
+# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+# certain rights in this software. This software is distributed under
+# the GNU General Public License.
+#
+# See the README file in the top-level LAMMPS directory.
+#
+
+find_package(PkgConfig)
+
+pkg_check_modules(PC_LAMMPS liblammps@LAMMPS_LIB_SUFFIX@)
+find_path(LAMMPS_INCLUDE_DIR lammps/library.h HINTS ${PC_LAMMPS_INCLUDE_DIRS} @CMAKE_INSTALL_FULL_INCLUDEDIR@)
+
+set(LAMMPS_VERSION @LAMMPS_VERSION@)
+set(LAMMPS_API_DEFINES @LAMMPS_API_DEFINES@)
+
+find_library(LAMMPS_LIBRARY NAMES lammps@LAMMPS_LIB_SUFFIX@ HINTS ${PC_LAMMPS_LIBRARY_DIRS} @CMAKE_INSTALL_FULL_LIBDIR@)
+
+set(LAMMPS_INCLUDE_DIRS "${LAMMPS_INCLUDE_DIR}")
+set(LAMMPS_LIBRARIES "${LAMMPS_LIBRARY}")
+
+include(FindPackageHandleStandardArgs)
+# handle the QUIETLY and REQUIRED arguments and set LAMMPS_FOUND to TRUE
+# if all listed variables are TRUE
+find_package_handle_standard_args(LAMMPS REQUIRED_VARS LAMMPS_LIBRARY LAMMPS_INCLUDE_DIR VERSION_VAR LAMMPS_VERSION)
+
+mark_as_advanced(LAMMPS_INCLUDE_DIR LAMMPS_LIBRARY)
+
+if(LAMMPS_FOUND AND NOT TARGET LAMMPS::LAMMPS)
+ add_library(LAMMPS::LAMMPS UNKNOWN IMPORTED)
+ set_target_properties(LAMMPS::LAMMPS PROPERTIES IMPORTED_LOCATION "${LAMMPS_LIBRARY}" INTERFACE_INCLUDE_DIRECTORIES "${LAMMPS_INCLUDE_DIR}" INTERFACE_COMPILE_DEFINITIONS "${LAMMPS_API_DEFINES}")
+endif()
diff --git a/cmake/Modules/FindZMQ.cmake b/cmake/Modules/FindZMQ.cmake
new file mode 100644
index 0000000000..608ccda777
--- /dev/null
+++ b/cmake/Modules/FindZMQ.cmake
@@ -0,0 +1,8 @@
+find_path(ZMQ_INCLUDE_DIR zmq.h)
+find_library(ZMQ_LIBRARY NAMES zmq)
+
+set(ZMQ_LIBRARIES ${ZMQ_LIBRARY})
+set(ZMQ_INCLUDE_DIRS ${ZMQ_INCLUDE_DIR})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(ZMQ DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR)
diff --git a/cmake/Modules/StyleHeaderUtils.cmake b/cmake/Modules/StyleHeaderUtils.cmake
index 29ea372597..2b00a81c8d 100644
--- a/cmake/Modules/StyleHeaderUtils.cmake
+++ b/cmake/Modules/StyleHeaderUtils.cmake
@@ -48,8 +48,13 @@ function(CreateStyleHeader path filename)
set(temp "")
if(ARGC GREATER 2)
list(REMOVE_AT ARGV 0 1)
+ set(header_list)
foreach(FNAME ${ARGV})
get_filename_component(FNAME ${FNAME} NAME)
+ list(APPEND header_list ${FNAME})
+ endforeach()
+ list(SORT header_list)
+ foreach(FNAME ${header_list})
set(temp "${temp}#include \"${FNAME}\"\n")
endforeach()
endif()
diff --git a/cmake/pkgconfig/liblammps.pc.in b/cmake/pkgconfig/liblammps.pc.in
index 400b7593cf..7850972f3b 100644
--- a/cmake/pkgconfig/liblammps.pc.in
+++ b/cmake/pkgconfig/liblammps.pc.in
@@ -4,15 +4,15 @@
# 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@
+prefix=@CMAKE_INSTALL_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:
+Version: @LAMMPS_VERSION@
Requires:
-Libs: -L${libdir} -llammps@LIB_SUFFIX@@
+Libs: -L${libdir} -llammps@LAMMPS_LIB_SUFFIX@
Libs.private: -lm
Cflags: -I${includedir} @LAMMPS_API_DEFINES@
diff --git a/doc/Makefile b/doc/Makefile
index 81f3623499..9069fa1d60 100644
--- a/doc/Makefile
+++ b/doc/Makefile
@@ -31,7 +31,7 @@ SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocess
SOURCES=$(filter-out $(wildcard src/lammps_commands*.txt) src/lammps_support.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
+.PHONY: help clean-all clean epub mobi html pdf old venv spelling anchor_check
# ------------------------------------------
@@ -42,6 +42,8 @@ help:
@echo " old create old-style HTML doc pages in old dir"
@echo " fetch fetch HTML and PDF files from LAMMPS web site"
@echo " epub create ePUB format manual for e-book readers"
+ @echo " mobi convert ePUB to MOBI format manual for e-book readers (e.g. Kindle)"
+ @echo " (requires ebook-convert tool from calibre)"
@echo " clean remove all intermediate RST files"
@echo " clean-all reset the entire build environment"
@echo " txt2html build txt2html tool"
@@ -106,6 +108,11 @@ epub: $(OBJECTS)
@rm -rf epub
@echo "Build finished. The ePUB manual file is created."
+mobi: epub
+ @rm -f LAMMPS.mobi
+ @ebook-convert LAMMPS.epub LAMMPS.mobi
+ @echo "Conversion finished. The MOBI manual file is created."
+
pdf: utils/txt2html/txt2html.exe
@(\
set -e; \
diff --git a/doc/lammps.1 b/doc/lammps.1
new file mode 100644
index 0000000000..d49650bfaa
--- /dev/null
+++ b/doc/lammps.1
@@ -0,0 +1,45 @@
+.TH LAMMPS "2018-08-22"
+.SH NAME
+.B LAMMPS
+\- Molecular Dynamics Simulator.
+
+.SH SYNOPSIS
+.B lmp
+-in in.file
+
+or
+
+mpirun \-np 2
+.B lmp
+-in in.file
+
+.SH DESCRIPTION
+.B LAMMPS
+LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale
+Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for soft
+materials (biomolecules, polymers) and solid-state materials (metals,
+semiconductors) and coarse-grained or mesoscopic systems. It can be used to
+model atoms or, more generically, as a parallel particle simulator at the
+atomic, meso, or continuum scale.
+
+See http://lammps.sandia.gov/ for documentation.
+
+.SH OPTIONS
+See https://lammps.sandia.gov/doc/Run_options.html for details on
+command-line options.
+
+.SH COPYRIGHT
+© 2003--2018 Sandia Corporation
+
+This package is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This package is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL-2'.
diff --git a/doc/src/Build_basics.txt b/doc/src/Build_basics.txt
index cee78aced3..6924e73417 100644
--- a/doc/src/Build_basics.txt
+++ b/doc/src/Build_basics.txt
@@ -61,7 +61,7 @@ library files. Failing this, these 3 variables can be used to specify
where the mpi.h file (MPI_INC), and the MPI library files (MPI_PATH)
are found, and the name of the library files (MPI_LIB).
-For a serial build, you need to specify the 3 varaibles, as shown
+For a serial build, you need to specify the 3 variables, as shown
above.
For a serial LAMMPS build, use the dummy MPI library provided in
@@ -145,7 +145,7 @@ By default CMake will use a compiler it finds and it will add
optimization flags appropriate to that compiler and any "accelerator
packages"_Speed_packages.html you have included in the build.
-You can tell CMake to look for a specific compiler with these varaible
+You can tell CMake to look for a specific compiler with these variable
settings. Likewise you can specify the FLAGS variables if you want to
experiment with alternate optimization flags. You should specify all
3 compilers, so that the small number of LAMMPS source files written
@@ -216,8 +216,8 @@ LAMMPS can be built as either an executable or as a static or shared
library. The LAMMPS library can be called from another application or
a scripting language. See the "Howto couple"_Howto_couple.html doc
page for more info on coupling LAMMPS to other codes. See the
-"Python"_Python doc page for more info on wrapping and running LAMMPS
-from Python via its library interface.
+"Python"_Python_head.html doc page for more info on wrapping and
+running LAMMPS from Python via its library interface.
[CMake variables]:
@@ -247,7 +247,7 @@ Note that for a shared library to be usable by a calling program, all
the auxiliary libraries it depends on must also exist as shared
libraries. This will be the case for libraries included with LAMMPS,
such as the dummy MPI library in src/STUBS or any package libraries in
-the lib/packages directroy, since they are always built as shared
+the lib/packages directory, since they are always built as shared
libraries using the -fPIC switch. However, if a library like MPI or
FFTW does not exist as a shared library, the shared library build will
generate an error. This means you will need to install a shared
@@ -299,7 +299,7 @@ Install LAMMPS after a build :h4,link(install)
After building LAMMPS, you may wish to copy the LAMMPS executable of
library, along with other LAMMPS files (library header, doc files) to
a globally visible place on your system, for others to access. Note
-that you may need super-user priveleges (e.g. sudo) if the directory
+that you may need super-user privileges (e.g. sudo) if the directory
you want to copy files to is protected.
[CMake variable]:
diff --git a/doc/src/Build_cmake.txt b/doc/src/Build_cmake.txt
index 08c1c72180..f8b52056fc 100644
--- a/doc/src/Build_cmake.txt
+++ b/doc/src/Build_cmake.txt
@@ -40,7 +40,7 @@ executable called "lmp" and a library called "liblammps.a" in the
If your machine has multiple CPU cores (most do these days), using a
command like "make -jN" (with N being the number of available local
CPU cores) can be much faster. If you plan to do development on
-LAMMPS or need to recompile LAMMPS repeatedly, installation of the
+LAMMPS or need to re-compile LAMMPS repeatedly, installation of the
ccache (= Compiler Cache) software may speed up compilation even more.
After compilation, you can optionally copy the LAMMPS executable and
@@ -50,7 +50,7 @@ make install # optional, copy LAMMPS executable & library elsewhere :pre
:line
-There are 3 variants of CMake: a command-line verison (cmake), a text mode
+There are 3 variants of CMake: a command-line version (cmake), a text mode
UI version (ccmake), and a graphical GUI version (cmake-GUI). You can use
any of them interchangeably to configure and create the LAMMPS build
environment. On Linux all the versions produce a Makefile as their
@@ -188,7 +188,7 @@ module list # is a cmake module already loaded?
module avail # is a cmake module available?
module load cmake3 # load cmake module with appropriate name :pre
-Most Linux distributions offer precompiled cmake packages through
+Most Linux distributions offer pre-compiled cmake packages through
their package management system. If you do not have CMake or a new
enough version, you can download the latest version at
"https://cmake.org/download/"_https://cmake.org/download/.
diff --git a/doc/src/Build_extras.txt b/doc/src/Build_extras.txt
index 2fc0785227..fb96699743 100644
--- a/doc/src/Build_extras.txt
+++ b/doc/src/Build_extras.txt
@@ -31,6 +31,7 @@ This is the list of packages that may require additional steps.
"KOKKOS"_#kokkos,
"LATTE"_#latte,
"MEAM"_#meam,
+"MESSAGE"_#message,
"MSCG"_#mscg,
"OPT"_#opt,
"POEMS"_#poems,
@@ -341,7 +342,7 @@ NOTE: the use of the MEAM package is discouraged, as it has been
superseded by the USER-MEAMC package, which is a direct translation of
the Fortran code in the MEAM library to C++. The code in USER-MEAMC
should be functionally equivalent to the MEAM package, fully supports
-use of "pair_style hybrid"_pair_hybrid.html (the MEAM packaged doesn
+use of "pair_style hybrid"_pair_hybrid.html (the MEAM package does
not), and has optimizations that make it significantly faster than the
MEAM package.
@@ -362,6 +363,10 @@ make lib-meam args="-m mpi" # build with default Fortran compiler compatible
make lib-meam args="-m serial" # build with compiler compatible with "make serial" (GNU Fortran)
make lib-meam args="-m ifort" # build with Intel Fortran compiler using Makefile.ifort :pre
+NOTE: You should test building the MEAM library with both the Intel
+and GNU compilers to see if a simulation runs faster with one versus
+the other on your system.
+
The build should produce two files: lib/meam/libmeam.a and
lib/meam/Makefile.lammps. The latter is copied from an existing
Makefile.lammps.* and has settings needed to link C++ (LAMMPS) with
@@ -374,6 +379,35 @@ file.
:line
+MESSAGE package :h4,link(message)
+
+This package can optionally include support for messaging via sockets,
+using the open-source "ZeroMQ library"_http://zeromq.org, which must
+be installed on your system.
+
+[CMake build]:
+
+-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
+
+[Traditional make]:
+
+Before building LAMMPS, you must build the CSlib library in
+lib/message. You can build the CSlib library manually if you prefer;
+follow the instructions in lib/message/README. You can also do it in
+one step from the lammps/src dir, using a command like these, which
+simply invoke the lib/message/Install.py script with the specified args:
+
+make lib-message # print help message
+make lib-message args="-m -z" # build with MPI and socket (ZMQ) support
+make lib-message args="-s" # build as serial lib with no ZMQ support
+
+The build should produce two files: lib/message/cslib/src/libmessage.a
+and lib/message/Makefile.lammps. The latter is copied from an
+existing Makefile.lammps.* and has settings to link with the ZeroMQ
+library if requested in the build.
+
+:line
+
MSCG package :h4,link(mscg)
To build with this package, you must download and build the MS-CG
@@ -471,7 +505,7 @@ lib/python/README for more details.
-D PYTHON_EXECUTABLE=path # path to Python executable to use :pre
-Without this setting, CMake will ues the default Python on your
+Without this setting, CMake will guess the default Python on your
system. To use a different Python version, you can either create a
virtualenv, activate it and then run cmake. Or you can set the
PYTHON_EXECUTABLE variable to specify which Python interpreter should
@@ -688,7 +722,7 @@ the HDF5 library.
No additional settings are needed besides "-D PKG_USER-H5MD=yes".
-This should autodetect the H5MD library on your system. Several
+This should auto-detect the H5MD library on your system. Several
advanced CMake H5MD options exist if you need to specify where it is
installed. Use the ccmake (terminal window) or cmake-gui (graphical)
tools to see these options and set them interactively from their user
@@ -778,7 +812,7 @@ on your system.
No additional settings are needed besides "-D PKG_USER-NETCDF=yes".
-This should autodetect the NETCDF library if it is installed on your
+This should auto-detect the NETCDF library if it is installed on your
system at standard locations. Several advanced CMake NETCDF options
exist if you need to specify where it was installed. Use the ccmake
(terminal window) or cmake-gui (graphical) tools to see these options
@@ -945,7 +979,7 @@ Eigen3 is a template library, so you do not need to build it.
-D EIGEN3_INCLUDE_DIR=path # path to Eigen library (only needed if a custom location) :pre
If DOWNLOAD_EIGEN3 is set, the Eigen3 library will be downloaded and
-inside the CMake build directory. If the Eig3n3 library is already on
+inside the CMake build directory. If the Eigen3 library is already on
your system (in a location CMake cannot find it), EIGEN3_INCLUDE_DIR
is the directory the Eigen3++ include file is in.
@@ -976,7 +1010,7 @@ your system.
No additional settings are needed besides "-D PKG_USER-VTK=yes".
-This should autodetect the VTK library if it is installed on your
+This should auto-detect the VTK library if it is installed on your
system at standard locations. Several advanced VTK options exist if
you need to specify where it was installed. Use the ccmake (terminal
window) or cmake-gui (graphical) tools to see these options and set
diff --git a/doc/src/Build_make.txt b/doc/src/Build_make.txt
index c00ce1f420..ad18695e46 100644
--- a/doc/src/Build_make.txt
+++ b/doc/src/Build_make.txt
@@ -35,16 +35,16 @@ This initial compilation can take a long time, since LAMMPS is a large
project with many features. If your machine has multiple CPU cores
(most do these days), using a command like "make -jN mpi" (with N =
the number of available CPU cores) can be much faster. If you plan to
-do development on LAMMPS or need to recompile LAMMPS repeatedly, the
+do development on LAMMPS or need to re-compile LAMMPS repeatedly, the
installation of the ccache (= Compiler Cache) software may speed up
compilation even more.
After the initial build, whenever you edit LAMMPS source files, or add
or remove new files to the source directory (e.g. by installing or
-uninstalling packages), you must recompile and relink the LAMMPS
+uninstalling packages), you must re-compile and relink the LAMMPS
executable with the same "make" command. This makefiles dependencies
should insure that only the subset of files that need to be are
-recompiled.
+re-compiled.
NOTE: When you build LAMMPS for the first time, a long list of *.d
files will be printed out rapidly. This is not an error; it is the
@@ -71,8 +71,8 @@ Makefiles you may wish to try include these (some require a package
first be installed). Many of these include specific compiler flags
for optimized performance. Please note, however, that some of these
customized machine Makefile are contributed by users. Since both
-compilers, OS configs, and LAMMPS itself keep changing, their settings
-may become outdated:
+compilers, OS configurations, and LAMMPS itself keep changing, their
+settings may become outdated:
make mac # build serial LAMMPS on a Mac
make mac_mpi # build parallel LAMMPS on a Mac
diff --git a/doc/src/Build_package.txt b/doc/src/Build_package.txt
index fab987ea0d..285220e6c6 100644
--- a/doc/src/Build_package.txt
+++ b/doc/src/Build_package.txt
@@ -42,6 +42,7 @@ packages:
"KOKKOS"_Build_extras.html#kokkos,
"LATTE"_Build_extras.html#latte,
"MEAM"_Build_extras.html#meam,
+"MESSAGE"_#Build_extras.html#message,
"MSCG"_Build_extras.html#mscg,
"OPT"_Build_extras.html#opt,
"POEMS"_Build_extras.html#poems,
diff --git a/doc/src/Build_settings.txt b/doc/src/Build_settings.txt
index 773217e3a0..500130ecee 100644
--- a/doc/src/Build_settings.txt
+++ b/doc/src/Build_settings.txt
@@ -80,8 +80,8 @@ per-timestep CPU cost, FFTs are only a portion of long-range
Coulombics, and 1d FFTs are only a portion of the FFT cost (parallel
communication can be costly). A breakdown of these timings is printed
to the screen at the end of a run using the "kspace_style
-pppm"_kspace_style.html command. The "Run output"_doc page gives more
-details.
+pppm"_kspace_style.html command. The "Run output"_Run_output.html
+doc page gives more details.
FFTW is a fast, portable FFT library that should also work on any
platform and can be faster than the KISS FFT library. You can
@@ -101,7 +101,7 @@ Performing 3d FFTs in parallel can be time consuming due to data
access and required communication. This cost can be reduced by
performing single-precision FFTs instead of double precision. Single
precision means the real and imaginary parts of a complex datum are
-4-byte floats. Double precesion means they are 8-byte doubles. Note
+4-byte floats. Double precision means they are 8-byte doubles. Note
that Fourier transform and related PPPM operations are somewhat less
sensitive to floating point truncation errors and thus the resulting
error is less than the difference in precision. Using the -DFFT_SINGLE
@@ -193,7 +193,7 @@ Output of JPG, PNG, and movie files :h4,link(graphics)
The "dump image"_dump_image.html command has options to output JPEG or
PNG image files. Likewise the "dump movie"_dump_image.html command
-ouputs movie files in MPEG format. Using these options requires the
+outputs movie files in MPEG format. Using these options requires the
following settings:
[CMake variables]:
@@ -206,7 +206,7 @@ following settings:
# default = yes if CMake can find ffmpeg, else no :pre
Usually these settings are all that is needed. If CMake cannot find
-the graphics header, library, executuable files, you can set these
+the graphics header, library, executable files, you can set these
variables:
-D JPEG_INCLUDE_DIR=path # path to jpeglib.h header file
diff --git a/doc/src/Build_windows.txt b/doc/src/Build_windows.txt
index da257ccbc8..0caad589fb 100644
--- a/doc/src/Build_windows.txt
+++ b/doc/src/Build_windows.txt
@@ -84,7 +84,7 @@ with the cross-compiler environment on Fedora machines.
Please keep in mind, though, that this only applies to compiling LAMMPS.
Whether the resulting binaries do work correctly is no tested by the
LAMMPS developers. We instead rely on the feedback of the users
-of these precompiled LAMMPS packages for Windows. We will try to resolve
+of these pre-compiled LAMMPS packages for Windows. We will try to resolve
issues to the best of our abilities if we become aware of them. However
this is subject to time constraints and focus on HPC platforms.
diff --git a/doc/src/Commands_all.txt b/doc/src/Commands_all.txt
index 13db1272b9..6f54681342 100644
--- a/doc/src/Commands_all.txt
+++ b/doc/src/Commands_all.txt
@@ -19,7 +19,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
All commands :h3
-An alphabetic list of all LAMMPS commmands.
+An alphabetic list of all LAMMPS commands.
"angle_coeff"_angle_coeff.html,
"angle_style"_angle_style.html,
@@ -71,6 +71,7 @@ An alphabetic list of all LAMMPS commmands.
"lattice"_lattice.html,
"log"_log.html,
"mass"_mass.html,
+"message"_message.html,
"minimize"_minimize.html,
"min_modify"_min_modify.html,
"min_style"_min_style.html,
@@ -103,6 +104,7 @@ An alphabetic list of all LAMMPS commmands.
"restart"_restart.html,
"run"_run.html,
"run_style"_run_style.html,
+"server"_server.html,
"set"_set.html,
"shell"_shell.html,
"special_bonds"_special_bonds.html,
diff --git a/doc/src/Commands_bond.txt b/doc/src/Commands_bond.txt
index 48069d3120..0cf433d53a 100644
--- a/doc/src/Commands_bond.txt
+++ b/doc/src/Commands_bond.txt
@@ -95,7 +95,7 @@ OPT.
"helix (o)"_dihedral_helix.html,
"multi/harmonic (o)"_dihedral_multi_harmonic.html,
"nharmonic (o)"_dihedral_nharmonic.html,
-"opls (iko)"_dihedral_opls.htm;,
+"opls (iko)"_dihedral_opls.html,
"quadratic (o)"_dihedral_quadratic.html,
"spherical (o)"_dihedral_spherical.html,
"table (o)"_dihedral_table.html,
diff --git a/doc/src/Commands_pair.txt b/doc/src/Commands_pair.txt
index eaf2720613..33890df1fe 100644
--- a/doc/src/Commands_pair.txt
+++ b/doc/src/Commands_pair.txt
@@ -33,6 +33,7 @@ OPT.
"agni (o)"_pair_agni.html,
"airebo (oi)"_pair_airebo.html,
"airebo/morse (oi)"_pair_airebo.html,
+"atm"_pair_atm.html,
"awpmd/cut"_pair_awpmd.html,
"beck (go)"_pair_beck.html,
"body/nparticle"_pair_body_nparticle.html,
diff --git a/doc/src/Commands_parse.txt b/doc/src/Commands_parse.txt
index cbe2261986..1d7c754fa7 100644
--- a/doc/src/Commands_parse.txt
+++ b/doc/src/Commands_parse.txt
@@ -14,7 +14,7 @@ LAMMPS commands are case sensitive. Command names are lower-case, as
are specified command arguments. Upper case letters may be used in
file names or user-chosen ID strings.
-Here are 6 rulse for how each line in the input script is parsed by
+Here are 6 rules for how each line in the input script is parsed by
LAMMPS:
(1) If the last printable character on the line is a "&" character,
@@ -71,7 +71,7 @@ floating-point value. The format string is used to output the result
of the variable expression evaluation. If a format string is not
specified a high-precision "%.20g" is used as the default.
-This can be useful for formatting print output to a desired precion:
+This can be useful for formatting print output to a desired precision:
print "Final energy per atom: $(pe/atoms:%10.3f) eV/atom" :pre
diff --git a/doc/src/Eqs/pair_atm.jpg b/doc/src/Eqs/pair_atm.jpg
new file mode 100644
index 0000000000..d2e6d704e9
Binary files /dev/null and b/doc/src/Eqs/pair_atm.jpg differ
diff --git a/doc/src/Eqs/pair_atm.tex b/doc/src/Eqs/pair_atm.tex
new file mode 100644
index 0000000000..fce1db99b8
--- /dev/null
+++ b/doc/src/Eqs/pair_atm.tex
@@ -0,0 +1,9 @@
+\documentclass[12pt]{article}
+
+\begin{document}
+
+\begin{equation}
+E=\nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3}
+\end{equation}
+
+\end{document}
diff --git a/doc/src/Errors_messages.txt b/doc/src/Errors_messages.txt
index d279b5e975..a74182967c 100644
--- a/doc/src/Errors_messages.txt
+++ b/doc/src/Errors_messages.txt
@@ -743,7 +743,7 @@ Self-explanatory. :dd
Self-explanatory. :dd
-{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and recompile)} :dt
+{Cannot (yet) use single precision with MSM (remove -DFFT_SINGLE from Makefile and re-compile)} :dt
Single precision cannot be used with MSM. :dd
@@ -5078,7 +5078,7 @@ Self-explanatory. :dd
Occurs when number of neighbor atoms for an atom increased too much
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
-recompile. :dd
+re-compile. :dd
{Fix qeq/point requires atom attribute q} :dt
@@ -5092,7 +5092,7 @@ Self-explanatory. :dd
Occurs when number of neighbor atoms for an atom increased too much
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
-recompile. :dd
+re-compile. :dd
{Fix qeq/shielded requires atom attribute q} :dt
@@ -5110,7 +5110,7 @@ Self-explanatory. :dd
Occurs when number of neighbor atoms for an atom increased too much
during a run. Increase SAFE_ZONE and MIN_CAP in fix_qeq.h and
-recompile. :dd
+re-compile. :dd
{Fix qeq/slater requires atom attribute q} :dt
@@ -5541,7 +5541,7 @@ See the package gpu command. :dd
{GPUs are requested but Kokkos has not been compiled for CUDA} :dt
-Recompile Kokkos with CUDA support to use GPUs. :dd
+Re-compile Kokkos with CUDA support to use GPUs. :dd
{Ghost velocity forward comm not yet implemented with Kokkos} :dt
diff --git a/doc/src/Errors_warnings.txt b/doc/src/Errors_warnings.txt
index dd3402ba86..98b66f2aa5 100644
--- a/doc/src/Errors_warnings.txt
+++ b/doc/src/Errors_warnings.txt
@@ -13,7 +13,7 @@ This is an alphabetic list of the WARNING messages LAMMPS prints out
and the reason why. If the explanation here is not sufficient, the
documentation for the offending command may help. Warning messages
also list the source file and line number where the warning was
-generated. For example, a message lile this:
+generated. For example, a message like this:
WARNING: Bond atom missing in box size check (domain.cpp:187) :pre
diff --git a/doc/src/Howto.txt b/doc/src/Howto.txt
index 438ea561a1..730b492699 100644
--- a/doc/src/Howto.txt
+++ b/doc/src/Howto.txt
@@ -54,6 +54,7 @@ General howto :h3
Howto_replica
Howto_library
Howto_couple
+ Howto_client_server
END_RST -->
@@ -64,7 +65,8 @@ END_RST -->
"Run multiple simulations from one input script"_Howto_multiple.html
"Multi-replica simulations"_Howto_replica.html
"Library interface to LAMMPS"_Howto_library.html
-"Couple LAMMPS to other codes"_Howto_couple.html :all(b)
+"Couple LAMMPS to other codes"_Howto_couple.html
+"Using LAMMPS in client/server mode"_Howto_client_server.html :all(b)
diff --git a/doc/src/Howto_barostat.txt b/doc/src/Howto_barostat.txt
index 7c3db89152..3323334600 100644
--- a/doc/src/Howto_barostat.txt
+++ b/doc/src/Howto_barostat.txt
@@ -64,11 +64,11 @@ Thermodynamic output, which can be setup via the
"thermo_style"_thermo_style.html command, often includes pressure
values. As explained on the doc page for the
"thermo_style"_thermo_style.html command, the default pressure is
-setup by the thermo command itself. It is NOT the presure associated
+setup by the thermo command itself. It is NOT the pressure associated
with any barostatting fix you have defined or with any compute you
-have defined that calculates a presure. The doc pages for the
+have defined that calculates a pressure. The doc pages for the
barostatting fixes explain the ID of the pressure compute they create.
-Thus if you want to view these pressurse, you need to specify them
+Thus if you want to view these pressures, you need to specify them
explicitly via the "thermo_style custom"_thermo_style.html command.
Or you can use the "thermo_modify"_thermo_modify.html command to
re-define what pressure compute is used for default thermodynamic
diff --git a/doc/src/Howto_body.txt b/doc/src/Howto_body.txt
index 3535349b46..3e7db9bc8e 100644
--- a/doc/src/Howto_body.txt
+++ b/doc/src/Howto_body.txt
@@ -337,7 +337,7 @@ the sphere that surrounds each vertex. The diameter value can be
different for each body particle. These floating-point values can be
listed on as many lines as you wish; see the
"read_data"_read_data.html command for more details. Because the
-maxmimum vertices per face is hard-coded to be 4
+maximum number of vertices per face is hard-coded to be 4
(i.e. quadrilaterals), faces with more than 4 vertices need to be
split into triangles or quadrilaterals. For triangular faces, the
last vertex index should be set to -1.
diff --git a/doc/src/Howto_client_server.txt b/doc/src/Howto_client_server.txt
new file mode 100644
index 0000000000..714c23f066
--- /dev/null
+++ b/doc/src/Howto_client_server.txt
@@ -0,0 +1,131 @@
+"Higher level section"_Howto.html - "LAMMPS WWW Site"_lws - "LAMMPS
+Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+Using LAMMPS in client/server mode
+
+Client/server coupling of two codes is where one code is the "client"
+and sends request messages to a "server" code. The server responds to
+each request with a reply message. This enables the two codes to work
+in tandem to perform a simulation. LAMMPS can act as either a client
+or server code.
+
+Some advantages of client/server coupling are that the two codes run
+as stand-alone executables; they are not linked together. Thus
+neither code needs to have a library interface. This often makes it
+easier to run the two codes on different numbers of processors. If a
+message protocol (format and content) is defined for a particular kind
+of simulation, then in principle any code that implements the
+client-side protocol can be used in tandem with any code that
+implements the server-side protocol, without the two codes needing to
+know anything more specific about each other.
+
+A simple example of client/server coupling is where LAMMPS is the
+client code performing MD timestepping. Each timestep it sends a
+message to a server quantum code containing current coords of all the
+atoms. The quantum code computes energy and forces based on the
+coords. It returns them as a message to LAMMPS, which completes the
+timestep.
+
+Alternate methods for code coupling with LAMMPS are described on
+the "Howto couple"_Howto_couple.html doc page.
+
+LAMMPS support for client/server coupling is in its "MESSAGE
+package"_Packages_details.html#PKG-MESSAGE which implements several
+commands that enable LAMMPS to act as a client or server, as discussed
+below. The MESSAGE package also wraps a client/server library called
+CSlib which enables two codes to exchange messages in different ways,
+either via files, sockets, or MPI. The CSlib is provided with LAMMPS
+in the lib/message dir. The CSlib has its own
+"website"_http://cslib.sandia.gov with documentation and test
+programs.
+
+NOTE: For client/server coupling to work between LAMMPS and another
+code, the other code also has to use the CSlib. This can sometimes be
+done without any modifications to the other code by simply wrapping it
+with a Python script that exchanges CSlib messages with LAMMPS and
+prepares input for or processes output from the other code. The other
+code also has to implement a matching protocol for the format and
+content of messages that LAMMPS exchanges with it.
+
+These are the commands currently in the MESSAGE package for two
+protocols, MD and MC (Monte Carlo). New protocols can easily be
+defined and added to this directory, where LAMMPS acts as either the
+client or server.
+
+"message"_message.html
+"fix client md"_fix_client_md.html = LAMMPS is a client for running MD
+"server md"_server_md.html = LAMMPS is a server for computing MD forces
+"server mc"_server_mc.html = LAMMPS is a server for computing a Monte Carlo energy
+
+The server doc files give details of the message protocols
+for data that is exchanged bewteen the client and server.
+
+These example directories illustrate how to use LAMMPS as either a
+client or server code:
+
+examples/message
+examples/COUPLE/README
+examples/COUPLE/lammps_mc
+examples/COUPLE/lammps_vasp :ul
+
+The examples/message dir couples a client instance of LAMMPS to a
+server instance of LAMMPS.
+
+The lammps_mc dir shows how to couple LAMMPS as a server to a simple
+Monte Carlo client code as the driver.
+
+The lammps_vasp dir shows how to couple LAMMPS as a client code
+running MD timestepping to VASP acting as a server providing quantum
+DFT forces, thru a Python wrapper script on VASP.
+
+Here is how to launch a client and server code together for any of the
+4 modes of message exchange that the "message"_message.html command
+and the CSlib support. Here LAMMPS is used as both the client and
+server code. Another code could be subsitituted for either.
+
+The examples below show launching both codes from the same window (or
+batch script), using the "&" character to launch the first code in the
+background. For all modes except {mpi/one}, you could also launch the
+codes in separate windows on your desktop machine. It does not
+matter whether you launch the client or server first.
+
+In these examples either code can be run on one or more processors.
+If running in a non-MPI mode (file or zmq) you can launch a code on a
+single processor without using mpirun.
+
+IMPORTANT: If you run in mpi/two mode, you must launch both codes via
+mpirun, even if one or both of them runs on a single processor. This
+is so that MPI can figure out how to connect both MPI processes
+together to exchange MPI messages between them.
+
+For message exchange in {file}, {zmq}, or {mpi/two} modes:
+
+% mpirun -np 1 lmp_mpi -log log.client < in.client &
+% mpirun -np 2 lmp_mpi -log log.server < in.server :pre
+
+% mpirun -np 4 lmp_mpi -log log.client < in.client &
+% mpirun -np 1 lmp_mpi -log log.server < in.server :pre
+
+% mpirun -np 2 lmp_mpi -log log.client < in.client &
+% mpirun -np 4 lmp_mpi -log log.server < in.server :pre
+
+For message exchange in {mpi/one} mode:
+
+Launch both codes in a single mpirun command:
+
+mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -log log.server
+
+The two -np values determine how many procs the client and the server
+run on.
+
+A LAMMPS executable run in this manner must use the -mpicolor color
+command-line option as their its option, where color is an integer
+label that will be used to distinguish one executable from another in
+the multiple executables that the mpirun command launches. In this
+example the client was colored with a 0, and the server with a 1.
diff --git a/doc/src/Howto_couple.txt b/doc/src/Howto_couple.txt
index d7b4924d8c..0214db1ece 100644
--- a/doc/src/Howto_couple.txt
+++ b/doc/src/Howto_couple.txt
@@ -16,10 +16,12 @@ atoms and pass those forces to LAMMPS. Or a continuum finite element
nodal points, compute a FE solution, and return interpolated forces on
MD atoms.
-LAMMPS can be coupled to other codes in at least 3 ways. Each has
+LAMMPS can be coupled to other codes in at least 4 ways. Each has
advantages and disadvantages, which you'll have to think about in the
context of your application.
+:line
+
(1) Define a new "fix"_fix.html command that calls the other code. In
this scenario, LAMMPS is the driver code. During its timestepping,
the fix is invoked, and can make library calls to the other code,
@@ -32,6 +34,8 @@ LAMMPS.
:link(poems,http://www.rpi.edu/~anderk5/lab)
+:line
+
(2) Define a new LAMMPS command that calls the other code. This is
conceptually similar to method (1), but in this case LAMMPS and the
other code are on a more equal footing. Note that now the other code
@@ -52,6 +56,8 @@ command writes and reads.
See the "Modify command"_Modify_command.html doc page for info on how
to add a new command to LAMMPS.
+:line
+
(3) Use LAMMPS as a library called by another code. In this case the
other code is the driver and calls LAMMPS as needed. Or a wrapper
code could link and call both LAMMPS and another code as libraries.
@@ -102,3 +108,9 @@ on all the processors. Or it might allocate half the processors to
LAMMPS and half to the other code and run both codes simultaneously
before syncing them up periodically. Or it might instantiate multiple
instances of LAMMPS to perform different calculations.
+
+:line
+
+(4) Couple LAMMPS with another code in a client/server mode. This is
+described on the "Howto client/server"_Howto_client_server.html doc
+page.
diff --git a/doc/src/Howto_library.txt b/doc/src/Howto_library.txt
index 741078e7eb..9a9656784c 100644
--- a/doc/src/Howto_library.txt
+++ b/doc/src/Howto_library.txt
@@ -171,16 +171,16 @@ void lammps_create_atoms(void *, int, tagint *, int *, double *, double *,
The gather functions collect peratom info of the requested type (atom
coords, atom types, forces, etc) from all processors, and returns the
-same vector of values to each callling processor. The scatter
+same vector of values to each calling processor. The scatter
functions do the inverse. They distribute a vector of peratom values,
-passed by all calling processors, to invididual atoms, which may be
-owned by different processos.
+passed by all calling processors, to individual atoms, which may be
+owned by different processors.
The lammps_gather_atoms() function does this for all N atoms in the
system, ordered by atom ID, from 1 to N. The
lammps_gather_atoms_concat() function does it for all N atoms, but
simply concatenates the subset of atoms owned by each processor. The
-resulting vector is not ordered by atom ID. Atom IDs can be requetsed
+resulting vector is not ordered by atom ID. Atom IDs can be requested
by the same function if the caller needs to know the ordering. The
lammps_gather_subset() function allows the caller to request values
for only a subset of atoms (identified by ID).
diff --git a/doc/src/Howto_pylammps.txt b/doc/src/Howto_pylammps.txt
index 8be4b66e78..a12bf13f2e 100644
--- a/doc/src/Howto_pylammps.txt
+++ b/doc/src/Howto_pylammps.txt
@@ -73,7 +73,7 @@ that package into your current Python installation.
cd $LAMMPS_DIR/python
python install.py :pre
-NOTE: Recompiling the shared library requires reinstalling the Python package
+NOTE: Recompiling the shared library requires re-installing the Python package
Installation inside of a virtualenv :h5
diff --git a/doc/src/Howto_spherical.txt b/doc/src/Howto_spherical.txt
index 1e737df655..4dfe4e2f6c 100644
--- a/doc/src/Howto_spherical.txt
+++ b/doc/src/Howto_spherical.txt
@@ -159,7 +159,7 @@ ellipsoidal particles:
The advantage of these fixes is that those which thermostat the
particles include the rotational degrees of freedom in the temperature
-calculation and thermostatting. The "fix langevin"_fix_langevin
+calculation and thermostatting. The "fix langevin"_fix_langevin.html
command can also be used with its {omgea} or {angmom} options to
thermostat the rotational degrees of freedom for spherical or
ellipsoidal particles. Other thermostatting fixes only operate on the
diff --git a/doc/src/Howto_spins.txt b/doc/src/Howto_spins.txt
index 1b9adb49a5..b549f99be2 100644
--- a/doc/src/Howto_spins.txt
+++ b/doc/src/Howto_spins.txt
@@ -9,10 +9,10 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
Magnetic spins :h3
-The magnetic spin simualtions are enabled by the SPIN package, whose
+The magnetic spin simulations are enabled by the SPIN package, whose
implementation is detailed in "Tranchida"_#Tranchida7.
-The model representents the simulation of atomic magnetic spins coupled
+The model represents the simulation of atomic magnetic spins coupled
to lattice vibrations. The dynamics of those magnetic spins can be used
to simulate a broad range a phenomena related to magneto-elasticity, or
or to study the influence of defects on the magnetic properties of
@@ -43,7 +43,7 @@ langevin/spin"_fix_langevin_spin.html. It allows to either dissipate
the thermal energy of the Langevin thermostat, or to perform a
relaxation of the magnetic configuration toward an equilibrium state.
-All the computed magnetic properties can be outputed by two main
+All the computed magnetic properties can be output by two main
commands. The first one is "compute spin"_compute_spin.html, that
enables to evaluate magnetic averaged quantities, such as the total
magnetization of the system along x, y, or z, the spin temperature, or
diff --git a/doc/src/Install_patch.txt b/doc/src/Install_patch.txt
index 3d0b27370e..ff9b14c12c 100644
--- a/doc/src/Install_patch.txt
+++ b/doc/src/Install_patch.txt
@@ -17,10 +17,11 @@ how to stay current are on the "Install git"_Install_git.html and
If you prefer to download a tarball, as described on the "Install
git"_Install_tarball.html doc page, you can stay current by
downloading "patch files" when new patch releases are made. A link to
-a patch file is posted on the "bug and feature page"_bug of the
-website, along with a list of changed files and details about what is
-in the new patch release. This page explains how to apply the patch
-file to your local LAMMPS directory.
+a patch file is posted on the "bug and feature
+page"_http://lammps.sandia.gov/bug.html of the LAMMPS website, along
+with a list of changed files and details about what is in the new patch
+release. This page explains how to apply the patch file to your local
+LAMMPS directory.
NOTE: You should not apply patch files to a local Git or SVN repo of
LAMMPS, only to an unpacked tarball. Use Git and SVN commands to
diff --git a/doc/src/Intro_overview.txt b/doc/src/Intro_overview.txt
index 49c14bc5f0..cd822c778f 100644
--- a/doc/src/Intro_overview.txt
+++ b/doc/src/Intro_overview.txt
@@ -17,7 +17,7 @@ variety of interatomic potentials (force fields) and boundary
conditions. It can model 2d or 3d systems with only a few particles
up to millions or billions.
-LAMMPS can be built and run on a laptop or destop machine, but is
+LAMMPS can be built and run on a laptop or desktop machine, but is
designed for parallel computers. It will run on any parallel machine
that supports the "MPI"_mpi message-passing library. This includes
shared-memory boxes and distributed-memory clusters and
@@ -45,7 +45,7 @@ nature; some long-range models are included as well.
LAMMPS uses neighbor lists to keep track of nearby particles. The
lists are optimized for systems with particles that are repulsive at
short distances, so that the local density of particles never becomes
-too large. This is in contrast to methods used for modeling plasmas
+too large. This is in contrast to methods used for modeling plasma
or gravitational bodies (e.g. galaxy formation).
On parallel machines, LAMMPS uses spatial-decomposition techniques to
diff --git a/doc/src/JPG/pair_atm_dia.jpg b/doc/src/JPG/pair_atm_dia.jpg
new file mode 100644
index 0000000000..fd8edc5e67
Binary files /dev/null and b/doc/src/JPG/pair_atm_dia.jpg differ
diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt
index ad3e66a4b2..e442aa1808 100644
--- a/doc/src/Manual.txt
+++ b/doc/src/Manual.txt
@@ -1,7 +1,7 @@
LAMMPS Users Manual
-
+
@@ -21,7 +21,7 @@
:line
LAMMPS Documentation :c,h1
-22 Aug 2018 version :c,h2
+31 Aug 2018 version :c,h2
"What is a LAMMPS version?"_Manual_version.html
diff --git a/doc/src/Manual_build.txt b/doc/src/Manual_build.txt
index a6b881cb79..ac12dd7b2e 100644
--- a/doc/src/Manual_build.txt
+++ b/doc/src/Manual_build.txt
@@ -10,15 +10,16 @@ Section"_Manual.html :c
Building the LAMMPS manual :h2
-Depending on how you obtained LAMMPS, the doc directory has
-2 or 3 sub-directories and optionally 2 PDF files and an ePUB file:
+Depending on how you obtained LAMMPS, the doc directory has 2 or 3
+sub-directories and optionally 2 PDF files and 2 e-book format files:
src # content files for LAMMPS documentation
html # HTML version of the LAMMPS manual (see html/Manual.html)
tools # tools and settings for building the documentation
Manual.pdf # large PDF version of entire manual
Developer.pdf # small PDF with info about how LAMMPS is structured
-LAMMPS.epub # Manual in ePUB format :pre
+LAMMPS.epub # Manual in ePUB e-book format
+LAMMPS.mobi # Manual in MOBI e-book format :pre
If you downloaded LAMMPS as a tarball from the web site, all these
directories and files should be included.
@@ -40,7 +41,7 @@ HTML files already exist. This requires various tools including
Sphinx, which the build process will attempt to download and install
on your system, if not already available. See more details below.
-(c) You can genererate an older, simpler, less-fancy style of HTML
+(c) You can generate an older, simpler, less-fancy style of HTML
documentation by typing "make old". This will create an "old"
directory. This can be useful if (b) does not work on your box for
some reason, or you want to quickly view the HTML version of a doc
@@ -61,6 +62,7 @@ make old # generate old-style HTML pages in old dir via txt2html
make fetch # fetch HTML doc pages and 2 PDF files from web site
# as a tarball and unpack into html dir and 2 PDFs
make epub # generate LAMMPS.epub in ePUB format using Sphinx
+make mobi # generate LAMMPS.mobi in MOBI format using ebook-convert
make clean # remove intermediate RST files created by HTML build
make clean-all # remove entire build folder and any cached data :pre
@@ -68,7 +70,7 @@ make clean-all # remove entire build folder and any cached data :pre
Installing prerequisites for HTML build :h3
-To run the HTML documention build toolchain, Python 3 and virtualenv
+To run the HTML documentation build toolchain, Python 3 and virtualenv
have to be installed. Here are instructions for common setups:
Ubuntu :h4
@@ -115,10 +117,8 @@ ePUB :h4
Same as for HTML. This uses the same tools and configuration
files as the HTML tree.
-For converting the generated ePUB file to a mobi format file
+For converting the generated ePUB file to a MOBI format file
(for e-book readers like Kindle, that cannot read ePUB), you
also need to have the 'ebook-convert' tool from the "calibre"
software installed. "http://calibre-ebook.com/"_http://calibre-ebook.com/
-You first create the ePUB file with 'make epub' and then do:
-
-ebook-convert LAMMPS.epub LAMMPS.mobi :pre
+You first create the ePUB file and then convert it with 'make mobi'
diff --git a/doc/src/Modify_overview.txt b/doc/src/Modify_overview.txt
index cf94b40281..4ab1eddf21 100644
--- a/doc/src/Modify_overview.txt
+++ b/doc/src/Modify_overview.txt
@@ -10,7 +10,7 @@ Documentation"_ld - "LAMMPS Commands"_lc :c
Overview :h3
The best way to add a new feature to LAMMPS is to find a similar
-featureand look at the corresponding source and header files to figure
+feature and look at the corresponding source and header files to figure
out what it does. You will need some knowledge of C++ to be able to
understand the hi-level structure of LAMMPS and its class
organization, but functions (class methods) that do actual
diff --git a/doc/src/Packages_details.txt b/doc/src/Packages_details.txt
index c4c9043908..443d78922c 100644
--- a/doc/src/Packages_details.txt
+++ b/doc/src/Packages_details.txt
@@ -298,7 +298,7 @@ lib/gpu/README
"Section 2.6 -sf gpu"_Run_options.html
"Section 2.6 -pk gpu"_Run_options.html
"package gpu"_package.html
-"Commands all"_Commands_all.html pages (pair,kspace) for styles followed by (g)
+"Commands all"_lc pages (pair,kspace) for styles followed by (g)
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
:line
@@ -413,7 +413,7 @@ lib/kokkos/README
"Section 2.6 -sf kk"_Run_options.html
"Section 2.6 -pk kokkos"_Run_options.html
"package kokkos"_package.html
-"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (k)
+"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (k)
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
:line
@@ -550,10 +550,6 @@ This package has "specific installation
instructions"_Build_extras.html#gpu on the "Build
extras"_Build_extras.html doc page.
-NOTE: You should test building the MEAM library with both the Intel
-and GNU compilers to see if a simulation runs faster with one versus
-the other on your system.
-
[Supporting info:]
src/MEAM: filenames -> commands
@@ -564,6 +560,31 @@ examples/meam :ul
:line
+MESSAGE package :link(PKG-MESSAGE),h4
+
+[Contents:]
+
+Commands to use LAMMPS as either a client or server and couple it to
+another application.
+
+[Install:]
+
+This package has "specific installation
+instructions"_Build_extras.html#message on the "Build
+extras"_Build_extras.html doc page.
+
+[Supporting info:]
+
+src/MESSAGE: filenames -> commands
+lib/message/README
+"message"_message.html
+"fix client/md"_fix_client_md.html
+"server md"_server_md.html
+"server mc"_server_mc.html
+examples/message :ul
+
+:line
+
MISC package :link(PKG-MISC),h4
[Contents:]
@@ -852,7 +873,7 @@ multi-replica simulations in LAMMPS. Methods in the package include
nudged elastic band (NEB), parallel replica dynamics (PRD),
temperature accelerated dynamics (TAD), parallel tempering, and a
verlet/split algorithm for performing long-range Coulombics on one set
-of processors, and the remainder of the force field calcalation on
+of processors, and the remainder of the force field calculation on
another set.
[Supporting info:]
@@ -875,7 +896,7 @@ RIGID package :link(PKG-RIGID),h4
[Contents:]
Fixes which enforce rigid constraints on collections of atoms or
-particles. This includes SHAKE and RATTLE, as well as varous
+particles. This includes SHAKE and RATTLE, as well as various
rigid-body integrators for a few large bodies or many small bodies.
Also several computes which calculate properties of rigid bodies.
@@ -1371,7 +1392,7 @@ 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. While compilation with GNU compilers is
-supported, performance will be suboptimal.
+supported, performance will be sub-optimal.
NOTE: the USER-INTEL package contains styles that require using the
-restrict flag, when compiling with Intel compilers.
@@ -1393,7 +1414,7 @@ src/USER-INTEL/README
"Section 2.6 -sf intel"_Run_options.html
"Section 2.6 -pk intel"_Run_options.html
"package intel"_package.html
-"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (i)
+"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (i)
src/USER-INTEL/TEST
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
@@ -1583,8 +1604,6 @@ molecular visualization and analysis program, to enable LAMMPS to dump
snapshots in formats compatible with various molecular simulation
tools.
-:link(vmd_home,http://www.ks.uiuc.edu/Research/vmd)
-
To use this package you must have the desired VMD plugins available on
your system.
@@ -1594,7 +1613,7 @@ plugin via the "dump molfile"_dump_molfile.html command. Plugins can
be obtained from a VMD installation which has to match the platform
that you are using to compile LAMMPS for. By adding plugins to VMD,
support for new file formats can be added to LAMMPS (or VMD or other
-programs that use them) without having to recompile the application
+programs that use them) without having to re-compile the application
itself. More information about the VMD molfile plugins can be found
at
"http://www.ks.uiuc.edu/Research/vmd/plugins/molfile"_http://www.ks.uiuc.edu/Research/vmd/plugins/molfile.
@@ -1636,6 +1655,7 @@ tools:
"AtomEye"_atomeye (the libAtoms version of AtomEye contains a NetCDF reader not present in the standard distribution) :ul
:link(ovito,http://www.ovito.org)
+:link(vmd_home,https://www.ks.uiuc.edu/Research/vmd/)
:link(atomeye,http://www.libatoms.org)
[Author:] Lars Pastewka (Karlsruhe Institute of Technology).
@@ -1699,7 +1719,7 @@ src/USER-OMP/README
"Section 2.6 -sf omp"_Run_options.html
"Section 2.6 -pk omp"_Run_options.html
"package omp"_package.html
-"Commands all"_Commands_all.html pages (fix,compute,pair,etc) for styles followed by (o)
+"Commands all"_lc pages (fix,compute,pair,etc) for styles followed by (o)
"Benchmarks page"_http://lammps.sandia.gov/bench.html of web site :ul
:line
@@ -2034,3 +2054,5 @@ src/USER-VTK: filenames -> commands
src/USER-VTK/README
lib/vtk/README
"dump vtk"_dump_vtk.html :ul
+
+
diff --git a/doc/src/Packages_standard.txt b/doc/src/Packages_standard.txt
index 55d0d616f4..583ecf39fe 100644
--- a/doc/src/Packages_standard.txt
+++ b/doc/src/Packages_standard.txt
@@ -47,7 +47,8 @@ Package, Description, Doc page, Example, Library
"MANYBODY"_Packages_details.html#PKG-MANYBODY, many-body potentials, "pair_style tersoff"_pair_tersoff.html, shear, no
"MC"_Packages_details.html#PKG-MC, Monte Carlo options, "fix gcmc"_fix_gcmc.html, n/a, no
"MEAM"_Packages_details.html#PKG-MEAM, modified EAM potential, "pair_style meam"_pair_meam.html, meam, int
-"MISC"_Packages_details.html#PKG-MISC, miscellanous single-file commands, n/a, no, no
+"MESSAGE"_Packages_details.html#PKG-MESSAGE, client/server messaging, "message"_message.html, message, int
+"MISC"_Packages_details.html#PKG-MISC, miscellaneous single-file commands, n/a, no, no
"MOLECULE"_Packages_details.html#PKG-MOLECULE, molecular system force fields, "Howto bioFF"_Howto_bioFF.html, peptide, no
"MPIIO"_Packages_details.html#PKG-MPIIO, MPI parallel I/O dump and restart, "dump"_dump.html, n/a, no
"MSCG"_Packages_details.html#PKG-MSCG, multi-scale coarse-graining wrapper, "fix mscg"_fix_mscg.html, mscg, ext
diff --git a/doc/src/Packages_user.txt b/doc/src/Packages_user.txt
index 5ed5c6f6d3..70ac6022b6 100644
--- a/doc/src/Packages_user.txt
+++ b/doc/src/Packages_user.txt
@@ -58,7 +58,7 @@ Package, Description, Doc page, Example, Library
"USER-MGPT"_Packages_details.html#PKG-USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, no
"USER-MISC"_Packages_details.html#PKG-USER-MISC, single-file contributions, USER-MISC/README, USER/misc, no
"USER-MOFFF"_Packages_details.html#PKG-USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, no
-"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext
+"USER-MOLFILE"_Packages_details.html#PKG-USER-MOLFILE, "VMD"_https://www.ks.uiuc.edu/Research/vmd/ molfile plug-ins,"dump molfile"_dump_molfile.html, n/a, ext
"USER-NETCDF"_Packages_details.html#PKG-USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, n/a, ext
"USER-OMP"_Packages_details.html#PKG-USER-OMP, OpenMP-enabled styles,"Speed omp"_Speed_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, no
"USER-PHONON"_Packages_details.html#PKG-USER-PHONON, phonon dynamical matrix,"fix phonon"_fix_phonon.html, USER/phonon, no
diff --git a/doc/src/Python_call.txt b/doc/src/Python_call.txt
index 029c8f831c..3c382de1ba 100644
--- a/doc/src/Python_call.txt
+++ b/doc/src/Python_call.txt
@@ -59,9 +59,9 @@ and callbacks to LAMMPS.
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
+The "pair_style python"_pair_python.html command allows you to define
pairwise potentials as python code which encodes a single pairwise
-interaction. This is useful for rapid-developement and debugging of a
+interaction. This is useful for rapid development and debugging of a
new potential.
To use any of these commands, you only need to build LAMMPS with the
diff --git a/doc/src/Python_head.txt b/doc/src/Python_head.txt
index 1f02368429..54f995c565 100644
--- a/doc/src/Python_head.txt
+++ b/doc/src/Python_head.txt
@@ -62,11 +62,11 @@ library interface provided in src/library.h and src/library.h. That
interface is exposed to Python either when calling LAMMPS from Python
or when calling Python from a LAMMPS input script and then calling
back to LAMMPS from Python code. The library interface is designed to
-be easy to add funcionality to. Thus the Python interface to LAMMPS
+be easy to add functionality to. Thus the Python interface to LAMMPS
is also easy to extend as well.
If you create interesting Python scripts that run LAMMPS or
interesting Python functions that can be called from a LAMMPS input
-script, that you think would be genearlly useful, please post them as
+script, that you think would be generally useful, please post them as
a pull request to our "GitHub site"_https://github.com/lammps/lammps,
and they can be added to the LAMMPS distribution or webpage.
diff --git a/doc/src/Python_library.txt b/doc/src/Python_library.txt
index 9a3ea93fc3..e76af83962 100644
--- a/doc/src/Python_library.txt
+++ b/doc/src/Python_library.txt
@@ -186,20 +186,20 @@ keyword as a float.
The get_natoms() method returns the total number of atoms in the
simulation, as an int.
-The set_variable() methosd sets an existing string-style variable to a
+The set_variable() method sets an existing string-style variable to a
new string value, so that subsequent LAMMPS commands can access the
variable.
-The reset_box() emthods resets the size and shape of the simulation
+The reset_box() method resets the size and shape of the simulation
box, e.g. as part of restoring a previously extracted and saved state
of a simulation.
The gather methods collect peratom info of the requested type (atom
coords, atom types, forces, etc) from all processors, and returns the
-same vector of values to each callling processor. The scatter
+same vector of values to each calling processor. The scatter
functions do the inverse. They distribute a vector of peratom values,
-passed by all calling processors, to invididual atoms, which may be
-owned by different processos.
+passed by all calling processors, to individual atoms, which may be
+owned by different processors.
Note that the data returned by the gather methods,
e.g. gather_atoms("x"), is different from the data structure returned
diff --git a/doc/src/Run_basics.txt b/doc/src/Run_basics.txt
index 02139a8c69..1b7387b46b 100644
--- a/doc/src/Run_basics.txt
+++ b/doc/src/Run_basics.txt
@@ -75,7 +75,7 @@ setenv OMP_NUM_THREADS 2 # csh or tcsh :pre
This can also be done via the "package"_package.html command or via
the "-pk command-line switch"_Run_options.html which invokes the
package command. See the "package"_package.html command or
-"Speed"_Speed.html doc pages for more details about which accerlarator
+"Speed"_Speed.html doc pages for more details about which accelerator
packages and which commands support multi-threading.
:line
diff --git a/doc/src/Run_options.txt b/doc/src/Run_options.txt
index 9c862d7b8e..27f436ed55 100644
--- a/doc/src/Run_options.txt
+++ b/doc/src/Run_options.txt
@@ -18,6 +18,7 @@ letter abbreviation can be used:
"-i or -in"_#file
"-k or -kokkos"_#run-kokkos
"-l or -log"_#log
+"-m or -mpicolor"_#mpicolor
"-nc or -nocite"_#nocite
"-pk or -package"_#package
"-p or -partition"_#partition
@@ -175,6 +176,30 @@ Option -plog will override the name of the partition log files file.N.
:line
+[-mpicolor] color :link(mpi)
+
+If used, this must be the first command-line argument after the LAMMPS
+executable name. It is only used when LAMMPS is launched by an mpirun
+command which also launches another executable(s) at the same time.
+(The other executable could be LAMMPS as well.) The color is an
+integer value which should be different for each executable (another
+application may set this value in a different way). LAMMPS and the
+other executable(s) perform an MPI_Comm_split() with their own colors
+to shrink the MPI_COMM_WORLD communication to be the subset of
+processors they are actually running on.
+
+Currently, this is only used in LAMMPS to perform client/server
+messaging with another application. LAMMPS can act as either a client
+or server (or both). More details are given on the "Howto
+client/server"_Howto_client_server.html doc page.
+
+Specifically, this refers to the "mpi/one" mode of messaging provided
+by the "message"_message.html command and the CSlib library LAMMPS
+links with from the lib/message directory. See the
+"message"_message.html command for more details.
+
+:line
+
[-nocite] :link(nocite)
Disable writing the log.cite file which is normally written to list
diff --git a/doc/src/Run_windows.txt b/doc/src/Run_windows.txt
index 2b93cc7d49..85c9a6550d 100644
--- a/doc/src/Run_windows.txt
+++ b/doc/src/Run_windows.txt
@@ -33,8 +33,8 @@ in parallel, follow these steps.
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
-for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul
+for 32-bit Windows: "mpich2-1.4.1p1-win-ia32.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi
+for 64-bit Windows: "mpich2-1.4.1p1-win-x86-64.msi"_http://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi :ul
The LAMMPS Windows installer packages will automatically adjust your
path for the default location of this MPI package. After the
diff --git a/doc/src/Speed_bench.txt b/doc/src/Speed_bench.txt
index 8e407d14ea..a3d0bf4f46 100644
--- a/doc/src/Speed_bench.txt
+++ b/doc/src/Speed_bench.txt
@@ -11,7 +11,7 @@ Benchmarks :h3
Current LAMMPS performance is discussed on the "Benchmarks
page"_http://lammps.sandia.gov/bench.html of the "LAMMPS website"_lws
-where timings and parallel efficiencies are listed. The page has
+where timings and parallel efficiency are listed. The page has
several sections, which are briefly described below:
CPU performance on 5 standard problems, strong and weak scaling
@@ -77,8 +77,8 @@ style, force field, cutoff, etc) can then be estimated.
Performance on a parallel machine can also be predicted from one-core
or one-node timings if the parallel efficiency can be estimated. The
communication bandwidth and latency of a particular parallel machine
-affects the efficiency. On most machines LAMMPS will give parallel
-efficiencies on these benchmarks above 50% so long as the number of
+affects the efficiency. On most machines LAMMPS will give a parallel
+efficiency on these benchmarks above 50% so long as the number of
atoms/core is a few 100 or greater, and closer to 100% for large
numbers of atoms/core. This is for all-MPI mode with one MPI task per
core. For nodes with accelerator options or hardware (OpenMP, GPU,
diff --git a/doc/src/Speed_gpu.txt b/doc/src/Speed_gpu.txt
index acef5bf6c1..bddefc5031 100644
--- a/doc/src/Speed_gpu.txt
+++ b/doc/src/Speed_gpu.txt
@@ -62,7 +62,7 @@ Driver (ICD)"_https://www.khronos.org/news/permalink/opencl-installable-client-d
installed. There can be multiple of them for the same or different hardware
(GPUs, CPUs, Accelerators) installed at the same time. OpenCL refers to those
as 'platforms'. The GPU library will select the [first] suitable platform,
-but this can be overridded using the device option of the "package"_package.html
+but this can be overridden using the device option of the "package"_package.html
command. run lammps/lib/gpu/ocl_get_devices to get a list of available
platforms and devices with a suitable ICD available.
diff --git a/doc/src/Speed_intel.txt b/doc/src/Speed_intel.txt
index ef876a7d42..bf078fb576 100644
--- a/doc/src/Speed_intel.txt
+++ b/doc/src/Speed_intel.txt
@@ -68,7 +68,7 @@ In most molecular dynamics software, parallelization parameters
to changing the order of operations with finite-precision
calculations. The USER-INTEL package is deterministic. This means
that the results should be reproducible from run to run with the
-{same} parallel configurations and when using determinstic
+{same} parallel configurations and when using deterministic
libraries or library settings (MPI, OpenMP, FFT). However, there
are differences in the USER-INTEL package that can change the
order of operations compared to LAMMPS without acceleration:
@@ -400,7 +400,7 @@ within the input script to automatically append the "omp" suffix to
styles when USER-INTEL styles are not available.
NOTE: For simulations on higher node counts, add "processors * * *
-grid numa"_processors.html" to the beginning of the input script for
+grid numa"_processors.html to the beginning of the input script for
better scalability.
When running on many nodes, performance might be better when using
diff --git a/doc/src/Speed_kokkos.txt b/doc/src/Speed_kokkos.txt
index eb787df5d6..04cf53691b 100644
--- a/doc/src/Speed_kokkos.txt
+++ b/doc/src/Speed_kokkos.txt
@@ -93,12 +93,12 @@ The "t Nt" option specifies how many OpenMP threads per MPI task to
use with a node. The default is Nt = 1, which is MPI-only mode. Note
that the product of MPI tasks * OpenMP threads/task should not exceed
the physical number of cores (on a node), otherwise performance will
-suffer. If hyperthreading is enabled, then the product of MPI tasks *
-OpenMP threads/task should not exceed the physical number of cores *
-hardware threads. The "-k on" switch also issues a "package kokkos"
-command (with no additional arguments) which sets various KOKKOS
-options to default values, as discussed on the "package"_package.html
-command doc page.
+suffer. If Hyper-Threading (HT) is enabled, then the product of MPI
+tasks * OpenMP threads/task should not exceed the physical number of
+cores * hardware threads. The "-k on" switch also issues a
+"package kokkos" command (with no additional arguments) which sets
+various KOKKOS options to default values, as discussed on the
+"package"_package.html command doc page.
The "-sf kk" "command-line switch"_Run_options.html will automatically
append the "/kk" suffix to styles that support it. In this manner no
@@ -149,7 +149,7 @@ Intel Knight's Landing (KNL) Xeon Phi:
KNL Intel Phi chips have 68 physical cores. Typically 1 to 4 cores are
reserved for the OS, and only 64 or 66 cores are used. Each core has 4
-hyperthreads,so there are effectively N = 256 (4*64) or N = 264 (4*66)
+Hyper-Threads,so there are effectively N = 256 (4*64) or N = 264 (4*66)
cores to run on. The product of MPI tasks * OpenMP threads/task should
not exceed this limit, otherwise performance will suffer. Note that
with the KOKKOS package you do not need to specify how many KNLs there
@@ -228,7 +228,7 @@ for details and default settings. Experimenting with its options can
provide a speed-up for specific calculations. For example:
mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos binsize 2.8 -in in.lj # Set binsize = neighbor ghost cutoff
-mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighborlist, set binsize = neighbor ghost cutoff :pre
+mpirun -np 2 lmp_kokkos_cuda_openmpi -k on g 2 -sf kk -pk kokkos newton on neigh half binsize 2.8 -in in.lj # Newton on, half neighbor list, set binsize = neighbor ghost cutoff :pre
NOTE: For good performance of the KOKKOS package on GPUs, you must
have Kepler generation GPUs (or later). The Kokkos library exploits
diff --git a/doc/src/Speed_measure.txt b/doc/src/Speed_measure.txt
index 647ff71e36..dd12685dc5 100644
--- a/doc/src/Speed_measure.txt
+++ b/doc/src/Speed_measure.txt
@@ -50,6 +50,6 @@ inaccurate relative timing data, because processors have to wait when
communication occurs for other processors to catch up. Thus the
reported times for "Communication" or "Other" may be higher than they
really are, due to load-imbalance. If this is an issue, you can
-uncomment the MPI_Barrier() lines in src/timer.cpp, and recompile
+uncomment the MPI_Barrier() lines in src/timer.cpp, and re-compile
LAMMPS, to obtain synchronized timings.
diff --git a/doc/src/Speed_omp.txt b/doc/src/Speed_omp.txt
index 0abf54430e..238909d1b4 100644
--- a/doc/src/Speed_omp.txt
+++ b/doc/src/Speed_omp.txt
@@ -29,7 +29,7 @@ instructions.
[Run with the USER-OMP package from the command line:]
-These example asume one or more 16-core nodes.
+These examples assume one or more 16-core nodes.
env OMP_NUM_THREADS=16 lmp_omp -sf omp -in in.script # 1 MPI task, 16 threads according to OMP_NUM_THREADS
lmp_mpi -sf omp -in in.script # 1 MPI task, no threads, optimized kernels
diff --git a/doc/src/Speed_packages.txt b/doc/src/Speed_packages.txt
index 6c837885cd..4c87091e7e 100644
--- a/doc/src/Speed_packages.txt
+++ b/doc/src/Speed_packages.txt
@@ -72,7 +72,7 @@ Lennard-Jones "pair_style lj/cut"_pair_lj.html:
"pair_style lj/cut/opt"_pair_lj.html :ul
To see what accelerate styles are currently available for a particular
-style, find the style name in the "Commands_all"_Commands_all.html
+style, find the style name in the "Commands_all"_lc
style pages (fix,compute,pair,etc) and see what suffixes are listed
(g,i,k,o,t) with it. The doc pages for individual commands
(e.g. "pair lj/cut"_pair_lj.html or "fix nve"_fix_nve.html) also list
diff --git a/doc/src/USER/atc/man_add_molecule.html b/doc/src/USER/atc/man_add_molecule.html
index 8d9625e1bd..4e7810aa61 100644
--- a/doc/src/USER/atc/man_add_molecule.html
+++ b/doc/src/USER/atc/man_add_molecule.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_add_species.html b/doc/src/USER/atc/man_add_species.html
index 9beded1b16..a990ab626f 100644
--- a/doc/src/USER/atc/man_add_species.html
+++ b/doc/src/USER/atc/man_add_species.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_atom_element_map.html b/doc/src/USER/atc/man_atom_element_map.html
index 6725170928..a5707d280e 100644
--- a/doc/src/USER/atc/man_atom_element_map.html
+++ b/doc/src/USER/atc/man_atom_element_map.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_atom_weight.html b/doc/src/USER/atc/man_atom_weight.html
index 28bc90fa01..350ab13b92 100644
--- a/doc/src/USER/atc/man_atom_weight.html
+++ b/doc/src/USER/atc/man_atom_weight.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_atomic_charge.html b/doc/src/USER/atc/man_atomic_charge.html
index ef787f53ac..17e854a37f 100644
--- a/doc/src/USER/atc/man_atomic_charge.html
+++ b/doc/src/USER/atc/man_atomic_charge.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_boundary.html b/doc/src/USER/atc/man_boundary.html
index 61596d3b31..8dcf328dd3 100644
--- a/doc/src/USER/atc/man_boundary.html
+++ b/doc/src/USER/atc/man_boundary.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_boundary_dynamics.html b/doc/src/USER/atc/man_boundary_dynamics.html
index 40b82f3f61..335ff2d209 100644
--- a/doc/src/USER/atc/man_boundary_dynamics.html
+++ b/doc/src/USER/atc/man_boundary_dynamics.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_boundary_faceset.html b/doc/src/USER/atc/man_boundary_faceset.html
index 7eb950f78e..6c2fb84940 100644
--- a/doc/src/USER/atc/man_boundary_faceset.html
+++ b/doc/src/USER/atc/man_boundary_faceset.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_boundary_integral.html b/doc/src/USER/atc/man_boundary_integral.html
index 0663dba176..c4b0d4865e 100644
--- a/doc/src/USER/atc/man_boundary_integral.html
+++ b/doc/src/USER/atc/man_boundary_integral.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_consistent_fe_initialization.html b/doc/src/USER/atc/man_consistent_fe_initialization.html
index a731b09116..baa306a1c8 100644
--- a/doc/src/USER/atc/man_consistent_fe_initialization.html
+++ b/doc/src/USER/atc/man_consistent_fe_initialization.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_contour_integral.html b/doc/src/USER/atc/man_contour_integral.html
index 690f0fcc98..16f6d9abad 100644
--- a/doc/src/USER/atc/man_contour_integral.html
+++ b/doc/src/USER/atc/man_contour_integral.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_control.html b/doc/src/USER/atc/man_control.html
index 900952ba0b..e94a9a52ef 100644
--- a/doc/src/USER/atc/man_control.html
+++ b/doc/src/USER/atc/man_control.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_control_momentum.html b/doc/src/USER/atc/man_control_momentum.html
index 8f4f486595..e3074eae8f 100644
--- a/doc/src/USER/atc/man_control_momentum.html
+++ b/doc/src/USER/atc/man_control_momentum.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_control_thermal.html b/doc/src/USER/atc/man_control_thermal.html
index eab186f715..8d32f1c4f9 100644
--- a/doc/src/USER/atc/man_control_thermal.html
+++ b/doc/src/USER/atc/man_control_thermal.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html b/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html
index a337a495e0..d28ec334f5 100644
--- a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html
+++ b/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_decomposition.html b/doc/src/USER/atc/man_decomposition.html
index d54a201034..98eedafa6c 100644
--- a/doc/src/USER/atc/man_decomposition.html
+++ b/doc/src/USER/atc/man_decomposition.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_electron_integration.html b/doc/src/USER/atc/man_electron_integration.html
index ab454c16d2..7cf40f6813 100644
--- a/doc/src/USER/atc/man_electron_integration.html
+++ b/doc/src/USER/atc/man_electron_integration.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_equilibrium_start.html b/doc/src/USER/atc/man_equilibrium_start.html
index d01253c4b3..8c81ce5925 100644
--- a/doc/src/USER/atc/man_equilibrium_start.html
+++ b/doc/src/USER/atc/man_equilibrium_start.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_extrinsic_exchange.html b/doc/src/USER/atc/man_extrinsic_exchange.html
index 4f1f5962d9..f4d1b01e88 100644
--- a/doc/src/USER/atc/man_extrinsic_exchange.html
+++ b/doc/src/USER/atc/man_extrinsic_exchange.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_fe_md_boundary.html b/doc/src/USER/atc/man_fe_md_boundary.html
index e517dd4855..e39ddd3cec 100644
--- a/doc/src/USER/atc/man_fe_md_boundary.html
+++ b/doc/src/USER/atc/man_fe_md_boundary.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_fem_mesh.html b/doc/src/USER/atc/man_fem_mesh.html
index b8ba584816..485b8c95a0 100644
--- a/doc/src/USER/atc/man_fem_mesh.html
+++ b/doc/src/USER/atc/man_fem_mesh.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_filter_scale.html b/doc/src/USER/atc/man_filter_scale.html
index 7a871f5c81..e2190dea21 100644
--- a/doc/src/USER/atc/man_filter_scale.html
+++ b/doc/src/USER/atc/man_filter_scale.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_filter_type.html b/doc/src/USER/atc/man_filter_type.html
index 2711d128e9..0928139d7d 100644
--- a/doc/src/USER/atc/man_filter_type.html
+++ b/doc/src/USER/atc/man_filter_type.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_fix_atc.html b/doc/src/USER/atc/man_fix_atc.html
index 7cc6cfea5b..f6f7b43a38 100644
--- a/doc/src/USER/atc/man_fix_atc.html
+++ b/doc/src/USER/atc/man_fix_atc.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_fix_flux.html b/doc/src/USER/atc/man_fix_flux.html
index 42815def6b..31bd5619a3 100644
--- a/doc/src/USER/atc/man_fix_flux.html
+++ b/doc/src/USER/atc/man_fix_flux.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_fix_nodes.html b/doc/src/USER/atc/man_fix_nodes.html
index 03cf86eb92..2245e32607 100644
--- a/doc/src/USER/atc/man_fix_nodes.html
+++ b/doc/src/USER/atc/man_fix_nodes.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_hardy_computes.html b/doc/src/USER/atc/man_hardy_computes.html
index b45b7dfb01..ec2dc3ccb9 100644
--- a/doc/src/USER/atc/man_hardy_computes.html
+++ b/doc/src/USER/atc/man_hardy_computes.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_hardy_fields.html b/doc/src/USER/atc/man_hardy_fields.html
index 17903aabd0..483e5be6bd 100644
--- a/doc/src/USER/atc/man_hardy_fields.html
+++ b/doc/src/USER/atc/man_hardy_fields.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_hardy_gradients.html b/doc/src/USER/atc/man_hardy_gradients.html
index 00935f0ae2..1874ad152e 100644
--- a/doc/src/USER/atc/man_hardy_gradients.html
+++ b/doc/src/USER/atc/man_hardy_gradients.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_hardy_kernel.html b/doc/src/USER/atc/man_hardy_kernel.html
index f97037784c..620b9b1d36 100644
--- a/doc/src/USER/atc/man_hardy_kernel.html
+++ b/doc/src/USER/atc/man_hardy_kernel.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_hardy_on_the_fly.html b/doc/src/USER/atc/man_hardy_on_the_fly.html
index 79c1006c97..04d24ff029 100644
--- a/doc/src/USER/atc/man_hardy_on_the_fly.html
+++ b/doc/src/USER/atc/man_hardy_on_the_fly.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_hardy_rates.html b/doc/src/USER/atc/man_hardy_rates.html
index e51cbc9873..337a92517e 100644
--- a/doc/src/USER/atc/man_hardy_rates.html
+++ b/doc/src/USER/atc/man_hardy_rates.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_initial.html b/doc/src/USER/atc/man_initial.html
index 41ae06eb8c..c8348c45ed 100644
--- a/doc/src/USER/atc/man_initial.html
+++ b/doc/src/USER/atc/man_initial.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_internal_atom_integrate.html b/doc/src/USER/atc/man_internal_atom_integrate.html
index dfa19474e5..f76607cc91 100644
--- a/doc/src/USER/atc/man_internal_atom_integrate.html
+++ b/doc/src/USER/atc/man_internal_atom_integrate.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_internal_element_set.html b/doc/src/USER/atc/man_internal_element_set.html
index 849e8f0671..a5d893f2a3 100644
--- a/doc/src/USER/atc/man_internal_element_set.html
+++ b/doc/src/USER/atc/man_internal_element_set.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_internal_quadrature.html b/doc/src/USER/atc/man_internal_quadrature.html
index 7f10e17076..6af543cbae 100644
--- a/doc/src/USER/atc/man_internal_quadrature.html
+++ b/doc/src/USER/atc/man_internal_quadrature.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_kernel_function.html b/doc/src/USER/atc/man_kernel_function.html
index 92db590198..cb02c05c23 100644
--- a/doc/src/USER/atc/man_kernel_function.html
+++ b/doc/src/USER/atc/man_kernel_function.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_localized_lambda.html b/doc/src/USER/atc/man_localized_lambda.html
index fd845d0a71..88442d63a1 100644
--- a/doc/src/USER/atc/man_localized_lambda.html
+++ b/doc/src/USER/atc/man_localized_lambda.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_lumped_lambda_solve.html b/doc/src/USER/atc/man_lumped_lambda_solve.html
index ade780ddee..89aabebd3c 100644
--- a/doc/src/USER/atc/man_lumped_lambda_solve.html
+++ b/doc/src/USER/atc/man_lumped_lambda_solve.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mask_direction.html b/doc/src/USER/atc/man_mask_direction.html
index 31c18b4f1f..ea5a6e357b 100644
--- a/doc/src/USER/atc/man_mask_direction.html
+++ b/doc/src/USER/atc/man_mask_direction.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mass_matrix.html b/doc/src/USER/atc/man_mass_matrix.html
index 140b745f09..fd744e5bbf 100644
--- a/doc/src/USER/atc/man_mass_matrix.html
+++ b/doc/src/USER/atc/man_mass_matrix.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_material.html b/doc/src/USER/atc/man_material.html
index c31ab4938d..1646abc671 100644
--- a/doc/src/USER/atc/man_material.html
+++ b/doc/src/USER/atc/man_material.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_add_to_nodeset.html b/doc/src/USER/atc/man_mesh_add_to_nodeset.html
index 25a5c2cdae..c4976f699d 100644
--- a/doc/src/USER/atc/man_mesh_add_to_nodeset.html
+++ b/doc/src/USER/atc/man_mesh_add_to_nodeset.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_create.html b/doc/src/USER/atc/man_mesh_create.html
index a7ee112614..98989bd015 100644
--- a/doc/src/USER/atc/man_mesh_create.html
+++ b/doc/src/USER/atc/man_mesh_create.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_create_elementset.html b/doc/src/USER/atc/man_mesh_create_elementset.html
index 2ac383a974..735d462b73 100644
--- a/doc/src/USER/atc/man_mesh_create_elementset.html
+++ b/doc/src/USER/atc/man_mesh_create_elementset.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_create_faceset_box.html b/doc/src/USER/atc/man_mesh_create_faceset_box.html
index e62a827a78..0ae68435e5 100644
--- a/doc/src/USER/atc/man_mesh_create_faceset_box.html
+++ b/doc/src/USER/atc/man_mesh_create_faceset_box.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_create_faceset_plane.html b/doc/src/USER/atc/man_mesh_create_faceset_plane.html
index b1969cb79d..cd78816bae 100644
--- a/doc/src/USER/atc/man_mesh_create_faceset_plane.html
+++ b/doc/src/USER/atc/man_mesh_create_faceset_plane.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_create_nodeset.html b/doc/src/USER/atc/man_mesh_create_nodeset.html
index 39bfffd119..0e3624cf8a 100644
--- a/doc/src/USER/atc/man_mesh_create_nodeset.html
+++ b/doc/src/USER/atc/man_mesh_create_nodeset.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_delete_elements.html b/doc/src/USER/atc/man_mesh_delete_elements.html
index 60a2fe59a1..e39cc54d41 100644
--- a/doc/src/USER/atc/man_mesh_delete_elements.html
+++ b/doc/src/USER/atc/man_mesh_delete_elements.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html b/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html
index d05429ebab..66b55a48fb 100644
--- a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html
+++ b/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_output.html b/doc/src/USER/atc/man_mesh_output.html
index f768a29c41..1d2983afff 100644
--- a/doc/src/USER/atc/man_mesh_output.html
+++ b/doc/src/USER/atc/man_mesh_output.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_quadrature.html b/doc/src/USER/atc/man_mesh_quadrature.html
index 46487fdce7..821e50e4cf 100644
--- a/doc/src/USER/atc/man_mesh_quadrature.html
+++ b/doc/src/USER/atc/man_mesh_quadrature.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_read.html b/doc/src/USER/atc/man_mesh_read.html
index e0571ccf88..315180e1db 100644
--- a/doc/src/USER/atc/man_mesh_read.html
+++ b/doc/src/USER/atc/man_mesh_read.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_mesh_write.html b/doc/src/USER/atc/man_mesh_write.html
index 756cf49922..f709c02a84 100644
--- a/doc/src/USER/atc/man_mesh_write.html
+++ b/doc/src/USER/atc/man_mesh_write.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_momentum_time_integration.html b/doc/src/USER/atc/man_momentum_time_integration.html
index 60fbfcd888..ee0505847c 100644
--- a/doc/src/USER/atc/man_momentum_time_integration.html
+++ b/doc/src/USER/atc/man_momentum_time_integration.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_output.html b/doc/src/USER/atc/man_output.html
index aec1d5d55a..d0a08fa0da 100644
--- a/doc/src/USER/atc/man_output.html
+++ b/doc/src/USER/atc/man_output.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_output_elementset.html b/doc/src/USER/atc/man_output_elementset.html
index 54079027c5..18afe0aa97 100644
--- a/doc/src/USER/atc/man_output_elementset.html
+++ b/doc/src/USER/atc/man_output_elementset.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_output_nodeset.html b/doc/src/USER/atc/man_output_nodeset.html
index 2fc6e02681..7906c5fc52 100644
--- a/doc/src/USER/atc/man_output_nodeset.html
+++ b/doc/src/USER/atc/man_output_nodeset.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_pair_interactions.html b/doc/src/USER/atc/man_pair_interactions.html
index 2cb2cb6113..3ec2eecc60 100644
--- a/doc/src/USER/atc/man_pair_interactions.html
+++ b/doc/src/USER/atc/man_pair_interactions.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_poisson_solver.html b/doc/src/USER/atc/man_poisson_solver.html
index b6fabbb27c..3e22a51f3e 100644
--- a/doc/src/USER/atc/man_poisson_solver.html
+++ b/doc/src/USER/atc/man_poisson_solver.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_read_restart.html b/doc/src/USER/atc/man_read_restart.html
index 5fc21282f6..d13151a12e 100644
--- a/doc/src/USER/atc/man_read_restart.html
+++ b/doc/src/USER/atc/man_read_restart.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_remove_molecule.html b/doc/src/USER/atc/man_remove_molecule.html
index e6ad418de6..54e4e3419f 100644
--- a/doc/src/USER/atc/man_remove_molecule.html
+++ b/doc/src/USER/atc/man_remove_molecule.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_remove_source.html b/doc/src/USER/atc/man_remove_source.html
index acea7a5607..c15e0ca46d 100644
--- a/doc/src/USER/atc/man_remove_source.html
+++ b/doc/src/USER/atc/man_remove_source.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_remove_species.html b/doc/src/USER/atc/man_remove_species.html
index 561364518f..ee063ce57f 100644
--- a/doc/src/USER/atc/man_remove_species.html
+++ b/doc/src/USER/atc/man_remove_species.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_reset_atomic_reference_positions.html b/doc/src/USER/atc/man_reset_atomic_reference_positions.html
index 88e6748001..3c43861054 100644
--- a/doc/src/USER/atc/man_reset_atomic_reference_positions.html
+++ b/doc/src/USER/atc/man_reset_atomic_reference_positions.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_reset_time.html b/doc/src/USER/atc/man_reset_time.html
index a6429bf6d6..9607848e1a 100644
--- a/doc/src/USER/atc/man_reset_time.html
+++ b/doc/src/USER/atc/man_reset_time.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_sample_frequency.html b/doc/src/USER/atc/man_sample_frequency.html
index 4e48c4bb29..9a9a8e3a02 100644
--- a/doc/src/USER/atc/man_sample_frequency.html
+++ b/doc/src/USER/atc/man_sample_frequency.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_set.html b/doc/src/USER/atc/man_set.html
index cf775c9b36..55ad8d952b 100644
--- a/doc/src/USER/atc/man_set.html
+++ b/doc/src/USER/atc/man_set.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_source.html b/doc/src/USER/atc/man_source.html
index c7239f2c41..78fb1652eb 100644
--- a/doc/src/USER/atc/man_source.html
+++ b/doc/src/USER/atc/man_source.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_source_integration.html b/doc/src/USER/atc/man_source_integration.html
index 3f43340af8..3b261b7810 100644
--- a/doc/src/USER/atc/man_source_integration.html
+++ b/doc/src/USER/atc/man_source_integration.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_temperature_definition.html b/doc/src/USER/atc/man_temperature_definition.html
index a07ba29cab..c317c06c00 100644
--- a/doc/src/USER/atc/man_temperature_definition.html
+++ b/doc/src/USER/atc/man_temperature_definition.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_thermal_time_integration.html b/doc/src/USER/atc/man_thermal_time_integration.html
index fe293138be..830591921e 100644
--- a/doc/src/USER/atc/man_thermal_time_integration.html
+++ b/doc/src/USER/atc/man_thermal_time_integration.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_time_filter.html b/doc/src/USER/atc/man_time_filter.html
index 732eaa3a36..5000fb079d 100644
--- a/doc/src/USER/atc/man_time_filter.html
+++ b/doc/src/USER/atc/man_time_filter.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_track_displacement.html b/doc/src/USER/atc/man_track_displacement.html
index f5410816d7..2c7cf26150 100644
--- a/doc/src/USER/atc/man_track_displacement.html
+++ b/doc/src/USER/atc/man_track_displacement.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_unfix_flux.html b/doc/src/USER/atc/man_unfix_flux.html
index 95e1f4be5a..551896431a 100644
--- a/doc/src/USER/atc/man_unfix_flux.html
+++ b/doc/src/USER/atc/man_unfix_flux.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_unfix_nodes.html b/doc/src/USER/atc/man_unfix_nodes.html
index 78495c928a..4dfd9b3cfc 100644
--- a/doc/src/USER/atc/man_unfix_nodes.html
+++ b/doc/src/USER/atc/man_unfix_nodes.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_write_atom_weights.html b/doc/src/USER/atc/man_write_atom_weights.html
index 8a0e5b62a8..1722d74f67 100644
--- a/doc/src/USER/atc/man_write_atom_weights.html
+++ b/doc/src/USER/atc/man_write_atom_weights.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/USER/atc/man_write_restart.html b/doc/src/USER/atc/man_write_restart.html
index 6dca57673b..74c6e2d289 100644
--- a/doc/src/USER/atc/man_write_restart.html
+++ b/doc/src/USER/atc/man_write_restart.html
@@ -11,7 +11,7 @@
LAMMPS Website
LAMMPS Manual
USER-AtC Manual
- Commands
+ Commands
diff --git a/doc/src/atom_modify.txt b/doc/src/atom_modify.txt
index 4b4ac3862d..0f0b241b76 100644
--- a/doc/src/atom_modify.txt
+++ b/doc/src/atom_modify.txt
@@ -67,7 +67,7 @@ when required. An example are the bond (angle, etc) methods which
need to find the local index of an atom with a specific global ID
which is a bond (angle, etc) partner. LAMMPS performs this operation
efficiently by creating a "map", which is either an {array} or {hash}
-table, as descibed below.
+table, as described below.
When the {map} keyword is not specified in your input script, LAMMPS
only creates a map for "atom_styles"_atom_style.html for molecular
diff --git a/doc/src/commands_list.txt b/doc/src/commands_list.txt
index 62b973e3a4..8fae57a718 100644
--- a/doc/src/commands_list.txt
+++ b/doc/src/commands_list.txt
@@ -56,6 +56,7 @@ Commands :h1
lattice
log
mass
+ message
min_modify
min_style
minimize
@@ -87,6 +88,7 @@ Commands :h1
restart
run
run_style
+ server
set
shell
special_bonds
diff --git a/doc/src/compute.txt b/doc/src/compute.txt
index 7d9e443e7d..8facb4de63 100644
--- a/doc/src/compute.txt
+++ b/doc/src/compute.txt
@@ -173,7 +173,7 @@ There are also additional accelerated compute styles included in the
LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs.
The individual style names on the "Commands
compute"_Commands_compute.html doc page are followed by one or more of
-(g,i,k,o,t) to indicate which accerlerated styles exist.
+(g,i,k,o,t) to indicate which accelerated styles exist.
"aggregate/atom"_compute_cluster_atom.html - aggregate ID for each atom
"angle/local"_compute_bond_local.html - theta and energy of each angle
diff --git a/doc/src/compute_ackland_atom.txt b/doc/src/compute_ackland_atom.txt
index cda4a36b34..46db81eb9e 100644
--- a/doc/src/compute_ackland_atom.txt
+++ b/doc/src/compute_ackland_atom.txt
@@ -32,7 +32,7 @@ according to the formulation given in "(Ackland)"_#Ackland.
Historically, LAMMPS had two, slightly different implementations of
the algorithm from the paper. With the {legacy} keyword, it is
possible to switch between the pre-2015 ({legacy yes}) and post-2015
-implemention ({legacy no}). The post-2015 variant is the default.
+implementation ({legacy no}). The post-2015 variant is the default.
In contrast to the "centro-symmetry
parameter"_compute_centro_atom.html this method is stable against
diff --git a/doc/src/compute_coord_atom.txt b/doc/src/compute_coord_atom.txt
index 66eecd195d..ddc4cc82d3 100644
--- a/doc/src/compute_coord_atom.txt
+++ b/doc/src/compute_coord_atom.txt
@@ -67,7 +67,7 @@ identify crystal-like atoms in a system, as discussed in "ten
Wolde"_#tenWolde1.
The ID of the previously specified "compute
-orientorder/atom"_compute_orientorder/atom command is specified as
+orientorder/atom"_compute_orientorder_atom.html command is specified as
{orientorderID}. The compute must invoke its {components} option to
calculate components of the {Ybar_lm} vector for each atoms, as
described in its documentation. Note that orientorder/atom compute
diff --git a/doc/src/compute_displace_atom.txt b/doc/src/compute_displace_atom.txt
index 669ab9f7ca..7cea62c7b3 100644
--- a/doc/src/compute_displace_atom.txt
+++ b/doc/src/compute_displace_atom.txt
@@ -85,7 +85,7 @@ dump 1 all custom 100 tmp.dump id type x y z
dump_modify 1 append yes thresh c_dsp[4] > ${Dhop} &
refresh c_dsp delay 100 :pre
-The "dump_modify thresh"_dump_modify.html command will only ouptut
+The "dump_modify thresh"_dump_modify.html command will only output
atoms that have displaced more than 0.6 Angstroms on each snapshot
(assuming metal units). The dump_modify {refresh} option triggers a
call to this compute at the end of every dump.
diff --git a/doc/src/compute_entropy_atom.txt b/doc/src/compute_entropy_atom.txt
index b3891841b8..04f0fd0b82 100644
--- a/doc/src/compute_entropy_atom.txt
+++ b/doc/src/compute_entropy_atom.txt
@@ -14,7 +14,7 @@ compute ID group-ID entropy/atom sigma cutoff keyword value ... :pre
ID, group-ID are documented in "compute"_compute.html command :l
entropy/atom = style name of this compute command :l
-sigma = width of gaussians used in the g(r) smoothening :l
+sigma = width of gaussians used in the g(r) smoothing :l
cutoff = cutoff for the g(r) calculation :l
one or more keyword/value pairs may be appended :l
keyword = {avg} or {local}
@@ -49,14 +49,14 @@ This parameter for atom i is computed using the following formula from
where r is a distance, g(r) is the radial distribution function of atom
i and rho is the density of the system. The g(r) computed for each
-atom i can be noisy and therefore it is smoothened using:
+atom i can be noisy and therefore it is smoothed using:
:c,image(Eqs/pair_entropy2.jpg)
where the sum in j goes through the neighbors of atom i, and sigma is a
-parameter to control the smoothening.
+parameter to control the smoothing.
-The input parameters are {sigma} the smoothening parameter, and the
+The input parameters are {sigma} the smoothing parameter, and the
{cutoff} for the calculation of g(r).
If the keyword {avg} has the setting {yes}, then this compute also
@@ -82,7 +82,7 @@ If the {local yes} option is used, the g(r) is normalized by the
local density around each atom, that is to say the density around each
atom is the number of neighbors within the neighbor list cutoff divided
by the corresponding volume. This option can be useful when dealing with
-inhomogeneus systems such as those that have surfaces.
+inhomogeneous systems such as those that have surfaces.
Here are typical input parameters for fcc aluminum (lattice
constant 4.05 Angstroms),
diff --git a/doc/src/compute_modify.txt b/doc/src/compute_modify.txt
index 192ea0bc9e..5ba2100fba 100644
--- a/doc/src/compute_modify.txt
+++ b/doc/src/compute_modify.txt
@@ -19,7 +19,7 @@ keyword = {extra/dof} or {extra} or {dynamic/dof} or {dynamic} :l
N = # of extra degrees of freedom to subtract
{extra} syntax is identical to {extra/dof}, will be disabled at some point
{dynamic/dof} value = {yes} or {no}
- yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature
+ yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature
{dynamic} syntax is identical to {dynamic/dof}, will be disabled at some point :pre
:ule
diff --git a/doc/src/compute_pressure_uef.txt b/doc/src/compute_pressure_uef.txt
index c4c0fc405f..72ed0ba5c4 100644
--- a/doc/src/compute_pressure_uef.txt
+++ b/doc/src/compute_pressure_uef.txt
@@ -27,8 +27,8 @@ compute 2 all pressure/uef my_temp_uef virial :pre
This command is used to compute the pressure tensor in
the reference frame of the applied flow field when
-"fix nvt/uef"_fix_nh_uef.html" or
-"fix npt/uef"_fix_nh_uef.html" is used.
+"fix nvt/uef"_fix_nh_uef.html or
+"fix npt/uef"_fix_nh_uef.html is used.
It is not necessary to use this command to compute the scalar
value of the pressure. A "compute pressure"_compute_pressure.html
may be used for that purpose.
diff --git a/doc/src/compute_property_atom.txt b/doc/src/compute_property_atom.txt
index 512009093c..bc1e3049fa 100644
--- a/doc/src/compute_property_atom.txt
+++ b/doc/src/compute_property_atom.txt
@@ -158,7 +158,7 @@ corresponding attribute is in, e.g. velocity units for vx, charge
units for q, etc.
For the spin quantities, sp is in the units of the Bohr magneton, spx,
-spy, and spz are adimentional quantities, and fmx, fmy and fmz are
+spy, and spz are adimensional quantities, and fmx, fmy and fmz are
given in rad.THz.
[Restrictions:] none
diff --git a/doc/src/compute_rdf.txt b/doc/src/compute_rdf.txt
index 04b38682cc..d11ae9e3bf 100644
--- a/doc/src/compute_rdf.txt
+++ b/doc/src/compute_rdf.txt
@@ -182,7 +182,7 @@ change from zero to one at the location of the spike in g(r).
NOTE: compute rdf can handle dynamic groups and systems where atoms
are added or removed, but this causes that certain normalization
-parameters need to be recomputed in every step and include collective
+parameters need to be re-computed in every step and include collective
communication operations. This will reduce performance and limit
parallel efficiency and scaling. For systems, where only the type
of atoms changes (e.g. when using "fix atom/swap"_fix_atom_swap.html),
diff --git a/doc/src/compute_rigid_local.txt b/doc/src/compute_rigid_local.txt
index 9b829a70fc..67c6209bdf 100644
--- a/doc/src/compute_rigid_local.txt
+++ b/doc/src/compute_rigid_local.txt
@@ -92,7 +92,7 @@ dump 1 all local 1000 tmp.dump index c_1\[1\] c_1\[2\] c_1\[3\] c_1\[4\] c_1\[5\
This section explains the rigid body attributes that can be specified.
-The {id} attribute is the atomID of the atom which owns the rigid body, which is
+The {id} attribute is the atom-ID of the atom which owns the rigid body, which is
assigned by the "fix rigid/small"_fix_rigid.html command.
The {mol} attribute is the molecule ID of the rigid body. It should
diff --git a/doc/src/compute_smd_tlsph_dt.txt b/doc/src/compute_smd_tlsph_dt.txt
index 92f5923de0..e9ff2e739b 100644
--- a/doc/src/compute_smd_tlsph_dt.txt
+++ b/doc/src/compute_smd_tlsph_dt.txt
@@ -25,7 +25,7 @@ Define a computation that outputs the CFL-stable time increment per
particle. This time increment is essentially given by the speed of
sound, divided by the SPH smoothing length. Because both the speed of
sound and the smoothing length typically change during the course of a
-simulation, the stable time increment needs to be recomputed every
+simulation, the stable time increment needs to be re-computed every
time step. This calculation is performed automatically in the
relevant SPH pair styles and this compute only serves to make the
stable time increment accessible for output purposes.
diff --git a/doc/src/compute_spin.txt b/doc/src/compute_spin.txt
index 787ff8cdcf..e6185a2dd8 100644
--- a/doc/src/compute_spin.txt
+++ b/doc/src/compute_spin.txt
@@ -48,7 +48,7 @@ variable temp_mag equal c_out_mag\[6\] :pre
thermo 10
thermo_style custom step v_mag_z v_mag_norm v_temp_mag :pre
-This serie of commands evaluates the total magnetization along z, the norm of
+This series of commands evaluates the total magnetization along z, the norm of
the total magnetization, and the magnetic temperature. Three variables are
assigned to those quantities. The thermo and thermo_style commands print them
every 10 timesteps.
diff --git a/doc/src/compute_temp_uef.txt b/doc/src/compute_temp_uef.txt
index 9a509da450..97e1d6e1ae 100644
--- a/doc/src/compute_temp_uef.txt
+++ b/doc/src/compute_temp_uef.txt
@@ -24,8 +24,8 @@ compute 2 sel temp/uef :pre
This command is used to compute the kinetic energy tensor in
the reference frame of the applied flow field when
-"fix nvt/uef"_fix_nh_uef.html" or
-"fix npt/uef"_fix_nh_uef.html" is used.
+"fix nvt/uef"_fix_nh_uef.html or
+"fix npt/uef"_fix_nh_uef.html is used.
It is not necessary to use this command to compute the scalar
value of the temperature. A "compute temp"_compute_temp.html
may be used for that purpose.
diff --git a/doc/src/delete_atoms.txt b/doc/src/delete_atoms.txt
index 57faf97ad1..a55288e1db 100644
--- a/doc/src/delete_atoms.txt
+++ b/doc/src/delete_atoms.txt
@@ -84,7 +84,7 @@ connectivity that has already been assigned. However, the
"reset_ids"_reset_ids.html command can be used after this command to
accomplish the same thing.
-Note that the re-assignement of IDs is not really a compression, where
+Note that the re-assignment of IDs is not really a compression, where
gaps in atom IDs are removed by decrementing atom IDs that are larger.
Instead the IDs for all atoms are erased, and new IDs are assigned so
that the atoms owned by individual processors have consecutive IDs, as
diff --git a/doc/src/delete_bonds.txt b/doc/src/delete_bonds.txt
index b29fa82f2d..4e33604696 100644
--- a/doc/src/delete_bonds.txt
+++ b/doc/src/delete_bonds.txt
@@ -140,7 +140,7 @@ enough for a processor to acquire the ghost atoms its needs to compute
bond, angle, etc interactions.
If deleted bonds (angles, etc) are removed but the 1-2, 1-3, 1-4
-weighting list is not recomputed, this can cause a later "fix
+weighting list is not re-computed, this can cause a later "fix
shake"_fix_shake.html command to fail due to an atom's bonds being
inconsistent with the weighting list. This should only happen if the
group used in the fix command includes both atoms in the bond, in
diff --git a/doc/src/dump_modify.txt b/doc/src/dump_modify.txt
index 98bcbc5e55..72f4935916 100644
--- a/doc/src/dump_modify.txt
+++ b/doc/src/dump_modify.txt
@@ -914,7 +914,7 @@ flush = yes
format = %d and %g for each integer or floating point value
image = no
label = ENTRIES
-maxifiles = -1
+maxfiles = -1
nfile = 1
pad = 0
pbc = no
diff --git a/doc/src/dump_molfile.txt b/doc/src/dump_molfile.txt
index dd2b212f0b..b5f157cf29 100644
--- a/doc/src/dump_molfile.txt
+++ b/doc/src/dump_molfile.txt
@@ -99,7 +99,7 @@ USER-MOLFILE package only provides the interface code, not the plugins.
These can be obtained from a VMD installation which has to match the
platform that you are using to compile LAMMPS for. By adding plugins
to VMD, support for new file formats can be added to LAMMPS (or VMD
-or other programs that use them) without having to recompile the
+or other programs that use them) without having to re-compile the
application itself. The plugins are installed in the directory:
/plugins//molfile
diff --git a/doc/src/fix.txt b/doc/src/fix.txt
index 9c3a1d0349..ee0d006fe8 100644
--- a/doc/src/fix.txt
+++ b/doc/src/fix.txt
@@ -30,7 +30,7 @@ Set a fix that will be applied to a group of atoms. In LAMMPS, a
timestepping or minimization. Examples include updating of atom
positions and velocities due to time integration, controlling
temperature, applying constraint forces to atoms, enforcing boundary
-conditions, computing diagnostics, etc. There are hundredes of fixes
+conditions, computing diagnostics, etc. There are hundreds of fixes
defined in LAMMPS and new ones can be added; see the
"Modify"_Modify.html doc page for details.
@@ -164,7 +164,7 @@ There are also additional accelerated fix styles included in the
LAMMPS distribution for faster performance on CPUs, GPUs, and KNLs.
The individual style names on the "Commands fix"_Commands_fix.html doc
page are followed by one or more of (g,i,k,o,t) to indicate which
-accerlerated styles exist.
+accelerated styles exist.
"adapt"_fix_adapt.html - change a simulation parameter over time
"addforce"_fix_addforce.html - add a force to each atom
diff --git a/doc/src/fix_bocs.txt b/doc/src/fix_bocs.txt
index 7acc22d702..b7d4e7badf 100644
--- a/doc/src/fix_bocs.txt
+++ b/doc/src/fix_bocs.txt
@@ -56,7 +56,7 @@ value and its corresponding pressure correction. The volumes in the file
should be uniformly spaced. Both the volumes and the pressure corrections
should be provided in the proper units, e.g. if you are using {units real},
the volumes should all be in cubic angstroms, and the pressure corrections
-should all be in atomspheres. Furthermore, the table should start/end at a
+should all be in atmospheres. Furthermore, the table should start/end at a
volume considerably smaller/larger than you expect your system to sample
during the simulation. If the system ever reaches a volume outside of the
range provided, the simulation will stop.
diff --git a/doc/src/fix_bond_react.txt b/doc/src/fix_bond_react.txt
index 327088cb99..8e7cb1bdae 100644
--- a/doc/src/fix_bond_react.txt
+++ b/doc/src/fix_bond_react.txt
@@ -34,7 +34,7 @@ react = mandatory argument indicating new reaction specification :l
Rmax = bonding pair atoms must be separated by less than Rmax to initiate reaction (distance units) :l
template-ID(pre-reacted) = ID of a molecule template containing pre-reaction topology :l
template-ID(post-reacted) = ID of a molecule template containing post-reaction topology :l
- map_file = name of file specifying corresponding atomIDs in the pre- and post-reacted templates :l
+ map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates :l
zero or more individual keyword/value pairs may be appended to each react argument :l
individual_keyword = {prob} or {stabilize_steps} :l
{prob} values = fraction seed
diff --git a/doc/src/fix_client_md.txt b/doc/src/fix_client_md.txt
new file mode 100644
index 0000000000..5b62d5617d
--- /dev/null
+++ b/doc/src/fix_client_md.txt
@@ -0,0 +1,106 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+fix client/md command :h3
+
+[Syntax:]
+
+fix ID group-ID client/md :pre
+
+ID, group-ID are documented in "fix"_fix.html command
+client/md = style name of this fix command :ul
+
+[Examples:]
+
+fix 1 all client/md :pre
+
+[Description:]
+
+This fix style enables LAMMPS to run as a "client" code and
+communicate each timestep with a separate "server" code to perform an
+MD simulation together.
+
+The "Howto client/server"_Howto_client_server.html doc page gives an
+overview of client/server coupling of LAMMPS with another code where
+one code is the "client" and sends request messages to a "server"
+code. The server responds to each request with a reply message. This
+enables the two codes to work in tandem to perform a simulation.
+
+When using this fix, LAMMPS (as the client code) passes the current
+coordinates of all particles to the server code each timestep, which
+computes their interaction, and returns the energy, forces, and virial
+for the interacting particles to LAMMPS, so it can complete the
+timestep.
+
+The server code could be a quantum code, or another classical MD code
+which encodes a force field (pair_style in LAMMPS lingo) which LAMMPS
+does not have. In the quantum case, this fix is a mechanism for
+running {ab initio} MD with quantum forces.
+
+The group associated with this fix is ignored.
+
+The protocol and "units"_units.html for message format and content
+that LAMMPS exchanges with the server code is defined on the "server
+md"_server_md.html doc page.
+
+Note that when using LAMMPS as an MD client, your LAMMPS input script
+should not normally contain force field commands, like a
+"pair_style"_doc/pair_style.html, "bond_style"_doc/bond_style.html, or
+"kspace_style"_kspace_style.html commmand. However it is possible for
+a server code to only compute a portion of the full force-field, while
+LAMMPS computes the remaining part. Your LAMMPS script can also
+specify boundary conditions or force constraints in the usual way,
+which will be added to the per-atom forces returned by the server
+code.
+
+See the examples/message dir for example scripts where LAMMPS is both
+the "client" and/or "server" code for this kind of client/server MD
+simulation. The examples/message/README file explains how to launch
+LAMMPS and another code in tandem to perform a coupled simulation.
+
+:line
+
+[Restart, fix_modify, output, run start/stop, minimize info:]
+
+No information about this fix is written to "binary restart
+files"_restart.html.
+
+The "fix_modify"_fix_modify.html {energy} option is supported by this
+fix to add the potential energy computed by the server application to
+the system's potential energy as part of "thermodynamic
+output"_thermo_style.html.
+
+The "fix_modify"_fix_modify.html {virial} option is supported by this
+fix to add the server application's contribution to the system's
+virial as part of "thermodynamic output"_thermo_style.html. The
+default is {virial yes}
+
+This fix computes a global scalar which can be accessed by various
+"output commands"_Howto_output.html. The scalar is the potential
+energy discussed above. The scalar value calculated by this fix is
+"extensive".
+
+No parameter of this fix can be used with the {start/stop} keywords of
+the "run"_run.html command. This fix is not invoked during "energy
+minimization"_minimize.html.
+
+[Restrictions:]
+
+This fix is part of the MESSAGE package. It is only enabled if LAMMPS
+was built with that package. See the "Build
+package"_Build_package.html doc page for more info.
+
+A script that uses this command must also use the
+"message"_message.html command to setup the messaging protocol with
+the other server code.
+
+[Related commands:]
+
+"message"_message.html, "server"_server.html
+
+[Default:] none
diff --git a/doc/src/fix_dt_reset.txt b/doc/src/fix_dt_reset.txt
index be4fbd255b..0c5a4493ae 100644
--- a/doc/src/fix_dt_reset.txt
+++ b/doc/src/fix_dt_reset.txt
@@ -14,7 +14,7 @@ fix ID group-ID dt/reset N Tmin Tmax Xmax keyword values ... :pre
ID, group-ID are documented in "fix"_fix.html command
dt/reset = style name of this fix command
-N = recompute dt every N timesteps
+N = re-compute dt every N timesteps
Tmin = minimum dt allowed which can be NULL (time units)
Tmax = maximum dt allowed which can be NULL (time units)
Xmax = maximum distance for an atom to move in one timestep (distance units)
diff --git a/doc/src/fix_filter_corotate.txt b/doc/src/fix_filter_corotate.txt
index b30966c2f9..4868761d42 100644
--- a/doc/src/fix_filter_corotate.txt
+++ b/doc/src/fix_filter_corotate.txt
@@ -47,7 +47,7 @@ this can significantly accelerate the simulation.
The filter computes a cluster decomposition of the molecular structure
following the criteria indicated by the options a, b, t and m. This
process is similar to the approach in "fix shake"_fix_shake.html,
-however, the clusters are not kept contrained. Instead, the position
+however, the clusters are not kept constrained. Instead, the position
is slightly modified only for the computation of long-range forces. A
good cluster decomposition constitutes in building clusters which
contain the fastest covalent bonds inside clusters.
diff --git a/doc/src/fix_ipi.txt b/doc/src/fix_ipi.txt
index b115aba7df..64486a9cc7 100644
--- a/doc/src/fix_ipi.txt
+++ b/doc/src/fix_ipi.txt
@@ -63,7 +63,7 @@ electrostatics, or that contain parameters that depend on box size:
all of these options will be initialized based on the cell size in the
LAMMPS-side initial configuration and kept constant during the run.
This is required to e.g. obtain reproducible and conserved forces.
-If the cell varies too wildly, it may be advisable to reinitialize
+If the cell varies too wildly, it may be advisable to re-initialize
these interactions at each call. This behavior can be requested by
setting the {reset} switch.
diff --git a/doc/src/fix_langevin_spin.txt b/doc/src/fix_langevin_spin.txt
index 7bb25e0a68..d4836706e2 100644
--- a/doc/src/fix_langevin_spin.txt
+++ b/doc/src/fix_langevin_spin.txt
@@ -34,7 +34,7 @@ the following stochastic differential equation:
:c,image(Eqs/fix_langevin_spin_sLLG.jpg)
-with lambda the transverse damping, and eta a random verctor.
+with lambda the transverse damping, and eta a random vector.
This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG)
equation.
diff --git a/doc/src/fix_latte.txt b/doc/src/fix_latte.txt
index bd61e29dcb..c97095bcfc 100644
--- a/doc/src/fix_latte.txt
+++ b/doc/src/fix_latte.txt
@@ -44,7 +44,7 @@ Once LAMMPS is built with the LATTE package, you can run the example
input scripts for molecular dynamics or energy minimization that are
found in examples/latte.
-A step-by-step tutorial can be follwed at: "LAMMPS-LATTE
+A step-by-step tutorial can be followed at: "LAMMPS-LATTE
tutorial"_https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS
The {peID} argument is not yet supported by fix latte, so it must be
diff --git a/doc/src/fix_lb_fluid.txt b/doc/src/fix_lb_fluid.txt
index 1a52397822..d9012d8cb3 100644
--- a/doc/src/fix_lb_fluid.txt
+++ b/doc/src/fix_lb_fluid.txt
@@ -187,7 +187,7 @@ NOTE: Care must be taken when choosing both a value for dx, and a
simulation domain size. This fix uses the same subdivision of the
simulation domain among processors as the main LAMMPS program. In
order to uniformly cover the simulation domain with lattice sites, the
-lengths of the individual LAMMPS subdomains must all be evenly
+lengths of the individual LAMMPS sub-domains must all be evenly
divisible by dx. If the simulation domain size is cubic, with equal
lengths in all dimensions, and the default value for dx is used, this
will automatically be satisfied.
diff --git a/doc/src/fix_modify.txt b/doc/src/fix_modify.txt
index ddb5f9a4cd..f50747948a 100644
--- a/doc/src/fix_modify.txt
+++ b/doc/src/fix_modify.txt
@@ -21,7 +21,7 @@ keyword = {temp} or {press} or {energy} or {virial} or {respa} or {dynamic/dof}
{virial} value = {yes} or {no}
{respa} value = {1} to {max respa level} or {0} (for outermost level)
{dynamic/dof} value = {yes} or {no}
- yes/no = do or do not recompute the number of degrees of freedom (DOF) contributing to the temperature
+ yes/no = do or do not re-compute the number of degrees of freedom (DOF) contributing to the temperature
{bodyforces} value = {early} or {late}
early/late = compute rigid-body forces/torques early or late in the timestep :pre
:ule
diff --git a/doc/src/fix_neb.txt b/doc/src/fix_neb.txt
index d331d9ad75..521dfff12b 100644
--- a/doc/src/fix_neb.txt
+++ b/doc/src/fix_neb.txt
@@ -168,7 +168,7 @@ The difference between these two {estyle} options is as follows. When
{estyle} is specified as {last/efirst}, no change is made to the
inter-replica force applied to the intermediate replicas (neither
first or last). If the initial path is too far from the MEP, an
-intermediate repilica may relax "faster" and reach a lower energy than
+intermediate replica may relax "faster" and reach a lower energy than
the last replica. In this case the intermediate replica will be
relaxing toward its own local minima. This behavior can be prevented
by specifying {estyle} as {last/efirst/middle} which will alter the
diff --git a/doc/src/fix_nh_uef.txt b/doc/src/fix_nh_uef.txt
index ae403cafd1..dc05948de3 100644
--- a/doc/src/fix_nh_uef.txt
+++ b/doc/src/fix_nh_uef.txt
@@ -174,7 +174,7 @@ This fix can be used with the "fix_modify"_fix_modify.html {temp} and
{press} options. The temperature and pressure computes used must be of
type {temp/uef} and {pressure/uef}.
-This fix computes the same global scalar and vecor quantities as "fix
+This fix computes the same global scalar and vector quantities as "fix
npt"_fix_nh.html.
The fix is not invoked during "energy minimization"_minimize.html.
diff --git a/doc/src/fix_rhok.txt b/doc/src/fix_rhok.txt
index a3d1ab702e..f013ebfae1 100644
--- a/doc/src/fix_rhok.txt
+++ b/doc/src/fix_rhok.txt
@@ -11,7 +11,7 @@ fix rhok command :h3
fix ID group-ID rhok nx ny nz K a :pre
ID, group-ID are documented in "fix"_fix.html command
-nx, ny, nz = k-vektor of collective density field
+nx, ny, nz = k-vector of collective density field
K = spring constant of bias potential
a = anchor point of bias potential :ul
diff --git a/doc/src/fix_rigid.txt b/doc/src/fix_rigid.txt
index d489762e80..5d65856735 100644
--- a/doc/src/fix_rigid.txt
+++ b/doc/src/fix_rigid.txt
@@ -442,11 +442,11 @@ couple none :pre
The keyword/value option pairs are used in the following ways.
The {reinit} keyword determines, whether the rigid body properties
-are reinitialized between run commands. With the option {yes} (the
+are re-initialized between run commands. With the option {yes} (the
default) this is done, with the option {no} this is not done. Turning
-off the reinitialization can be helpful to protect rigid bodies against
+off the re-initialization can be helpful to protect rigid bodies against
unphysical manipulations between runs or when properties cannot be
-easily recomputed (e.g. when read from a file). When using the {infile}
+easily re-computed (e.g. when read from a file). When using the {infile}
keyword, the {reinit} option is automatically set to {no}.
The {langevin} and {temp} and {tparam} keywords perform thermostatting
diff --git a/doc/src/fix_smd.txt b/doc/src/fix_smd.txt
index 644c04eadb..774842c7cf 100644
--- a/doc/src/fix_smd.txt
+++ b/doc/src/fix_smd.txt
@@ -77,7 +77,7 @@ normalized. But since it represents the {absolute} displacement of
group-ID2 relative to the fix group, (1,1,0) is a different spring
than (-1,-1,0). For each vector component, the displacement can be
described with the {auto} parameter. In this case the direction is
-recomputed in every step, which can be useful for steering a local
+re-computed in every step, which can be useful for steering a local
process where the whole object undergoes some other change. When the
relative positions and distance between the two groups are not in
equilibrium, the same spring force described above is applied to atoms
diff --git a/doc/src/fix_surface_global.txt b/doc/src/fix_surface_global.txt
index ade64d2056..2ee045141a 100644
--- a/doc/src/fix_surface_global.txt
+++ b/doc/src/fix_surface_global.txt
@@ -6,7 +6,7 @@
:line
-fix wall/surface/globale command :h3
+fix wall/surface/global command :h3
[Description:]
diff --git a/doc/src/lammps.book b/doc/src/lammps.book
index 47d05570be..72a07945e7 100644
--- a/doc/src/lammps.book
+++ b/doc/src/lammps.book
@@ -167,6 +167,7 @@ label.html
lattice.html
log.html
mass.html
+message.html
min_modify.html
min_style.html
minimize.html
@@ -194,6 +195,9 @@ reset_timestep.html
restart.html
run.html
run_style.html
+server.html
+server_mc.html
+server_md.html
set.html
shell.html
special_bonds.html
@@ -241,6 +245,7 @@ fix_bond_create.html
fix_bond_react.html
fix_bond_swap.html
fix_box_relax.html
+fix_client_md.html
fix_cmap.html
fix_colvars.html
fix_controller.html
@@ -524,6 +529,7 @@ pair_write.html
pair_adp.html
pair_agni.html
pair_airebo.html
+pair_atm.html
pair_awpmd.html
pair_beck.html
pair_body_nparticle.html
diff --git a/doc/src/message.txt b/doc/src/message.txt
new file mode 100644
index 0000000000..cca1a5b369
--- /dev/null
+++ b/doc/src/message.txt
@@ -0,0 +1,162 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Command_all.html)
+
+:line
+
+message command :h3
+
+[Syntax:]
+
+message which protocol mode arg :pre
+
+which = {client} or {server} :ulb,l
+protocol = {md} or {mc} :l
+mode = {file} or {zmq} or {mpi/one} or {mpi/two} :l
+ {file} arg = filename
+ filename = file used for message exchanges
+ {zmq} arg = socket-ID
+ socket-ID for client = localhost:5555, see description below
+ socket-ID for server = *:5555, see description below
+ {mpi/one} arg = none
+ {mpi/two} arg = filename
+ filename = file used to establish communication bewteen 2 MPI jobs :pre
+:ule
+
+[Examples:]
+
+message client md file tmp.couple
+message server md file tmp.couple :pre
+
+message client md zmq localhost:5555
+message server md zmq *:5555 :pre
+
+message client md mpi/one
+message server md mpi/one :pre
+
+message client md mpi/two tmp.couple
+message server md mpi/two tmp.couple :pre
+
+[Description:]
+
+Establish a messaging protocol between LAMMPS and another code for the
+purpose of client/server coupling.
+
+The "Howto client/server"_Howto_client_server.html doc page gives an
+overview of client/server coupling of LAMMPS with another code where
+one code is the "client" and sends request messages to a "server"
+code. The server responds to each request with a reply message. This
+enables the two codes to work in tandem to perform a simulation.
+
+:line
+
+The {which} argument defines LAMMPS to be the client or the server.
+
+:line
+
+The {protocol} argument defines the format and content of messages
+that will be exchanged between the two codes. The current options
+are:
+
+md = run dynamics with another code
+mc = perform Monte Carlo moves with another code :ul
+
+For protocol {md}, LAMMPS can be either a client or server. See the
+"server md"_server_md.html doc page for details on the protocol.
+
+For protocol {mc}, LAMMPS can be the server. See the "server
+mc"_server_mc.html doc page for details on the protocol.
+
+:line
+
+The {mode} argument specifies how messages are exchanged between the
+client and server codes. Both codes must use the same mode and use
+consistent parameters.
+
+For mode {file}, the 2 codes communicate via binary files. They must
+use the same filename, which is actually a file prefix. Several files
+with that prefix will be created and deleted as a simulation runs.
+The filename can include a path. Both codes must be able to access
+the path/file in a common filesystem.
+
+For mode {zmq}, the 2 codes communicate via a socket on the server
+code's machine. Support for socket messaging is provided by the
+open-source "ZeroMQ library"_http://zeromq.org, which must be
+installed on your system. The client specifies an IP address (IPv4
+format) or the DNS name of the machine the server code is running on,
+followed by a 4-digit port ID for the socket, separated by a colon.
+E.g.
+
+localhost:5555 # client and server running on same machine
+192.168.1.1:5555 # server is 192.168.1.1
+deptbox.uni.edu:5555 # server is deptbox.uni.edu :pre
+
+The server specifes "*:5555" where "*" represents all available
+interfaces on the server's machine, and the port ID must match
+what the client specifies.
+
+NOTE: What are allowed port IDs?
+
+NOTE: Additional explanation is needed here about how to use the {zmq}
+mode on a parallel machine, e.g. a cluster with many nodes.
+
+For mode {mpi/one}, the 2 codes communicate via MPI and are launched
+by the same mpirun command, e.g. with this syntax for OpenMPI:
+
+mpirun -np 2 lmp_mpi -mpicolor 0 -in in.client -log log.client : -np 4 othercode args # LAMMPS is client
+mpirun -np 2 othercode args : -np 4 lmp_mpi -mpicolor 1 -in in.server # LAMMPS is server :pre
+
+Note the use of the "-mpicolor color" command-line argument with
+LAMMPS. See the "command-line args"_Run_options.html doc page for
+further explanation.
+
+For mode {mpi/two}, the 2 codes communicate via MPI, but are launched
+be 2 separate mpirun commands. The specified {filename} argument is a
+file the 2 MPI processes will use to exchange info so that an MPI
+inter-communicator can be established to enable the 2 codes to send
+MPI messages to each other. Both codes must be able to access the
+path/file in a common filesystem.
+
+:line
+
+Normally, the message command should be used at the top of a LAMMPS
+input script. It performs an initial handshake with the other code to
+setup messaging and to verify that both codes are using the same
+message protocol and mode. Assuming both codes are launched at
+(nearly) the same time, the other code should perform the same kind of
+initialization.
+
+If LAMMPS is the client code, it will begin sending messages when a
+LAMMPS client command begins its operation. E.g. for the "fix
+client/md"_fix_client_md.html command, it is when a "run"_run.html
+command is executed.
+
+If LAMMPS is the server code, it will begin receiving messages when
+the "server"_server.html command is invoked.
+
+A fix client command will terminate its messaging with the server when
+LAMMPS ends, or the fix is deleted via the "unfix"_unfix command. The
+server command will terminate its messaging with the client when the
+client signals it. Then the remainder of the LAMMPS input script will
+be processed.
+
+If both codes do something similar, this means a new round of
+client/server messaging can be initiated after termination by re-using
+a 2nd message command in your LAMMPS input script, followed by a new
+fix client or server command.
+
+:line
+
+[Restrictions:]
+
+This command is part of the MESSAGE package. It is only enabled if
+LAMMPS was built with that package. See the "Build
+package"_Build_package.html doc page for more info.
+
+[Related commands:]
+
+"server"_server.html, "fix client/md"_fix_client_md.html
+
+[Default:] none
diff --git a/doc/src/neb.txt b/doc/src/neb.txt
index 57e122fdcd..75d199e0b4 100644
--- a/doc/src/neb.txt
+++ b/doc/src/neb.txt
@@ -338,9 +338,9 @@ energy gradient of image i. ReplicaForce is the two-norm of the
3N-length force vector (including nudging forces) for replica i.
MaxAtomForce is the maximum force component of any atom in replica i.
-When a NEB calculation does not converge properly, the suplementary
+When a NEB calculation does not converge properly, the supplementary
information can help understanding what is going wrong. For instance
-when the path angle becomes accute the definition of tangent used in
+when the path angle becomes accute, the definition of tangent used in
the NEB calculation is questionable and the NEB cannot may diverge
"(Maras)"_#Maras2.
diff --git a/doc/src/package.txt b/doc/src/package.txt
index 8b0581929f..65117ba3c3 100644
--- a/doc/src/package.txt
+++ b/doc/src/package.txt
@@ -363,7 +363,7 @@ specified with the OMP_NUM_THREADS environment variable or the {omp}
keyword). The extra thread is dedicated for performing part of the
"PPPM solver"_kspace_style.html computations and communications. This
can improve parallel performance on processors supporting
-Simultaneous Multithreading (SMT) such as Hyperthreading on Intel
+Simultaneous Multithreading (SMT) such as Hyper-Threading (HT) on Intel
processors. In this mode, one additional thread is generated per MPI
process. LAMMPS will generate a warning in the case that more threads
are used than available in SMT hardware on a node. If the PPPM solver
diff --git a/doc/src/pair_atm.txt b/doc/src/pair_atm.txt
new file mode 100644
index 0000000000..63a450c51a
--- /dev/null
+++ b/doc/src/pair_atm.txt
@@ -0,0 +1,164 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+pair_style atm command :h3
+
+[Syntax:]
+
+pair_style atm cutoff cutoff_triple :pre
+
+cutoff = cutoff for each pair in 3-body interaction (distance units)
+cutoff_triple = additional cutoff applied to product of 3 pairwise distances (distance units) :ul
+
+[Examples:]
+
+pair_style atm 4.5 2.5
+pair_coeff * * * 0.072 :pre
+
+pair_style hybrid/overlay lj/cut 6.5 atm 4.5 2.5
+pair_coeff * * lj/cut 1.0 1.0
+pair_coeff 1 1 atm 1 0.064
+pair_coeff 1 1 atm 2 0.080
+pair_coeff 1 2 atm 2 0.100
+pair_coeff 2 2 atm 2 0.125 :pre
+
+[Description:]
+
+The {atm} style computes a 3-body "Axilrod-Teller-Muto"_#Axilrod
+potential for the energy E of a system of atoms as
+
+:c,image(Eqs/pair_atm.jpg)
+
+where nu is the three-body interaction strength. The distances
+between pairs of atoms r12, r23, r31 and the angles gamma1, gamma2,
+gamma3 are as shown in this diagram:
+
+:c,image(JPG/pair_atm_dia.jpg)
+
+Note that for the interaction between a triplet of atoms I,J,K, there
+is no "central" atom. The interaction is symmetric with respect to
+permutation of the three atoms. Thus the nu value is
+the same for all those permutations of the atom types of I,J,K
+and needs to be specified only once, as discussed below.
+
+The {atm} potential is typically used in combination with a two-body
+potential using the "pair_style hybrid/overlay"_pair_hybrid.html
+command as in the example above.
+
+The potential for a triplet of atom is calculated only if all 3
+distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff.
+In addition, the product of the 3 distances r12*r23*r31 <
+cutoff_triple^3 is required, which excludes from calculation the
+triplets with small contribution to the interaction.
+
+The following coefficients must be defined for each pair of atoms
+types via the "pair_coeff"_pair_coeff.html command as in the examples
+above, or in the restart files read by the
+"read_restart"_read_restart.html commands:
+
+K = atom type of the third atom (1 to Ntypes)
+nu = prefactor (energy/distance^9 units) :ul
+
+K can be specified in one of two ways. An explicit numeric value can
+be used, as in the 2nd example above. J <= K is required. LAMMPS
+sets the coefficients for the other 5 symmetric interactions to the
+same values. E.g. if I = 1, J = 2, K = 3, then these 6 values are set
+to the specified nu: nu123, nu132, nu213, nu231, nu312, nu321. This
+enforces the symmetry discussed above.
+
+A wildcard asterisk can be used for K to set the coefficients for
+multiple triplets of atom types. This takes the form "*" or "*n" or
+"n*" or "m*n". If N = the number of atom types, then an asterisk with
+no numeric values means all types from 1 to N. A leading asterisk
+means all types from 1 to n (inclusive). A trailing asterisk means
+all types from n to N (inclusive). A middle asterisk means all types
+from m to n (inclusive). Note that only type triplets with J <= K are
+considered; if asterisks imply type triplets where K < J, they are
+ignored.
+
+Note that a pair_coeff command can override a previous setting for the
+same I,J,K triplet. For example, these commands set nu for all I,J.K
+triplets, then overwrite nu for just the I,J,K = 2,3,4 triplet:
+
+pair_coeff * * * 0.25
+pair_coeff 2 3 4 0.1 :pre
+
+Note that for a simulation with a single atom type, only a single
+entry is required, e.g.
+
+pair_coeff 1 1 1 0.25 :pre
+
+For a simulation with two atom types, four pair_coeff commands will
+specify all possible nu values:
+
+pair_coeff 1 1 1 nu1
+pair_coeff 1 1 2 nu2
+pair_coeff 1 2 2 nu3
+pair_coeff 2 2 2 nu4 :pre
+
+For a simulation with three atom types, ten pair_coeff commands will
+specify all possible nu values:
+
+pair_coeff 1 1 1 nu1
+pair_coeff 1 1 2 nu2
+pair_coeff 1 1 3 nu3
+pair_coeff 1 2 2 nu4
+pair_coeff 1 2 3 nu5
+pair_coeff 1 3 3 nu6
+pair_coeff 2 2 2 nu7
+pair_coeff 2 2 3 nu8
+pair_coeff 2 3 3 nu9
+pair_coeff 3 3 3 nu10 :pre
+
+By default the nu value for all triplets is set to 0.0. Thus it is
+not required to provide pair_coeff commands that enumerate triplet
+interactions for all K types. If some I,J,K combination is not
+speficied, then there will be no 3-body ATM interactions for that
+combination and all its permutations. However, as with all pair
+styles, it is required to specify a pair_coeff command for all I,J
+combinations, else an error will result.
+
+:line
+
+[Mixing, shift, table, tail correction, restart, rRESPA info]:
+
+This pair styles do not support the "pair_modify"_pair_modify.html
+mix, shift, table, and tail options.
+
+This pair style writes its information to "binary restart
+files"_restart.html, so pair_style and pair_coeff commands do not need
+to be specified in an input script that reads a restart file.
+However, if the {atm} potential is used in combination with other
+potentials using the "pair_style hybrid/overlay"_pair_hybrid.html
+command then pair_coeff commands need to be re-specified
+in the restart input script.
+
+This pair style can only be used via the {pair} keyword of the
+"run_style respa"_run_style.html command. It does not support the
+{inner}, {middle}, {outer} keywords.
+
+:line
+
+[Restrictions:]
+
+This pair style is part of the MANYBODY package. It is only enabled
+if LAMMPS was built with that package. See the "Build
+package"_Build_package.html doc page for more info.
+
+[Related commands:]
+
+"pair_coeff"_pair_coeff.html
+
+[Default:] none
+
+:line
+
+:link(Axilrod)
+[(Axilrod)]
+Axilrod and Teller, J Chem Phys, 11, 299 (1943);
+Muto, Nippon Sugaku-Buturigakkwaishi 17, 629 (1943).
diff --git a/doc/src/pair_buck6d_coul_gauss.txt b/doc/src/pair_buck6d_coul_gauss.txt
index 4c43978fe5..d9780e0320 100644
--- a/doc/src/pair_buck6d_coul_gauss.txt
+++ b/doc/src/pair_buck6d_coul_gauss.txt
@@ -52,18 +52,18 @@ The latter corrects for artifacts occurring at short distances which
become an issue for soft vdW potentials.
The {buck6d} styles include a smoothing function which is invoked
-according to the global smooting parameter within the specified
+according to the global smoothing parameter within the specified
cutoff. Hereby a parameter of i.e. 0.9 invokes the smoothing
within 90% of the cutoff. No smoothing is applied at a value
of 1.0. For the {gauss/dsf} style this smoothing is only applicable
for the dispersion damped Buckingham potential. For the {gauss/long}
styles the smoothing function can also be invoked for the real
-space coulomb interactions which enforce continous energies and
+space coulomb interactions which enforce continuous energies and
forces at the cutoff.
Both styles {buck6d/coul/gauss/dsf} and {buck6d/coul/gauss/long}
evaluate a Coulomb potential using spherical Gaussian type charge
-distributions which effectively dampen electrostatic ineractions
+distributions which effectively dampen electrostatic interactions
for high charges at close distances. The electrostatic potential
is thus evaluated as:
diff --git a/doc/src/pair_coeff.txt b/doc/src/pair_coeff.txt
index 63f85f23d5..88f95b5b2c 100644
--- a/doc/src/pair_coeff.txt
+++ b/doc/src/pair_coeff.txt
@@ -128,7 +128,7 @@ There are also additional accelerated pair styles (not listed on the
distribution for faster performance on CPUs, GPUs, and KNLs. The
individual style names on the "Commands pair"_Commands_pair.html doc
page are followed by one or more of (g,i,k,o,t) to indicate which
-accerlerated styles exist.
+accelerated styles exist.
:line
diff --git a/doc/src/pair_dsmc.txt b/doc/src/pair_dsmc.txt
index adaeeb8390..8b1ceab858 100644
--- a/doc/src/pair_dsmc.txt
+++ b/doc/src/pair_dsmc.txt
@@ -16,7 +16,7 @@ max_cell_size = global maximum cell size for DSMC interactions (distance units)
seed = random # seed (positive integer)
weighting = macroparticle weighting
Tref = reference temperature (temperature units)
-Nrecompute = recompute v*sigma_max every this many timesteps (timesteps)
+Nrecompute = re-compute v*sigma_max every this many timesteps (timesteps)
Nsample = sample this many times in recomputing v*sigma_max :ul
[Examples:]
diff --git a/doc/src/pair_ilp_graphene_hbn.txt b/doc/src/pair_ilp_graphene_hbn.txt
index 02d0db7af2..c74028faa9 100644
--- a/doc/src/pair_ilp_graphene_hbn.txt
+++ b/doc/src/pair_ilp_graphene_hbn.txt
@@ -39,7 +39,7 @@ in "(Kolmogorov)"_#Kolmogorov2.
Where Tap(r_ij) is the taper function which provides a continuous
cutoff (up to third derivative) for interatomic separations larger than
-r_c "(Maaravi)"_#Maaravi2. The definitons of each parameter in the above
+r_c "(Maaravi)"_#Maaravi2. The definitions of each parameter in the above
equation can be found in "(Leven)"_#Leven and "(Maaravi)"_#Maaravi2.
It is important to include all the pairs to build the neighbor list for
diff --git a/doc/src/pair_kolmogorov_crespi_z.txt b/doc/src/pair_kolmogorov_crespi_z.txt
index f557e6c731..912fca1657 100644
--- a/doc/src/pair_kolmogorov_crespi_z.txt
+++ b/doc/src/pair_kolmogorov_crespi_z.txt
@@ -30,7 +30,7 @@ which is to take all normals along the z-axis.
:c,image(Eqs/pair_kolmogorov_crespi_z.jpg)
-It is important to have a suffiently large cutoff to ensure smooth forces.
+It is important to have a sufficiently large cutoff to ensure smooth forces.
Energies are shifted so that they go continously to zero at the cutoff assuming
that the exponential part of {Vij} (first term) decays sufficiently fast.
This shift is achieved by the last term in the equation for {Vij} above.
diff --git a/doc/src/pair_python.txt b/doc/src/pair_python.txt
index 23da86fc49..e8baf14d2e 100644
--- a/doc/src/pair_python.txt
+++ b/doc/src/pair_python.txt
@@ -29,7 +29,7 @@ The {python} pair style provides a way to define pairwise additive
potential functions as python script code that is loaded into LAMMPS
from a python file which must contain specific python class definitions.
This allows to rapidly evaluate different potential functions without
-having to modify and recompile LAMMPS. Due to python being an
+having to modify and re-compile LAMMPS. Due to python being an
interpreted language, however, the performance of this pair style is
going to be significantly slower (often between 20x and 100x) than
corresponding compiled code. This penalty can be significantly reduced
@@ -98,7 +98,7 @@ verify, that the potential definition in the python class and in the
LAMMPS input match.
Here is an example for a single type Lennard-Jones potential class
-{LJCutMelt} in reducted units, which defines an atom type {lj} for
+{LJCutMelt} in reduced units, which defines an atom type {lj} for
which the parameters epsilon and sigma are both 1.0:
class LJCutMelt(LAMMPSPairPotential):
diff --git a/doc/src/pair_style.txt b/doc/src/pair_style.txt
index b33897c5aa..9dfead300e 100644
--- a/doc/src/pair_style.txt
+++ b/doc/src/pair_style.txt
@@ -93,7 +93,7 @@ There are also additional accelerated pair styles (not listed here)
included in the LAMMPS distribution for faster performance on CPUs,
GPUs, and KNLs. The individual style names on the "Commands
pair"_Commands_pair.html doc page are followed by one or more of
-(g,i,k,o,t) to indicate which accerlerated styles exist.
+(g,i,k,o,t) to indicate which accelerated styles exist.
"pair_style none"_pair_none.html - turn off pairwise interactions
"pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions
@@ -103,6 +103,7 @@ pair"_Commands_pair.html doc page are followed by one or more of
"pair_style adp"_pair_adp.html - angular dependent potential (ADP) of Mishin
"pair_style airebo"_pair_airebo.html - AIREBO potential of Stuart
"pair_style airebo/morse"_pair_airebo.html - AIREBO with Morse instead of LJ
+"pair_style atm"_pair_atm.html - Axilrod-Teller-Muto potential
"pair_style beck"_pair_beck.html - Beck potential
"pair_style body/nparticle"_pair_body_nparticle.html - interactions between body particles
"pair_style bop"_pair_bop.html - BOP potential of Pettifor
diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt
index 4c3eef2cd1..d535798482 100644
--- a/doc/src/pairs.txt
+++ b/doc/src/pairs.txt
@@ -8,6 +8,7 @@ Pair Styles :h1
pair_adp
pair_agni
pair_airebo
+ pair_atm
pair_awpmd
pair_beck
pair_body_nparticle
diff --git a/doc/src/read_data.txt b/doc/src/read_data.txt
index ef899a15b4..6aa30d9e63 100644
--- a/doc/src/read_data.txt
+++ b/doc/src/read_data.txt
@@ -124,14 +124,14 @@ bond atoms or bad dynamics.
The three choices for the {add} argument affect how the atom IDs and
molecule IDs of atoms in the data file are treated. If {append} is
specified, atoms in the data file are added to the current system,
-with their atom IDs reset so that an atomID = M in the data file
-becomes atomID = N+M, where N is the largest atom ID in the current
+with their atom IDs reset so that an atom-ID = M in the data file
+becomes atom-ID = N+M, where N is the largest atom ID in the current
system. This rule is applied to all occurrences of atom IDs in the
data file, e.g. in the Velocity or Bonds section. This is also done
for molecule IDs, if the atom style does support molecule IDs or
they are enabled via fix property/atom. If {IDoffset} is specified,
then {IDoffset} is a numeric value is given, e.g. 1000, so that an
-atomID = M in the data file becomes atomID = 1000+M. For systems
+atom-ID = M in the data file becomes atom-ID = 1000+M. For systems
with enabled molecule IDs, another numerical argument {MOLoffset}
is required representing the equivalent offset for molecule IDs.
If {merge} is specified, the data file atoms
@@ -139,7 +139,7 @@ are added to the current system without changing their IDs. They are
assumed to merge (without duplication) with the currently defined
atoms. It is up to you to insure there are no multiply defined atom
IDs, as LAMMPS only performs an incomplete check that this is the case
-by insuring the resulting max atomID >= the number of atoms. For
+by insuring the resulting max atom-ID >= the number of atoms. For
molecule IDs, there is no check done at all.
The {offset} and {shift} keywords can only be used if the {add}
diff --git a/doc/src/replicate.txt b/doc/src/replicate.txt
index 0195dce911..79a481746e 100644
--- a/doc/src/replicate.txt
+++ b/doc/src/replicate.txt
@@ -14,7 +14,7 @@ replicate nx ny nz {keyword} :pre
nx,ny,nz = replication factors in each dimension :ulb
optional {keyword} = {bbox} :l
- {bbox} = only check atoms in replicas that overlap with a processor's subdomain :ule
+ {bbox} = only check atoms in replicas that overlap with a processor's sub-domain :ule
[Examples:]
@@ -46,7 +46,7 @@ image flags that differ by 1. This will allow the bond to be
unwrapped appropriately.
The optional keyword {bbox} uses a bounding box to only check atoms
-in replicas that overlap with a processor's subdomain when assigning
+in replicas that overlap with a processor's sub-domain when assigning
atoms to processors, and thus can result in substantial speedups for
calculations using a large number of processors. It does require
temporarily using more memory.
diff --git a/doc/src/reset_ids.txt b/doc/src/reset_ids.txt
index 391b51fde9..8b217c7b1c 100644
--- a/doc/src/reset_ids.txt
+++ b/doc/src/reset_ids.txt
@@ -23,7 +23,7 @@ for bond, angle, dihedral, improper topology data. This will
create a set of IDs that are numbered contiguously from 1 to N
for a N atoms system.
-This can be useful to do after perfoming a "delete_atoms" command for
+This can be useful to do after performing a "delete_atoms" command for
a molecular system. The delete_atoms compress yes option will not
perform this operation due to the existence of bond topology. It can
also be useful to do after any simulation which has lost atoms,
diff --git a/doc/src/restart.txt b/doc/src/restart.txt
index 7c034f36e0..e0fae3909d 100644
--- a/doc/src/restart.txt
+++ b/doc/src/restart.txt
@@ -49,7 +49,7 @@ as it writes successive restart files.
Note that you can specify the restart command twice, once with a
single filename and once with two filenames. This would allow you,
for example, to write out archival restart files every 100000 steps
-using a single filenname, and more frequent temporary restart files
+using a single filename, and more frequent temporary restart files
every 1000 steps, using two filenames. Using restart 0 will turn off
both modes of output.
diff --git a/doc/src/run_style.txt b/doc/src/run_style.txt
index 6dd9b56908..9defd1314e 100644
--- a/doc/src/run_style.txt
+++ b/doc/src/run_style.txt
@@ -318,7 +318,7 @@ bond forces = level 1 (innermost loop)
angle forces = same level as bond forces
dihedral forces = same level as angle forces
improper forces = same level as dihedral forces
-pair forces = leven N (outermost level)
+pair forces = level N (outermost level)
kspace forces = same level as pair forces
inner, middle, outer forces = no default :ul
diff --git a/doc/src/server.txt b/doc/src/server.txt
new file mode 100644
index 0000000000..86fb68d012
--- /dev/null
+++ b/doc/src/server.txt
@@ -0,0 +1,71 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+server command :h3
+
+[Syntax:]
+
+server protocol :pre
+
+protocol = {md} or {mc} :ul
+
+[Examples:]
+
+server md :pre
+
+[Description:]
+
+This command starts LAMMPS running in "server" mode, where it receives
+messages from a separate "client" code and responds by sending a reply
+message back to the client. The specified {protocol} determines the
+format and content of messages LAMMPS expects to receive and how it
+responds.
+
+The "Howto client/server"_Howto_client_server.html doc page gives an
+overview of client/server coupling of LAMMPS with another code where
+one code is the "client" and sends request messages to a "server"
+code. The server responds to each request with a reply message. This
+enables the two codes to work in tandem to perform a simulation.
+
+When this command is invoked, LAMMPS will run in server mode in an
+endless loop, waiting for messages from the client code. The client
+signals when it is done sending messages to LAMMPS, at which point the
+loop will exit, and the remainder of the LAMMPS script will be
+processed.
+
+The {protocol} argument defines the format and content of messages
+that will be exchanged between the two codes. The current options
+are:
+
+"md"_server_md.html = run dynamics with another code
+"mc"_server_mc.html = perform Monte Carlo moves with another code :ul
+
+For protocol {md}, LAMMPS can be either a client (via the "fix
+client/md"_fix_client_md.html command) or server. See the "server
+md"_server_md.html doc page for details on the protocol.
+
+For protocol {mc}, LAMMPS can be the server. See the "server
+mc"_server_mc.html doc page for details on the protocol.
+
+:line
+
+[Restrictions:]
+
+This command is part of the MESSAGE package. It is only enabled if
+LAMMPS was built with that package. See the "Build
+package"_Build_package.html doc page for more info.
+
+A script that uses this command must also use the
+"message"_message.html command to setup the messaging protocol with
+the other client code.
+
+[Related commands:]
+
+"message"_message.html, "fix client/md"_fix_client_md.html
+
+[Default:] none
diff --git a/doc/src/server_mc.txt b/doc/src/server_mc.txt
new file mode 100644
index 0000000000..53ccfc8ecd
--- /dev/null
+++ b/doc/src/server_mc.txt
@@ -0,0 +1,116 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+server mc command :h3
+
+[Syntax:]
+
+server mc :pre
+
+mc = the protocol argument to the "server"_server.html command
+
+[Examples:]
+
+server mc :pre
+
+[Description:]
+
+This command starts LAMMPS running in "server" mode, where it will
+expect messages from a separate "client" code that match the {mc}
+protocol for format and content explained below. For each message
+LAMMPS receives it will send a message back to the client.
+
+The "Howto client/server"_Howto_client_server.html doc page gives an
+overview of client/server coupling of LAMMPS with another code where
+one code is the "client" and sends request messages to a "server"
+code. The server responds to each request with a reply message. This
+enables the two codes to work in tandem to perform a simulation.
+
+When this command is invoked, LAMMPS will run in server mode in an
+endless loop, waiting for messages from the client code. The client
+signals when it is done sending messages to LAMMPS, at which point the
+loop will exit, and the remainder of the LAMMPS script will be
+processed.
+
+The "server"_server.html doc page gives other options for using LAMMPS
+See an example of how this command is used in
+examples/COUPLE/lammps_mc/in.server.
+
+:line
+
+When using this command, LAMMPS (as the server code) receives
+instructions from a Monte Carlo (MC) driver to displace random atoms,
+compute the energy before and after displacement, and run dynamics to
+equilibrate the system.
+
+The MC driver performs the random displacements on random atoms,
+accepts or rejects the move in an MC sense, and orchestrates the MD
+runs.
+
+The format and content of the exchanged messages are explained here in
+a conceptual sense. Python-style pseudo code for the library calls to
+the CSlib is shown, which performs the actual message exchange between
+the two codes. See the "CSlib website"_http://cslib.sandia.gov doc
+pages for more details on the actual library syntax. The "cs" object
+in this pseudo code is a pointer to an instance of the CSlib.
+
+See the src/MESSAGE/server_mc.cpp file for details on how LAMMPS uses
+these messages. See the examples/COUPLE/lammmps_mc/mc.cpp file for an
+example of how an MC driver code can use these messages.
+
+Let NATOMS=1, EINIT=2, DISPLACE=3, ACCEPT=4, RUN=5.
+
+[Client sends one of these kinds of message]:
+
+cs->send(NATOMS,0) # msgID = 1 with no fields :pre
+
+cs->send(EINIT,0) # msgID = 2 with no fields :pre
+
+cs->send(DISPLACE,2) # msgID = 3 with 2 fields
+cs->pack_int(1,ID) # 1st field = ID of atom to displace
+cs->pack(2,3,xnew) # 2nd field = new xyz coords of displaced atom :pre
+
+cs->send(ACCEPT,1) # msgID = 4 with 1 field
+cs->pack_int(1,flag) # 1st field = accept/reject flag :pre
+
+cs->send(RUN,1) # msgID = 5 with 1 field
+cs->pack_int(1,nsteps) # 1st field = # of timesteps to run MD :pre
+
+[Server replies]:
+
+cs->send(NATOMS,1) # msgID = 1 with 1 field
+cs->pack_int(1,natoms) # 1st field = number of atoms :pre
+
+cs->send(EINIT,2) # msgID = 2 with 2 fields
+cs->pack_double(1,poteng) # 1st field = potential energy of system
+cs->pack(2,3*natoms,x) # 2nd field = 3N coords of Natoms :pre
+
+cs->send(DISPLACE,1) # msgID = 3 with 1 field
+cs->pack_double(1,poteng) # 1st field = new potential energy of system :pre
+
+cs->send(ACCEPT,0) # msgID = 4 with no fields
+
+cs->send(RUN,0) # msgID = 5 with no fields
+
+:line
+
+[Restrictions:]
+
+This command is part of the MESSAGE package. It is only enabled if
+LAMMPS was built with that package. See the "Build
+package"_Build_package.html doc page for more info.
+
+A script that uses this command must also use the
+"message"_message.html command to setup the messaging protocol with
+the other client code.
+
+[Related commands:]
+
+"message"_message.html
+
+[Default:] none
diff --git a/doc/src/server_md.txt b/doc/src/server_md.txt
new file mode 100644
index 0000000000..0db7bbe16b
--- /dev/null
+++ b/doc/src/server_md.txt
@@ -0,0 +1,147 @@
+"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
+
+:link(lws,http://lammps.sandia.gov)
+:link(ld,Manual.html)
+:link(lc,Commands_all.html)
+
+:line
+
+server md command :h3
+
+[Syntax:]
+
+server md :pre
+
+md = the protocol argument to the "server"_server.html command
+
+[Examples:]
+
+server md :pre
+
+[Description:]
+
+This command starts LAMMPS running in "server" mode, where it will
+expect messages from a separate "client" code that match the {md}
+protocol for format and content explained below. For each message
+LAMMPS receives it will send a message back to the client.
+
+The "Howto client/server"_Howto_client_server.html doc page gives an
+overview of client/server coupling of LAMMPS with another code where
+one code is the "client" and sends request messages to a "server"
+code. The server responds to each request with a reply message. This
+enables the two codes to work in tandem to perform a simulation.
+
+When this command is invoked, LAMMPS will run in server mode in an
+endless loop, waiting for messages from the client code. The client
+signals when it is done sending messages to LAMMPS, at which point the
+loop will exit, and the remainder of the LAMMPS script will be
+processed.
+
+The "server"_server.html doc page gives other options for using LAMMPS
+in server mode. See an example of how this command is used in
+examples/message/in.message.server.
+
+:line
+
+When using this command, LAMMPS (as the server code) receives the
+current coordinates of all particles from the client code each
+timestep, computes their interaction, and returns the energy, forces,
+and pressure for the interacting particles to the client code, so it
+can complete the timestep. This command could also be used with a
+client code that performs energy minimization, using the server to
+compute forces and energy each iteration of its minimizer.
+
+When using the "fix client/md" command, LAMMPS (as the client code)
+does the timestepping and receives needed energy, forces, and pressure
+values from the server code.
+
+The format and content of the exchanged messages are explained here in
+a conceptual sense. Python-style pseudo code for the library calls to
+the CSlib is shown, which performs the actual message exchange between
+the two codes. See the "CSlib website"_http://cslib.sandia.gov doc
+pages for more details on the actual library syntax. The "cs" object
+in this pseudo code is a pointer to an instance of the CSlib.
+
+See the src/MESSAGE/server_md.cpp and src/MESSAGE/fix_client_md.cpp
+files for details on how LAMMPS uses these messages. See the
+examples/COUPLE/lammps_vasp/vasp_wrapper.py file for an example of how
+a quantum code (VASP) can use use these messages.
+
+The following pseudo-code uses these values, defined as enums.
+
+enum{SETUP=1,STEP};
+enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE};
+enum{FORCES=1,ENERGY,PRESSURE,ERROR}; :pre
+
+[Client sends 2 kinds of messages]:
+
+# required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS
+# optional fields: UNITS, CHARGE :pre
+
+cs->send(SETUP,nfields) # msgID with nfields :pre
+
+cs->pack_int(DIM,dim) # dimension (2,3) of simulation
+cs->pack(PERIODICITY,3,xyz) # periodicity flags in 3 dims
+cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box
+cs->pack(BOX,9,box) # 3 edge vectors of simulation box
+cs->pack_int(NATOMS,natoms) # total number of atoms
+cs->pack_int(NTYPES,ntypes) # number of atom types
+cs->pack(TYPES,natoms,type) # vector of per-atom types
+cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords
+cs->pack_string(UNITS,units) # units = "lj", "real", "metal", etc
+cs->pack(CHARGE,natoms,q) # vector of per-atom charge :pre
+
+# required fields: COORDS
+# optional fields: ORIGIN, BOX :pre
+
+cs->send(STEP,nfields) # msgID with nfields :pre
+
+cs->pack(COORDS,3*natoms,x) # vector of 3N atom coords
+cs->pack(ORIGIN,3,origin) # lower-left corner of simulation box
+cs->pack(BOX,9,box) # 3 edge vectors of simulation box
+
+[Server replies to either kind of message]:
+
+# required fields: FORCES, ENERGY, PRESSURE
+# optional fields: ERROR :pre
+
+cs->send(msgID,nfields) # msgID with nfields
+cs->pack(FORCES,3*Natoms,f) # vector of 3N forces on atoms
+cs->pack(ENERGY,1,poteng) # total potential energy of system
+cs->pack(PRESSURE,6,press) # global pressure tensor (6-vector)
+cs->pack_int(ERROR,flag) # server had an error (e.g. DFT non-convergence) :pre
+
+:line
+
+The units for various quantities that are sent and received iva
+messages are defined for atomic-scale simulations in the table below.
+The client and server codes (including LAMMPS) can use internal units
+different than these (e.g. "real units"_units.html in LAMMPS), so long
+as they convert to these units for meesaging.
+
+COORDS, ORIGIN, BOX = Angstroms
+CHARGE = multiple of electron charge (1.0 is a proton)
+ENERGY = eV
+FORCES = eV/Angstrom
+PRESSURE = bars :ul
+
+Note that these are "metal units"_units.html in LAMMPS.
+
+If you wish to run LAMMPS in another its non-atomic units, e.g. "lj
+units"_units.html, then the client and server should exchange a UNITS
+message as indicated above, and both the client and server should
+agree on the units for the data they exchange.
+
+:line
+
+[Restrictions:]
+
+This command is part of the MESSAGE package. It is only enabled if
+LAMMPS was built with that package. See the "Build
+package"_Build_package.html doc page for more info.
+
+[Related commands:]
+
+"message"_message.html, "fix client/md"_fix_client_md.html
+
+[Default:] none
diff --git a/doc/src/special_bonds.txt b/doc/src/special_bonds.txt
index a57b61664d..283aad6c2d 100644
--- a/doc/src/special_bonds.txt
+++ b/doc/src/special_bonds.txt
@@ -64,7 +64,7 @@ e.g. when using the "pair_style hybrid"_pair_hybrid.html command.
Thus LAMMPS ignores special_bonds settings when manybody potentials
are calculated. Please note, that the existence of explicit bonds
for atoms that are described by a manybody potential will alter the
-neigborlist and thus can render the computation of those interactions
+neighbor list and thus can render the computation of those interactions
invalid, since those pairs are not only used to determine direct
pairwise interactions but also neighbors of neighbors and more.
The recommended course of action is to remove such bonds, or - if
@@ -110,7 +110,7 @@ simulation.
The two exceptions to this rule are (a) if the {angle} or {dihedral}
keywords are set to {yes} (see below), or (b) if the
"delete_bonds"_delete_bonds.html command is used with the {special}
-option that recomputes the 1-2,1-3,1-4 topologies after bonds are
+option that re-computes the 1-2,1-3,1-4 topologies after bonds are
deleted; see the "delete_bonds"_delete_bonds.html command for more
details.
diff --git a/doc/utils/converters/lammpsdoc/lammps_filters.py b/doc/utils/converters/lammpsdoc/lammps_filters.py
index 11460185db..7b1481ceb9 100644
--- a/doc/utils/converters/lammpsdoc/lammps_filters.py
+++ b/doc/utils/converters/lammpsdoc/lammps_filters.py
@@ -64,7 +64,7 @@ def filter_file_header_until_first_horizontal_line(content):
common_links = "\n.. _lws: http://lammps.sandia.gov\n" \
".. _ld: Manual.html\n" \
- ".. _lc: Section_commands.html#comm\n"
+ ".. _lc: Commands_all.html\n"
if first_hr >= 0:
return content[first_hr+len(hr):].lstrip() + common_links
diff --git a/doc/utils/converters/tests/test_lammps_filters.py b/doc/utils/converters/tests/test_lammps_filters.py
index 6c25c23a79..8d2fa2e577 100644
--- a/doc/utils/converters/tests/test_lammps_filters.py
+++ b/doc/utils/converters/tests/test_lammps_filters.py
@@ -47,7 +47,7 @@ class TestStructuralFilters(unittest.TestCase):
self.assertEqual("Title\n\n"
"\n.. _lws: http://lammps.sandia.gov\n"
".. _ld: Manual.html\n"
- ".. _lc: Section_commands.html#comm\n", s)
+ ".. _lc: Commands_all.html\n", s)
def test_filter_multiple_horizontal_rules(self):
s = self.txt2rst.convert(":hline\n"
diff --git a/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html b/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html
index 39ee684a0b..1eb53c70a2 100644
--- a/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html
+++ b/doc/utils/sphinx-config/_themes/lammps_theme/breadcrumbs.html
@@ -18,7 +18,7 @@
View page source
{% endif %}
Website
- Commands
+ Commands
{% endif %}
diff --git a/doc/utils/sphinx-config/false_positives.txt b/doc/utils/sphinx-config/false_positives.txt
index fb08e4e97e..febd5c20a0 100644
--- a/doc/utils/sphinx-config/false_positives.txt
+++ b/doc/utils/sphinx-config/false_positives.txt
@@ -260,6 +260,8 @@ Caro
cartesian
Cates
cbecker
+ccache
+ccmake
CCu
cd
cdeam
@@ -286,6 +288,9 @@ cgs
Chalopin
Champaign
charmm
+charmmfsw
+charmmfsh
+charmm
CHARMM
checkmark
checkqeq
@@ -308,6 +313,8 @@ Clebsch
Clermont
clo
Clovertown
+cmake
+CMake
cmap
Cmax
cmdlist
@@ -410,6 +417,7 @@ Cval
cvar
cvff
cwiggle
+cygwin
Cygwin
Cyrot
cyrstals
@@ -585,6 +593,7 @@ ehanced
ehex
eHEX
Ei
+Eigen
Eigensolve
Eike
eim
@@ -713,7 +722,10 @@ fhg
Fi
figshare
Fij
-filenname
+filename
+filenames
+Filename
+Filenames
fileper
Fincham
Finchham
@@ -1385,6 +1397,7 @@ Mikami
Militzer
Minary
mincap
+mingw
minima
minimizations
minimizer
@@ -1456,6 +1469,7 @@ Mtotal
Muccioli
Mukherjee
Mulders
+multi
multibody
Multibody
multicenter
@@ -2489,6 +2503,7 @@ velocites
Verlag
verlet
Verlet
+versa
ves
vhi
vibrational
@@ -2566,6 +2581,7 @@ whitespace
Wi
Wicaksono
wih
+wildcard
Wirnsberger
wirtes
witin
diff --git a/examples/COUPLE/README b/examples/COUPLE/README
index 83e7463531..0e611befbd 100644
--- a/examples/COUPLE/README
+++ b/examples/COUPLE/README
@@ -10,6 +10,7 @@ See these sections of the LAMMPS manaul for details:
2.5 Building LAMMPS as a library (doc/Section_start.html#start_5)
6.10 Coupling LAMMPS to other codes (doc/Section_howto.html#howto_10)
+6.29 Using LAMMPS in client/server mode (doc/Section_howto.html#howto_29)
In all of the examples included here, LAMMPS must first be built as a
library. Basically, in the src dir you type one of
@@ -33,9 +34,13 @@ These are the sub-directories included in this directory:
simple simple example of driver code calling LAMMPS as a lib
multiple example of driver code calling multiple instances of LAMMPS
+lammps_mc client/server coupling of Monte Carlo client
+ with LAMMPS server for energy evaluation
lammps_quest MD with quantum forces, coupling to Quest DFT code
lammps_spparks grain-growth Monte Carlo with strain via MD,
coupling to SPPARKS kinetic MC code
+lammps_vasp client/server coupling of LAMMPS client with
+ VASP quantum DFT as server for quantum forces
library collection of useful inter-code communication routines
fortran a simple wrapper on the LAMMPS library API that
can be called from Fortran
diff --git a/examples/COUPLE/lammps_mc/Makefile b/examples/COUPLE/lammps_mc/Makefile
new file mode 100644
index 0000000000..c75bd08c73
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/Makefile
@@ -0,0 +1,33 @@
+# Makefile for MC
+
+SHELL = /bin/sh
+
+SRC = mc.cpp random_park.cpp
+OBJ = $(SRC:.cpp=.o)
+
+# change this line for your machine to path for CSlib src dir
+
+CSLIB = /home/sjplimp/lammps/lib/message/cslib/src
+
+# compiler/linker settings
+
+CC = g++
+CCFLAGS = -g -O3 -I$(CSLIB)
+LINK = g++
+LINKFLAGS = -g -O -L$(CSLIB)
+
+# targets
+
+mc: $(OBJ)
+# first line if built the CSlib within lib/message with ZMQ support
+# second line if built the CSlib without ZMQ support
+ $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -lzmq -o mc
+# $(LINK) $(LINKFLAGS) $(OBJ) -lcsnompi -o mc
+
+clean:
+ @rm -f *.o mc
+
+# rules
+
+%.o:%.cpp
+ $(CC) $(CCFLAGS) -c $<
diff --git a/examples/COUPLE/lammps_mc/README b/examples/COUPLE/lammps_mc/README
new file mode 100644
index 0000000000..c201a6351c
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/README
@@ -0,0 +1,128 @@
+Sample Monte Carlo (MC) wrapper on LAMMPS via client/server coupling
+
+See the MESSAGE package (doc/Section_messages.html#MESSAGE)
+and Section_howto.html#howto10 for more details on how
+client/server coupling works in LAMMPS.
+
+In this dir, the mc.cpp/h files are a standalone "client" MC code. It
+should be run on a single processor, though it could become a parallel
+program at some point. LAMMPS is also run as a standalone executable
+as a "server" on as many processors as desired using its "server mc"
+command; see it's doc page for details.
+
+Messages are exchanged between MC and LAMMPS via a client/server
+library (CSlib), which is included in the LAMMPS distribution in
+lib/message. As explained below you can choose to exchange data
+between the two programs either via files or sockets (ZMQ). If the MC
+program became parallel, data could also be exchanged via MPI.
+
+The MC code makes simple MC moves, by displacing a single random atom
+by a small random amount. It uses LAMMPS to calculate the energy
+change, and to run dynamics between MC moves.
+
+----------------
+
+Build LAMMPS with its MESSAGE package installed:
+
+See the Build extras doc page and its MESSAGE package
+section for details.
+
+CMake:
+
+-D PKG_MESSAGE=yes # include the MESSAGE package
+-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
+
+Traditional make:
+
+% cd lammps/lib/message
+% python Install.py -m -z # build CSlib with MPI and ZMQ support
+% cd lammps/src
+% make yes-message
+% make mpi
+
+You can leave off the -z if you do not have ZMQ on your system.
+
+----------------
+
+Build the MC client code
+
+The source files for the MC code are in this dir. It links with the
+CSlib library in lib/message/cslib.
+
+You must first build the CSlib in serial mode, e.g.
+
+% cd lammps/lib/message/cslib/src
+% make lib # build serial and parallel lib with ZMQ support
+% make lib zmq=no # build serial and parallel lib without ZMQ support
+
+Then edit the Makefile in this dir. The CSLIB variable should be the
+path to where the LAMMPS lib/message/cslib/src dir is on your system.
+If you built the CSlib without ZMQ support you will also need to
+comment/uncomment one line. Then you can just type
+
+% make
+
+and you should get an "mc" executable.
+
+----------------
+
+To run in client/server mode:
+
+Both the client (MC) and server (LAMMPS) must use the same messaging
+mode, namely file or zmq. This is an argument to the MC code; it can
+be selected by setting the "mode" variable when you run LAMMPS. The
+default mode = file.
+
+Here we assume LAMMPS was built to run in parallel, and the MESSAGE
+package was installed with socket (ZMQ) support. This means either of
+the messaging modes can be used and LAMMPS can be run in serial or
+parallel. The MC code is always run in serial.
+
+When you run, the server should print out thermodynamic info
+for every MD run it performs (between MC moves). The client
+will print nothing until the simulation ends, then it will
+print stats about the accepted MC moves.
+
+The examples below are commands you should use in two different
+terminal windows. The order of the two commands (client or server
+launch) does not matter. You can run them both in the same window if
+you append a "&" character to the first one to run it in the
+background.
+
+--------------
+
+File mode of messaging:
+
+% mpirun -np 1 mc in.mc file tmp.couple
+% mpirun -np 1 lmp_mpi -v mode file < in.mc.server
+
+% mpirun -np 1 mc in.mc file tmp.couple
+% mpirun -np 4 lmp_mpi -v mode file < in.mc.server
+
+ZMQ mode of messaging:
+
+% mpirun -np 1 mc in.mc zmq localhost:5555
+% mpirun -np 1 lmp_mpi -v mode zmq < in.mc.server
+
+% mpirun -np 1 mc in.mc zmq localhost:5555
+% mpirun -np 4 lmp_mpi -v mode zmq < in.mc.server
+
+--------------
+
+The input script for the MC program is in.mc. You can edit it to run
+longer simulations.
+
+500 nsteps = total # of steps of MD
+100 ndynamics = # of MD steps between MC moves
+0.1 delta = displacement size of MC move
+1.0 temperature = used in MC Boltzman factor
+12345 seed = random number seed
+
+--------------
+
+The problem size that LAMMPS is computing the MC energy for and
+running dynamics on is set by the x,y,z variables in the LAMMPS
+in.mc.server script. The default size is 500 particles. You can
+adjust the size as follows:
+
+lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles
diff --git a/examples/COUPLE/lammps_mc/in.mc b/examples/COUPLE/lammps_mc/in.mc
new file mode 100644
index 0000000000..85052d09f1
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/in.mc
@@ -0,0 +1,7 @@
+# MC params
+
+500 nsteps
+100 ndynamics
+0.1 delta
+1.0 temperature
+12345 seed
diff --git a/examples/COUPLE/lammps_mc/in.mc.server b/examples/COUPLE/lammps_mc/in.mc.server
new file mode 100644
index 0000000000..8b10bb0f7b
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/in.mc.server
@@ -0,0 +1,36 @@
+# 3d Lennard-Jones Monte Carlo server script
+
+variable mode index file
+
+if "${mode} == file" then &
+ "message server mc file tmp.couple" &
+elif "${mode} == zmq" &
+ "message server mc zmq *:5555" &
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+region box block 0 $x 0 $y 0 $z
+create_box 1 box
+create_atoms 1 box
+mass 1 1.0
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 20 check no
+
+velocity all create 1.44 87287 loop geom
+
+fix 1 all nve
+
+thermo 50
+
+server mc
diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1 b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1
new file mode 100644
index 0000000000..0d67c89cf1
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.1
@@ -0,0 +1,254 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones Monte Carlo server script
+
+variable mode index file
+
+if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
+message server mc file tmp.couple
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000649929 secs
+mass 1 1.0
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 20 check no
+
+velocity all create 1.44 87287 loop geom
+
+fix 1 all nve
+
+thermo 50
+
+server mc
+run 0
+Neighbor list info ...
+ update every 20 steps, delay 0 steps, check no
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7733681 0 -4.6176881 -5.0221006
+Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
+
+93.2% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.146e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1956 ave 1956 max 1956 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 19500 ave 19500 max 19500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 19500
+Ave neighs/atom = 39
+Neighbor list builds = 0
+Dangerous builds not checked
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
+
+93.2% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.146e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1956 ave 1956 max 1956 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 19501 ave 19501 max 19501 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 19501
+Ave neighs/atom = 39.002
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+ 50 0.70239211 -5.6763152 0 -4.6248342 0.59544428
+ 100 0.7565013 -5.757431 0 -4.6249485 0.21982657
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405
+Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
+
+157.3% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 1.907e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1939 ave 1939 max 1939 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18757 ave 18757 max 18757 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18757
+Ave neighs/atom = 37.514
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.7565013 -5.757431 0 -4.6249485 0.21982657
+ 150 0.76110797 -5.7664315 0 -4.6270529 0.16005254
+ 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73505651 -5.7181381 0 -4.6177585 0.37629943
+Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
+
+139.8% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.146e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1899 ave 1899 max 1899 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18699 ave 18699 max 18699 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18699
+Ave neighs/atom = 37.398
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
+ 250 0.73052476 -5.7206316 0 -4.627036 0.39287516
+ 300 0.76300831 -5.7675007 0 -4.6252773 0.16312925
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76300831 -5.768304 0 -4.6260806 0.15954325
+Loop time of 2.14577e-06 on 1 procs for 0 steps with 500 atoms
+
+139.8% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.146e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1903 ave 1903 max 1903 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18715 ave 18715 max 18715 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18715
+Ave neighs/atom = 37.43
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76300831 -5.768304 0 -4.6260806 0.15954325
+ 350 0.72993309 -5.7193261 0 -4.6266162 0.3358374
+ 400 0.72469448 -5.713463 0 -4.6285954 0.44859547
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832
+Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
+
+157.3% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 1.907e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1899 ave 1899 max 1899 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18683 ave 18683 max 18683 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18683
+Ave neighs/atom = 37.366
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.72469448 -5.713463 0 -4.6285954 0.44859547
+ 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587
+ 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809
+Total wall time: 0:00:02
diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4 b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4
new file mode 100644
index 0000000000..2ae51d2461
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/log.28Aug18.file.g++.4
@@ -0,0 +1,254 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones Monte Carlo server script
+
+variable mode index file
+
+if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
+message server mc file tmp.couple
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 2 by 2 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000592947 secs
+mass 1 1.0
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 20 check no
+
+velocity all create 1.44 87287 loop geom
+
+fix 1 all nve
+
+thermo 50
+
+server mc
+run 0
+Neighbor list info ...
+ update every 20 steps, delay 0 steps, check no
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7733681 0 -4.6176881 -5.0221006
+Loop time of 3.8147e-06 on 4 procs for 0 steps with 500 atoms
+
+59.0% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.815e-06 | | |100.00
+
+Nlocal: 125 ave 125 max 125 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Nghost: 1099 ave 1099 max 1099 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Neighs: 4875 ave 4875 max 4875 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 19500
+Ave neighs/atom = 39
+Neighbor list builds = 0
+Dangerous builds not checked
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms
+
+106.9% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.04e-06 | | |100.00
+
+Nlocal: 125 ave 125 max 125 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Nghost: 1099 ave 1099 max 1099 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Neighs: 4875.25 ave 4885 max 4866 min
+Histogram: 1 0 0 0 2 0 0 0 0 1
+
+Total # of neighbors = 19501
+Ave neighs/atom = 39.002
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+ 50 0.70210225 -5.6759068 0 -4.6248598 0.59609192
+ 100 0.75891559 -5.7611234 0 -4.6250267 0.20841608
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
+Loop time of 3.75509e-06 on 4 procs for 0 steps with 500 atoms
+
+113.2% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.755e-06 | | |100.00
+
+Nlocal: 125 ave 126 max 124 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+Nghost: 1085.25 ave 1089 max 1079 min
+Histogram: 1 0 0 0 0 1 0 0 0 2
+Neighs: 4690.25 ave 4996 max 4401 min
+Histogram: 1 0 0 1 0 1 0 0 0 1
+
+Total # of neighbors = 18761
+Ave neighs/atom = 37.522
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
+ 150 0.75437991 -5.7558622 0 -4.6265555 0.20681722
+ 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023
+Loop time of 2.563e-06 on 4 procs for 0 steps with 500 atoms
+
+117.1% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.563e-06 | | |100.00
+
+Nlocal: 125 ave 126 max 123 min
+Histogram: 1 0 0 0 0 0 1 0 0 2
+Nghost: 1068.5 ave 1076 max 1063 min
+Histogram: 2 0 0 0 0 0 1 0 0 1
+Neighs: 4674.75 ave 4938 max 4419 min
+Histogram: 1 0 0 0 1 1 0 0 0 1
+
+Total # of neighbors = 18699
+Ave neighs/atom = 37.398
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
+ 250 0.73873144 -5.7312505 0 -4.6253696 0.33061033
+ 300 0.76392796 -5.7719207 0 -4.6283206 0.18197874
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
+Loop time of 3.99351e-06 on 4 procs for 0 steps with 500 atoms
+
+93.9% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.994e-06 | | |100.00
+
+Nlocal: 125 ave 128 max 121 min
+Histogram: 1 0 0 0 0 1 0 1 0 1
+Nghost: 1069 ave 1080 max 1055 min
+Histogram: 1 0 0 0 0 0 2 0 0 1
+Neighs: 4672 ave 4803 max 4600 min
+Histogram: 2 0 0 1 0 0 0 0 0 1
+
+Total # of neighbors = 18688
+Ave neighs/atom = 37.376
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
+ 350 0.71953041 -5.7041632 0 -4.6270261 0.44866153
+ 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039
+Loop time of 3.57628e-06 on 4 procs for 0 steps with 500 atoms
+
+111.8% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.576e-06 | | |100.00
+
+Nlocal: 125 ave 132 max 118 min
+Histogram: 1 0 0 0 0 2 0 0 0 1
+Nghost: 1057.5 ave 1068 max 1049 min
+Histogram: 1 0 0 1 1 0 0 0 0 1
+Neighs: 4685.75 ave 5045 max 4229 min
+Histogram: 1 0 0 1 0 0 0 0 0 2
+
+Total # of neighbors = 18743
+Ave neighs/atom = 37.486
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
+ 450 0.74503154 -5.7405318 0 -4.6252196 0.33211879
+ 500 0.70570501 -5.6824439 0 -4.6260035 0.62020788
+Total wall time: 0:00:02
diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1 b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1
new file mode 100644
index 0000000000..0565487bc6
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.1
@@ -0,0 +1,254 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones Monte Carlo server script
+
+variable mode index file
+
+if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
+message server mc zmq *:5555
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000741005 secs
+mass 1 1.0
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 20 check no
+
+velocity all create 1.44 87287 loop geom
+
+fix 1 all nve
+
+thermo 50
+
+server mc
+run 0
+Neighbor list info ...
+ update every 20 steps, delay 0 steps, check no
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7733681 0 -4.6176881 -5.0221006
+Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
+
+52.4% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 1.907e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1956 ave 1956 max 1956 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 19500 ave 19500 max 19500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 19500
+Ave neighs/atom = 39
+Neighbor list builds = 0
+Dangerous builds not checked
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+Loop time of 1.90735e-06 on 1 procs for 0 steps with 500 atoms
+
+52.4% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 1.907e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1956 ave 1956 max 1956 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 19501 ave 19501 max 19501 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 19501
+Ave neighs/atom = 39.002
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+ 50 0.70239211 -5.6763152 0 -4.6248342 0.59544428
+ 100 0.7565013 -5.757431 0 -4.6249485 0.21982657
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.7565013 -5.7565768 0 -4.6240944 0.22436405
+Loop time of 1.19209e-06 on 1 procs for 0 steps with 500 atoms
+
+83.9% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 1.192e-06 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1939 ave 1939 max 1939 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18757 ave 18757 max 18757 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18757
+Ave neighs/atom = 37.514
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.7565013 -5.757431 0 -4.6249485 0.21982657
+ 150 0.76110797 -5.7664315 0 -4.6270529 0.16005254
+ 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73505651 -5.7181381 0 -4.6177585 0.37629943
+Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms
+
+209.7% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 9.537e-07 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1899 ave 1899 max 1899 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18699 ave 18699 max 18699 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18699
+Ave neighs/atom = 37.398
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73505651 -5.7266069 0 -4.6262273 0.34189744
+ 250 0.73052476 -5.7206316 0 -4.627036 0.39287516
+ 300 0.76300831 -5.7675007 0 -4.6252773 0.16312925
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76300831 -5.768304 0 -4.6260806 0.15954325
+Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms
+
+104.9% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 9.537e-07 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1903 ave 1903 max 1903 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18715 ave 18715 max 18715 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18715
+Ave neighs/atom = 37.43
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76300831 -5.768304 0 -4.6260806 0.15954325
+ 350 0.72993309 -5.7193261 0 -4.6266162 0.3358374
+ 400 0.72469448 -5.713463 0 -4.6285954 0.44859547
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.72469448 -5.7077332 0 -4.6228655 0.47669832
+Loop time of 9.53674e-07 on 1 procs for 0 steps with 500 atoms
+
+209.7% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 9.537e-07 | | |100.00
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1899 ave 1899 max 1899 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18683 ave 18683 max 18683 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18683
+Ave neighs/atom = 37.366
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.658 | 2.658 | 2.658 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.72469448 -5.713463 0 -4.6285954 0.44859547
+ 450 0.75305735 -5.7518283 0 -4.6245015 0.34658587
+ 500 0.73092571 -5.7206337 0 -4.6264379 0.43715809
+Total wall time: 0:00:00
diff --git a/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4 b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4
new file mode 100644
index 0000000000..e74d03235d
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/log.28Aug18.zmq.g++.4
@@ -0,0 +1,254 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones Monte Carlo server script
+
+variable mode index file
+
+if "${mode} == file" then "message server mc file tmp.couple" elif "${mode} == zmq" "message server mc zmq *:5555"
+message server mc zmq *:5555
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 2 by 2 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000576019 secs
+mass 1 1.0
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 20 check no
+
+velocity all create 1.44 87287 loop geom
+
+fix 1 all nve
+
+thermo 50
+
+server mc
+run 0
+Neighbor list info ...
+ update every 20 steps, delay 0 steps, check no
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7733681 0 -4.6176881 -5.0221006
+Loop time of 4.76837e-06 on 4 procs for 0 steps with 500 atoms
+
+89.1% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 4.768e-06 | | |100.00
+
+Nlocal: 125 ave 125 max 125 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Nghost: 1099 ave 1099 max 1099 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Neighs: 4875 ave 4875 max 4875 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 19500
+Ave neighs/atom = 39
+Neighbor list builds = 0
+Dangerous builds not checked
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+Loop time of 3.45707e-06 on 4 procs for 0 steps with 500 atoms
+
+94.0% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.457e-06 | | |100.00
+
+Nlocal: 125 ave 125 max 125 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Nghost: 1099 ave 1099 max 1099 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Neighs: 4875.25 ave 4885 max 4866 min
+Histogram: 1 0 0 0 2 0 0 0 0 1
+
+Total # of neighbors = 19501
+Ave neighs/atom = 39.002
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7723127 0 -4.6166327 -5.015531
+ 50 0.70210225 -5.6759068 0 -4.6248598 0.59609192
+ 100 0.75891559 -5.7611234 0 -4.6250267 0.20841608
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
+Loop time of 3.03984e-06 on 4 procs for 0 steps with 500 atoms
+
+115.1% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 3.04e-06 | | |100.00
+
+Nlocal: 125 ave 126 max 124 min
+Histogram: 2 0 0 0 0 0 0 0 0 2
+Nghost: 1085.25 ave 1089 max 1079 min
+Histogram: 1 0 0 0 0 1 0 0 0 2
+Neighs: 4690.25 ave 4996 max 4401 min
+Histogram: 1 0 0 1 0 1 0 0 0 1
+
+Total # of neighbors = 18761
+Ave neighs/atom = 37.522
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 100 0.75891559 -5.7609392 0 -4.6248426 0.20981291
+ 150 0.75437991 -5.7558622 0 -4.6265555 0.20681722
+ 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73111257 -5.7143906 0 -4.6199151 0.37126023
+Loop time of 2.38419e-06 on 4 procs for 0 steps with 500 atoms
+
+125.8% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.384e-06 | | |100.00
+
+Nlocal: 125 ave 126 max 123 min
+Histogram: 1 0 0 0 0 0 1 0 0 2
+Nghost: 1068.5 ave 1076 max 1063 min
+Histogram: 2 0 0 0 0 0 1 0 0 1
+Neighs: 4674.75 ave 4938 max 4419 min
+Histogram: 1 0 0 0 1 1 0 0 0 1
+
+Total # of neighbors = 18699
+Ave neighs/atom = 37.398
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 200 0.73111257 -5.7193748 0 -4.6248993 0.35230715
+ 250 0.73873144 -5.7312505 0 -4.6253696 0.33061033
+ 300 0.76392796 -5.7719207 0 -4.6283206 0.18197874
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
+Loop time of 2.44379e-06 on 4 procs for 0 steps with 500 atoms
+
+112.5% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.444e-06 | | |100.00
+
+Nlocal: 125 ave 128 max 121 min
+Histogram: 1 0 0 0 0 1 0 1 0 1
+Nghost: 1069 ave 1080 max 1055 min
+Histogram: 1 0 0 0 0 0 2 0 0 1
+Neighs: 4672 ave 4803 max 4600 min
+Histogram: 2 0 0 1 0 0 0 0 0 1
+
+Total # of neighbors = 18688
+Ave neighs/atom = 37.376
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 300 0.76392796 -5.7725589 0 -4.6289588 0.17994628
+ 350 0.71953041 -5.7041632 0 -4.6270261 0.44866153
+ 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
+run 0
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.7319047 -5.7158168 0 -4.6201554 0.49192039
+Loop time of 2.14577e-06 on 4 procs for 0 steps with 500 atoms
+
+139.8% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0 | 0 | 0 | 0.0 | 0.00
+Output | 0 | 0 | 0 | 0.0 | 0.00
+Modify | 0 | 0 | 0 | 0.0 | 0.00
+Other | | 2.146e-06 | | |100.00
+
+Nlocal: 125 ave 132 max 118 min
+Histogram: 1 0 0 0 0 2 0 0 0 1
+Nghost: 1057.5 ave 1068 max 1049 min
+Histogram: 1 0 0 1 1 0 0 0 0 1
+Neighs: 4685.75 ave 5045 max 4229 min
+Histogram: 1 0 0 1 0 0 0 0 0 2
+
+Total # of neighbors = 18743
+Ave neighs/atom = 37.486
+Neighbor list builds = 0
+Dangerous builds not checked
+Per MPI rank memory allocation (min/avg/max) = 2.619 | 2.619 | 2.619 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 400 0.7319047 -5.7216051 0 -4.6259438 0.46321355
+ 450 0.74503154 -5.7405318 0 -4.6252196 0.33211879
+ 500 0.70570501 -5.6824439 0 -4.6260035 0.62020788
+Total wall time: 0:00:00
diff --git a/examples/COUPLE/lammps_mc/mc.cpp b/examples/COUPLE/lammps_mc/mc.cpp
new file mode 100644
index 0000000000..7c2e2ce039
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/mc.cpp
@@ -0,0 +1,263 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+------------------------------------------------------------------------- */
+
+// MC code used with LAMMPS in client/server mode
+// MC is the client, LAMMPS is the server
+
+// Syntax: mc infile mode modearg
+// mode = file, zmq
+// modearg = filename for file, localhost:5555 for zmq
+
+#include
+#include
+#include
+#include
+#include "mc.h"
+#include "random_park.h"
+
+#include "cslib.h"
+using namespace CSLIB_NS;
+
+void error(const char *);
+CSlib *cs_create(char *, char *);
+
+#define MAXLINE 256
+
+/* ---------------------------------------------------------------------- */
+
+// main program
+
+int main(int narg, char **arg)
+{
+ if (narg != 4) {
+ error("Syntax: mc infile mode modearg");
+ exit(1);
+ }
+
+ // initialize CSlib
+
+ CSlib *cs = cs_create(arg[2],arg[3]);
+
+ // create MC class and perform run
+
+ MC *mc = new MC(arg[1],cs);
+ mc->run();
+
+ // final MC stats
+
+ int naccept = mc->naccept;
+ int nattempt = mc->nattempt;
+
+ printf("------ MC stats ------\n");
+ printf("MC attempts = %d\n",nattempt);
+ printf("MC accepts = %d\n",naccept);
+ printf("Acceptance ratio = %g\n",1.0*naccept/nattempt);
+
+ // clean up
+
+ delete cs;
+ delete mc;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void error(const char *str)
+{
+ printf("ERROR: %s\n",str);
+ exit(1);
+}
+
+/* ---------------------------------------------------------------------- */
+
+CSlib *cs_create(char *mode, char *arg)
+{
+ CSlib *cs = new CSlib(0,mode,arg,NULL);
+
+ // initial handshake to agree on protocol
+
+ cs->send(0,1);
+ cs->pack_string(1,(char *) "mc");
+
+ int msgID,nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+
+ return cs;
+}
+
+// ----------------------------------------------------------------------
+// MC class
+// ----------------------------------------------------------------------
+
+MC::MC(char *mcfile, void *cs_caller)
+//MC::MC(char *mcfile, CSlib *cs_caller)
+{
+ cs_void = cs_caller;
+
+ // setup MC params
+
+ options(mcfile);
+
+ // random # generator
+
+ random = new RanPark(seed);
+}
+
+/* ---------------------------------------------------------------------- */
+
+MC::~MC()
+{
+ free(x);
+ delete random;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MC::run()
+{
+ int iatom,accept,msgID,nfield;
+ double pe_initial,pe_final,edelta;
+ double dx,dy,dz;
+ double xold[3],xnew[3];
+ int *fieldID,*fieldtype,*fieldlen;
+
+ enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN};
+
+ CSlib *cs = (CSlib *) cs_void;
+
+ // one-time request for atom count from MD
+ // allocate 1d coord buffer
+
+ cs->send(NATOMS,0);
+
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ natoms = cs->unpack_int(1);
+
+ x = (double *) malloc(3*natoms*sizeof(double));
+
+ // loop over MC moves
+
+ naccept = nattempt = 0;
+
+ for (int iloop = 0; iloop < nloop; iloop++) {
+
+ // request current energy from MD
+ // recv energy, coords from MD
+
+ cs->send(EINIT,0);
+
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ pe_initial = cs->unpack_double(1);
+ double *x = (double *) cs->unpack(2);
+
+ // perform simple MC event
+ // displace a single atom by random amount
+
+ iatom = (int) natoms*random->uniform();
+ xold[0] = x[3*iatom+0];
+ xold[1] = x[3*iatom+1];
+ xold[2] = x[3*iatom+2];
+
+ dx = 2.0*delta*random->uniform() - delta;
+ dy = 2.0*delta*random->uniform() - delta;
+ dz = 2.0*delta*random->uniform() - delta;
+
+ xnew[0] = xold[0] + dx;
+ xnew[1] = xold[1] + dx;
+ xnew[2] = xold[2] + dx;
+
+ // send atom ID and its new coords to MD
+ // recv new energy
+
+ cs->send(DISPLACE,2);
+ cs->pack_int(1,iatom+1);
+ cs->pack(2,4,3,xnew);
+
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ pe_final = cs->unpack_double(1);
+
+ // decide whether to accept/reject MC event
+
+ if (pe_final <= pe_initial) accept = 1;
+ else if (temperature == 0.0) accept = 0;
+ else if (random->uniform() >
+ exp(natoms*(pe_initial-pe_final)/temperature)) accept = 0;
+ else accept = 1;
+
+ nattempt++;
+ if (accept) naccept++;
+
+ // send accept (1) or reject (0) flag to MD
+
+ cs->send(ACCEPT,1);
+ cs->pack_int(1,accept);
+
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+
+ // send dynamics timesteps
+
+ cs->send(RUN,1);
+ cs->pack_int(1,ndynamics);
+
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ }
+
+ // send exit message to MD
+
+ cs->send(-1,0);
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MC::options(char *filename)
+{
+ // default params
+
+ nsteps = 0;
+ ndynamics = 100;
+ delta = 0.1;
+ temperature = 1.0;
+ seed = 12345;
+
+ // read and parse file
+
+ FILE *fp = fopen(filename,"r");
+ if (fp == NULL) error("Could not open MC file");
+
+ char line[MAXLINE];
+ char *keyword,*value;
+ char *eof = fgets(line,MAXLINE,fp);
+
+ while (eof) {
+ if (line[0] == '#') { // comment line
+ eof = fgets(line,MAXLINE,fp);
+ continue;
+ }
+
+ value = strtok(line," \t\n\r\f");
+ if (value == NULL) { // blank line
+ eof = fgets(line,MAXLINE,fp);
+ continue;
+ }
+
+ keyword = strtok(NULL," \t\n\r\f");
+ if (keyword == NULL) error("Missing keyword in MC file");
+
+ if (strcmp(keyword,"nsteps") == 0) nsteps = atoi(value);
+ else if (strcmp(keyword,"ndynamics") == 0) ndynamics = atoi(value);
+ else if (strcmp(keyword,"delta") == 0) delta = atof(value);
+ else if (strcmp(keyword,"temperature") == 0) temperature = atof(value);
+ else if (strcmp(keyword,"seed") == 0) seed = atoi(value);
+ else error("Unknown param in MC file");
+
+ eof = fgets(line,MAXLINE,fp);
+ }
+
+ // derived params
+
+ nloop = nsteps/ndynamics;
+}
diff --git a/examples/COUPLE/lammps_mc/mc.h b/examples/COUPLE/lammps_mc/mc.h
new file mode 100644
index 0000000000..e9d88523fc
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/mc.h
@@ -0,0 +1,40 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+------------------------------------------------------------------------- */
+
+#ifndef MC_H
+#define MC_H
+
+/* ---------------------------------------------------------------------- */
+
+class MC {
+ public:
+ int naccept; // # of accepted MC events
+ int nattempt; // # of attempted MC events
+
+ MC(char *, void *);
+ ~MC();
+ void run();
+
+ private:
+ int nsteps; // total # of MD steps
+ int ndynamics; // steps in one short dynamics run
+ int nloop; // nsteps/ndynamics
+ int natoms; // # of MD atoms
+
+ double delta; // MC displacement distance
+ double temperature; // MC temperature for Boltzmann criterion
+ double *x; // atom coords as 3N 1d vector
+ double energy; // global potential energy
+
+ int seed; // RNG seed
+ class RanPark *random;
+
+ void *cs_void; // messaging library
+
+ void options(char *);
+};
+
+#endif
diff --git a/examples/COUPLE/lammps_mc/random_park.cpp b/examples/COUPLE/lammps_mc/random_park.cpp
new file mode 100644
index 0000000000..61ac18c6c0
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/random_park.cpp
@@ -0,0 +1,72 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+// Park/Miller RNG
+
+#include
+#include "random_park.h"
+//#include "error.h"
+
+#define IA 16807
+#define IM 2147483647
+#define AM (1.0/IM)
+#define IQ 127773
+#define IR 2836
+
+/* ---------------------------------------------------------------------- */
+
+RanPark::RanPark(int seed_init)
+{
+ //if (seed_init <= 0)
+ // error->one(FLERR,"Invalid seed for Park random # generator");
+ seed = seed_init;
+ save = 0;
+}
+
+/* ----------------------------------------------------------------------
+ uniform RN
+------------------------------------------------------------------------- */
+
+double RanPark::uniform()
+{
+ int k = seed/IQ;
+ seed = IA*(seed-k*IQ) - IR*k;
+ if (seed < 0) seed += IM;
+ double ans = AM*seed;
+ return ans;
+}
+
+/* ----------------------------------------------------------------------
+ gaussian RN
+------------------------------------------------------------------------- */
+
+double RanPark::gaussian()
+{
+ double first,v1,v2,rsq,fac;
+
+ if (!save) {
+ do {
+ v1 = 2.0*uniform()-1.0;
+ v2 = 2.0*uniform()-1.0;
+ rsq = v1*v1 + v2*v2;
+ } while ((rsq >= 1.0) || (rsq == 0.0));
+ fac = sqrt(-2.0*log(rsq)/rsq);
+ second = v1*fac;
+ first = v2*fac;
+ save = 1;
+ } else {
+ first = second;
+ save = 0;
+ }
+ return first;
+}
diff --git a/examples/COUPLE/lammps_mc/random_park.h b/examples/COUPLE/lammps_mc/random_park.h
new file mode 100644
index 0000000000..0dc2081768
--- /dev/null
+++ b/examples/COUPLE/lammps_mc/random_park.h
@@ -0,0 +1,28 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifndef RANPARK_H
+#define RANPARK_H
+
+class RanPark {
+ public:
+ RanPark(int);
+ double uniform();
+ double gaussian();
+
+ private:
+ int seed,save;
+ double second;
+};
+
+#endif
diff --git a/examples/COUPLE/lammps_vasp/INCAR b/examples/COUPLE/lammps_vasp/INCAR
new file mode 100644
index 0000000000..ac2358e5fb
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/INCAR
@@ -0,0 +1,53 @@
+# Startparameter for this run:
+ NWRITE = 2 write-flag & timer
+ PREC = normal normal or accurate (medium, high low for compatibility)
+ ISTART = 0 job : 0-new 1-cont 2-samecut
+ ICHARG = 2 charge: 1-file 2-atom 10-const
+ ISPIN = 1 spin polarized calculation?
+ LSORBIT = F spin-orbit coupling
+ INIWAV = 1 electr: 0-lowe 1-rand 2-diag
+
+# Electronic Relaxation 1
+ ENCUT = 600.0 eV #Plane wave energy cutoff
+ ENINI = 600.0 initial cutoff
+ NELM = 100; NELMIN= 2; NELMDL= -5 # of ELM steps
+ EDIFF = 0.1E-05 stopping-criterion for ELM
+# Ionic relaxation
+ EDIFFG = 0.1E-02 stopping-criterion for IOM
+ NSW = 0 number of steps for IOM
+ NBLOCK = 1; KBLOCK = 1 inner block; outer block
+ IBRION = -1 ionic relax: 0-MD 1-quasi-New 2-CG #No ion relaxation with -1
+ NFREE = 0 steps in history (QN), initial steepest desc. (CG)
+ ISIF = 2 stress and relaxation # 2: F-yes Sts-yes RlxIon-yes cellshape-no cellvol-no
+ IWAVPR = 10 prediction: 0-non 1-charg 2-wave 3-comb # 10: TMPCAR stored in memory rather than file
+
+ POTIM = 0.5000 time-step for ionic-motion
+ TEBEG = 3500.0; TEEND = 3500.0 temperature during run # Finite Temperature variables if AI-MD is on
+ SMASS = -3.00 Nose mass-parameter (am)
+ estimated Nose-frequenzy (Omega) = 0.10E-29 period in steps =****** mass= -0.366E-27a.u.
+ PSTRESS= 0.0 pullay stress
+
+# DOS related values:
+ EMIN = 10.00; EMAX =-10.00 energy-range for DOS
+ EFERMI = 0.00
+ ISMEAR = 0; SIGMA = 0.10 broadening in eV -4-tet -1-fermi 0-gaus
+
+# Electronic relaxation 2 (details)
+ IALGO = 48 algorithm
+
+# Write flags
+ LWAVE = T write WAVECAR
+ LCHARG = T write CHGCAR
+ LVTOT = F write LOCPOT, total local potential
+ LVHAR = F write LOCPOT, Hartree potential only
+ LELF = F write electronic localiz. function (ELF)
+
+# Dipole corrections
+ LMONO = F monopole corrections only (constant potential shift)
+ LDIPOL = F correct potential (dipole corrections)
+ IDIPOL = 0 1-x, 2-y, 3-z, 4-all directions
+ EPSILON= 1.0000000 bulk dielectric constant
+
+# Exchange correlation treatment:
+ GGA = -- GGA type
+
diff --git a/examples/COUPLE/lammps_vasp/KPOINTS b/examples/COUPLE/lammps_vasp/KPOINTS
new file mode 100644
index 0000000000..322509da30
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/KPOINTS
@@ -0,0 +1,6 @@
+K-Points
+ 0
+Monkhorst Pack
+ 15 15 15
+ 0 0 0
+
diff --git a/examples/COUPLE/lammps_vasp/POSCAR_W b/examples/COUPLE/lammps_vasp/POSCAR_W
new file mode 100644
index 0000000000..aba5df54a0
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/POSCAR_W
@@ -0,0 +1,11 @@
+W unit cell
+1.0
+3.16 0.00000000 0.00000000
+0.00000000 3.16 0.00000000
+0.00000000 0.00000000 3.16
+W
+2
+Direct
+ 0.00000000 0.00000000 0.00000000
+ 0.50000000 0.50000000 0.50000000
+
diff --git a/examples/COUPLE/lammps_vasp/README b/examples/COUPLE/lammps_vasp/README
new file mode 100644
index 0000000000..e942d52535
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/README
@@ -0,0 +1,149 @@
+Sample LAMMPS MD wrapper on VASP quantum DFT via client/server
+coupling
+
+See the MESSAGE package (doc/Section_messages.html#MESSAGE) and
+Section_howto.html#howto10 for more details on how client/server
+coupling works in LAMMPS.
+
+In this dir, the vasp_wrap.py is a wrapper on the VASP quantum DFT
+code so it can work as a "server" code which LAMMPS drives as a
+"client" code to perform ab initio MD. LAMMPS performs the MD
+timestepping, sends VASP a current set of coordinates each timestep,
+VASP computes forces and energy and virial and returns that info to
+LAMMPS.
+
+Messages are exchanged between MC and LAMMPS via a client/server
+library (CSlib), which is included in the LAMMPS distribution in
+lib/message. As explained below you can choose to exchange data
+between the two programs either via files or sockets (ZMQ). If the
+vasp_wrap.py program became parallel, or the CSlib library calls were
+integrated into VASP directly, then data could also be exchanged via
+MPI.
+
+----------------
+
+Build LAMMPS with its MESSAGE package installed:
+
+See the Build extras doc page and its MESSAGE package
+section for details.
+
+CMake:
+
+-D PKG_MESSAGE=yes # include the MESSAGE package
+-D MESSAGE_ZMQ=value # build with ZeroMQ support, value = no (default) or yes
+
+Traditional make:
+
+cd lammps/lib/message
+python Install.py -m -z # build CSlib with MPI and ZMQ support
+cd lammps/src
+make yes-message
+make mpi
+
+You can leave off the -z if you do not have ZMQ on your system.
+
+----------------
+
+Build the CSlib in a form usable by the vasp_wrapper.py script:
+
+% cd lammps/lib/message/cslib/src
+% make shlib # build serial and parallel shared lib with ZMQ support
+% make shlib zmq=no # build serial and parallel shared lib w/out ZMQ support
+
+This will make a shared library versions of the CSlib, which Python
+requires. Python must be able to find both the cslib.py script and
+the libcsnompi.so library in your lammps/lib/message/cslib/src
+directory. If it is not able to do this, you will get an error when
+you run vasp_wrapper.py.
+
+You can do this by augmenting two environment variables, either
+from the command line, or in your shell start-up script.
+Here is the sample syntax for the csh or tcsh shells:
+
+setenv PYTHONPATH ${PYTHONPATH}:/home/sjplimp/lammps/lib/message/cslib/src
+setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/home/sjplimp/lammps/lib/message/cslib/src
+
+----------------
+
+Prepare to use VASP and the vasp_wrapper.py script
+
+You can run the vasp_wrap.py script as-is to test that the coupling
+between it and LAMMPS is functional. This will use the included
+vasprun.xml file output by a previous VASP run.
+
+But note that the as-is version of vasp_wrap.py will not attempt to
+run VASP.
+
+To do this, you must edit the 1st vaspcmd line at the top of
+vasp_wrapper.py to be the launch command needed to run VASP on your
+system. It can be a command to run VASP in serial or in parallel,
+e.g. an mpirun command. Then comment out the 2nd vaspcmd line
+immediately following it.
+
+Insure you have the necessary VASP input files in this
+directory, suitable for the VASP calculation you want to perform:
+
+INCAR
+KPOINTS
+POSCAR_template
+POTCAR
+
+Examples of all but the POTCAR file are provided. As explained below,
+POSCAR_W is an input file for a 2-atom unit cell of tungsten and can
+be used to test the LAMMPS/VASP coupling. The POTCAR file is a
+proprietary VASP file, so use one from your VASP installation.
+
+Note that the POSCAR_template file should be matched to the LAMMPS
+input script (# of atoms and atom types, box size, etc). The provided
+POSCAR_W matches in.client.W.
+
+Once you run VASP yourself, the vasprun.xml file will be overwritten.
+
+----------------
+
+To run in client/server mode:
+
+NOTE: The vasp_wrap.py script must be run with Python version 2, not
+3. This is because it used the CSlib python wrapper, which only
+supports version 2. We plan to upgrade CSlib to support Python 3.
+
+Both the client (LAMMPS) and server (vasp_wrap.py) must use the same
+messaging mode, namely file or zmq. This is an argument to the
+vasp_wrap.py code; it can be selected by setting the "mode" variable
+when you run LAMMPS. The default mode = file.
+
+Here we assume LAMMPS was built to run in parallel, and the MESSAGE
+package was installed with socket (ZMQ) support. This means either of
+the messaging modes can be used and LAMMPS can be run in serial or
+parallel. The vasp_wrap.py code is always run in serial, but it
+launches VASP from Python via an mpirun command which can run VASP
+itself in parallel.
+
+When you run, the server should print out thermodynamic info every
+timestep which corresponds to the forces and virial computed by VASP.
+VASP will also generate output files each timestep. The vasp_wrapper.py
+script could be generalized to archive these.
+
+The examples below are commands you should use in two different
+terminal windows. The order of the two commands (client or server
+launch) does not matter. You can run them both in the same window if
+you append a "&" character to the first one to run it in the
+background.
+
+--------------
+
+File mode of messaging:
+
+% mpirun -np 1 lmp_mpi -v mode file < in.client.W
+% python vasp_wrap.py file POSCAR_W
+
+% mpirun -np 2 lmp_mpi -v mode file < in.client.W
+% python vasp_wrap.py file POSCAR_W
+
+ZMQ mode of messaging:
+
+% mpirun -np 1 lmp_mpi -v mode zmq < in.client.W
+% python vasp_wrap.py zmq POSCAR_W
+
+% mpirun -np 2 lmp_mpi -v mode zmq < in.client.W
+% python vasp_wrap.py zmq POSCAR_W
diff --git a/examples/COUPLE/lammps_vasp/data.W b/examples/COUPLE/lammps_vasp/data.W
new file mode 100644
index 0000000000..8accd9ca79
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/data.W
@@ -0,0 +1,15 @@
+LAMMPS W data file
+
+2 atoms
+
+1 atom types
+
+0.0 3.16 xlo xhi
+0.0 3.16 ylo yhi
+0.0 3.16 zlo zhi
+
+Atoms
+
+1 1 0.000 0.000 0.000
+2 1 1.58 1.58 1.58
+
diff --git a/examples/COUPLE/lammps_vasp/in.client.W b/examples/COUPLE/lammps_vasp/in.client.W
new file mode 100644
index 0000000000..3eaf99dcbb
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/in.client.W
@@ -0,0 +1,34 @@
+# small W unit cell for use with VASP
+
+variable mode index file
+
+if "${mode} == file" then &
+ "message client md file tmp.couple" &
+elif "${mode} == zmq" &
+ "message client md zmq localhost:5555" &
+
+variable x index 1
+variable y index 1
+variable z index 1
+
+units metal
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+read_data data.W
+mass 1 183.85
+
+replicate $x $y $z
+
+velocity all create 300.0 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 10 check no
+
+fix 1 all nve
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 1
+run 3
+
diff --git a/examples/COUPLE/lammps_vasp/log.client.output b/examples/COUPLE/lammps_vasp/log.client.output
new file mode 100644
index 0000000000..fa8f4f920a
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/log.client.output
@@ -0,0 +1,76 @@
+LAMMPS (22 Aug 2018)
+# small W unit cell for use with VASP
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555"
+message client md zmq localhost:5555
+variable x index 1
+variable y index 1
+variable z index 1
+
+units metal
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+read_data data.W
+ orthogonal box = (0 0 0) to (3.16 3.16 3.16)
+ 1 by 1 by 2 MPI processor grid
+ reading atoms ...
+ 2 atoms
+mass 1 183.85
+
+replicate $x $y $z
+replicate 1 $y $z
+replicate 1 1 $z
+replicate 1 1 1
+ orthogonal box = (0 0 0) to (3.16 3.16 3.16)
+ 1 by 1 by 2 MPI processor grid
+ 2 atoms
+ Time spent = 0.000148058 secs
+
+velocity all create 300.0 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 10 check no
+
+fix 1 all nve
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 1
+run 3
+Per MPI rank memory allocation (min/avg/max) = 1.8 | 1.8 | 1.8 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 300 0 0 -48.030793 -78159.503
+ 1 298.24318 0 0 -48.03102 -78167.19
+ 2 296.85584 0 0 -48.031199 -78173.26
+ 3 295.83795 0 0 -48.031331 -78177.714
+Loop time of 0.457491 on 2 procs for 3 steps with 2 atoms
+
+Performance: 0.567 ns/day, 42.360 hours/ns, 6.558 timesteps/s
+50.1% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 1.3828e-05 | 2.9922e-05 | 4.6015e-05 | 0.0 | 0.01
+Output | 7.5817e-05 | 9.3937e-05 | 0.00011206 | 0.0 | 0.02
+Modify | 0.45735 | 0.45736 | 0.45736 | 0.0 | 99.97
+Other | | 1.204e-05 | | | 0.00
+
+Nlocal: 1 ave 1 max 1 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Nghost: 4 ave 4 max 4 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 0
+Dangerous builds not checked
+
+Total wall time: 0:01:21
diff --git a/examples/COUPLE/lammps_vasp/vasp_wrap.py b/examples/COUPLE/lammps_vasp/vasp_wrap.py
new file mode 100644
index 0000000000..1e2c52aa46
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/vasp_wrap.py
@@ -0,0 +1,300 @@
+#!/usr/bin/env python
+
+# ----------------------------------------------------------------------
+# LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+# http://lammps.sandia.gov, Sandia National Laboratories
+# Steve Plimpton, sjplimp@sandia.gov
+# ----------------------------------------------------------------------
+
+# Syntax: vasp_wrap.py file/zmq POSCARfile
+
+# wrapper on VASP to act as server program using CSlib
+# receives message with list of coords from client
+# creates VASP inputs
+# invokes VASP to calculate self-consistent energy of that config
+# reads VASP outputs
+# sends message with energy, forces, pressure to client
+
+# NOTES:
+# check to insure basic VASP input files are in place?
+# could archive VASP input/output in special filenames or dirs?
+# need to check that POTCAR file is consistent with atom ordering?
+# could make syntax for launching VASP more flexible
+# e.g. command-line arg for # of procs
+# detect if VASP had an error and return ERROR field, e.g. non-convergence ??
+
+from __future__ import print_function
+import sys
+
+version = sys.version_info[0]
+if version == 3:
+ sys.exit("The CSlib python wrapper does not yet support python 3")
+
+import subprocess
+import xml.etree.ElementTree as ET
+from cslib import CSlib
+
+# comment out 2nd line once 1st line is correct for your system
+
+vaspcmd = "srun -N 1 --ntasks-per-node=4 " + \
+ "-n 4 /projects/vasp/2017-build/cts1/vasp5.4.4/vasp_tfermi/bin/vasp_std"
+vaspcmd = "touch tmp"
+
+# enums matching FixClientMD class in LAMMPS
+
+SETUP,STEP = range(1,2+1)
+DIM,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE = range(1,10+1)
+FORCES,ENERGY,VIRIAL,ERROR = range(1,4+1)
+
+# -------------------------------------
+# functions
+
+# error message and exit
+
+def error(txt):
+ print("ERROR:",txt)
+ sys.exit(1)
+
+# -------------------------------------
+# read initial VASP POSCAR file to setup problem
+# return natoms,ntypes,box
+
+def vasp_setup(poscar):
+
+ ps = open(poscar,'r').readlines()
+
+ # box size
+
+ words = ps[2].split()
+ xbox = float(words[0])
+ words = ps[3].split()
+ ybox = float(words[1])
+ words = ps[4].split()
+ zbox = float(words[2])
+ box = [xbox,ybox,zbox]
+
+ ntypes = 0
+ natoms = 0
+ words = ps[6].split()
+ for word in words:
+ if word == '#': break
+ ntypes += 1
+ natoms += int(word)
+
+ return natoms,ntypes,box
+
+# -------------------------------------
+# write a new POSCAR file for VASP
+
+def poscar_write(poscar,natoms,ntypes,types,coords,box):
+
+ psold = open(poscar,'r').readlines()
+ psnew = open("POSCAR",'w')
+
+ # header, including box size
+
+ psnew.write(psold[0])
+ psnew.write(psold[1])
+ psnew.write("%g %g %g\n" % (box[0],box[1],box[2]))
+ psnew.write("%g %g %g\n" % (box[3],box[4],box[5]))
+ psnew.write("%g %g %g\n" % (box[6],box[7],box[8]))
+ psnew.write(psold[5])
+ psnew.write(psold[6])
+
+ # per-atom coords
+ # grouped by types
+
+ psnew.write("Cartesian\n")
+
+ for itype in range(1,ntypes+1):
+ for i in range(natoms):
+ if types[i] != itype: continue
+ x = coords[3*i+0]
+ y = coords[3*i+1]
+ z = coords[3*i+2]
+ aline = " %g %g %g\n" % (x,y,z)
+ psnew.write(aline)
+
+ psnew.close()
+
+# -------------------------------------
+# read a VASP output vasprun.xml file
+# uses ElementTree module
+# see https://docs.python.org/2/library/xml.etree.elementtree.html
+
+def vasprun_read():
+ tree = ET.parse('vasprun.xml')
+ root = tree.getroot()
+
+ #fp = open("vasprun.xml","r")
+ #root = ET.parse(fp)
+
+ scsteps = root.findall('calculation/scstep')
+ energy = scsteps[-1].find('energy')
+ for child in energy:
+ if child.attrib["name"] == "e_0_energy":
+ eout = float(child.text)
+
+ fout = []
+ sout = []
+
+ varrays = root.findall('calculation/varray')
+ for varray in varrays:
+ if varray.attrib["name"] == "forces":
+ forces = varray.findall("v")
+ for line in forces:
+ fxyz = line.text.split()
+ fxyz = [float(value) for value in fxyz]
+ fout += fxyz
+ if varray.attrib["name"] == "stress":
+ tensor = varray.findall("v")
+ stensor = []
+ for line in tensor:
+ sxyz = line.text.split()
+ sxyz = [float(value) for value in sxyz]
+ stensor.append(sxyz)
+ sxx = stensor[0][0]
+ syy = stensor[1][1]
+ szz = stensor[2][2]
+ # symmetrize off-diagonal components
+ sxy = 0.5 * (stensor[0][1] + stensor[1][0])
+ sxz = 0.5 * (stensor[0][2] + stensor[2][0])
+ syz = 0.5 * (stensor[1][2] + stensor[2][1])
+ sout = [sxx,syy,szz,sxy,sxz,syz]
+
+ #fp.close()
+
+ return eout,fout,sout
+
+# -------------------------------------
+# main program
+
+# command-line args
+
+if len(sys.argv) != 3:
+ print("Syntax: python vasp_wrap.py file/zmq POSCARfile")
+ sys.exit(1)
+
+mode = sys.argv[1]
+poscar_template = sys.argv[2]
+
+if mode == "file": cs = CSlib(1,mode,"tmp.couple",None)
+elif mode == "zmq": cs = CSlib(1,mode,"*:5555",None)
+else:
+ print("Syntax: python vasp_wrap.py file/zmq POSCARfile")
+ sys.exit(1)
+
+natoms,ntypes,box = vasp_setup(poscar_template)
+
+# initial message for MD protocol
+
+msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv()
+if msgID != 0: error("Bad initial client/server handshake")
+protocol = cs.unpack_string(1)
+if protocol != "md": error("Mismatch in client/server protocol")
+cs.send(0,0)
+
+# endless server loop
+
+while 1:
+
+ # recv message from client
+ # msgID = 0 = all-done message
+
+ msgID,nfield,fieldID,fieldtype,fieldlen = cs.recv()
+ if msgID < 0: break
+
+ # SETUP receive at beginning of each run
+ # required fields: DIM, PERIODICTY, ORIGIN, BOX,
+ # NATOMS, NTYPES, TYPES, COORDS
+ # optional fields: others in enum above, but VASP ignores them
+
+ if msgID == SETUP:
+
+ origin = []
+ box = []
+ natoms_recv = ntypes_recv = 0
+ types = []
+ coords = []
+
+ for field in fieldID:
+ if field == DIM:
+ dim = cs.unpack_int(DIM)
+ if dim != 3: error("VASP only performs 3d simulations")
+ elif field == PERIODICITY:
+ periodicity = cs.unpack(PERIODICITY,1)
+ if not periodicity[0] or not periodicity[1] or not periodicity[2]:
+ error("VASP wrapper only currently supports fully periodic systems")
+ elif field == ORIGIN:
+ origin = cs.unpack(ORIGIN,1)
+ elif field == BOX:
+ box = cs.unpack(BOX,1)
+ elif field == NATOMS:
+ natoms_recv = cs.unpack_int(NATOMS)
+ if natoms != natoms_recv:
+ error("VASP wrapper mis-match in number of atoms")
+ elif field == NTYPES:
+ ntypes_recv = cs.unpack_int(NTYPES)
+ if ntypes != ntypes_recv:
+ error("VASP wrapper mis-match in number of atom types")
+ elif field == TYPES:
+ types = cs.unpack(TYPES,1)
+ elif field == COORDS:
+ coords = cs.unpack(COORDS,1)
+
+ if not origin or not box or not natoms or not ntypes or \
+ not types or not coords:
+ error("Required VASP wrapper setup field not received");
+
+ # STEP receive at each timestep of run or minimization
+ # required fields: COORDS
+ # optional fields: ORIGIN, BOX
+
+ elif msgID == STEP:
+
+ coords = []
+
+ for field in fieldID:
+ if field == COORDS:
+ coords = cs.unpack(COORDS,1)
+ elif field == ORIGIN:
+ origin = cs.unpack(ORIGIN,1)
+ elif field == BOX:
+ box = cs.unpack(BOX,1)
+
+ if not coords: error("Required VASP wrapper step field not received");
+
+ else: error("VASP wrapper received unrecognized message")
+
+ # create POSCAR file
+
+ poscar_write(poscar_template,natoms,ntypes,types,coords,box)
+
+ # invoke VASP
+
+ print("\nLaunching VASP ...")
+ print(vaspcmd)
+ subprocess.check_output(vaspcmd,stderr=subprocess.STDOUT,shell=True)
+
+ # process VASP output
+
+ energy,forces,virial = vasprun_read()
+
+ # convert VASP kilobars to bars
+
+ for i,value in enumerate(virial): virial[i] *= 1000.0
+
+ # return forces, energy, pressure to client
+
+ cs.send(msgID,3);
+ cs.pack(FORCES,4,3*natoms,forces)
+ cs.pack_double(ENERGY,energy)
+ cs.pack(VIRIAL,4,6,virial)
+
+# final reply to client
+
+cs.send(0,0)
+
+# clean-up
+
+del cs
diff --git a/examples/COUPLE/lammps_vasp/vasprun.xml b/examples/COUPLE/lammps_vasp/vasprun.xml
new file mode 100644
index 0000000000..0f15c871b4
--- /dev/null
+++ b/examples/COUPLE/lammps_vasp/vasprun.xml
@@ -0,0 +1,12329 @@
+
+
+
+ vasp
+ 5.4.4.18Apr17-6-g9f103f2a35
+ (build Aug 01 2017 10:32:50) complex parallel
+ LinuxIFC
+ 2017 12 19
+ 15:22:45
+
+
+ 0
+ normal normal or accurate (medium, h
+ 48
+ F
+ 1
+ 2
+ 1
+ 100
+ -5
+ 2
+ -1
+ 0
+ 0.00000100
+ 0.00100000
+ 0
+ 2
+ 10
+ 1
+ 1
+ 600.00000000
+ 600.00000000
+ 0.50000000
+ 3500.00000000
+ 3500.00000000
+ -3.00000000
+ 10.00000000
+ -10.00000000
+ 0.00000000
+ 0
+ 0.10000000
+ 2
+ 0.00000000
+ T
+ T
+ F
+ F
+ F
+ -1 0 0 0
+ 100
+ -- GGA type
+ F
+ F
+ 0
+ 1.00000000
+
+
+
+
+ 3.66961100 0.00000000 0.00000000
+ 0.00000000 3.55744000 0.00000000
+ 0.00000000 0.00000000 3.17678100
+
+ 41.47103646
+
+ 0.27250845 0.00000000 0.00000000
+ 0.00000000 0.28110102 0.00000000
+ 0.00000000 0.00000000 0.31478405
+
+
+
+ 0.00000000 0.00000000 0.00000000
+ 0.00000000 -0.50000000 -0.50000000
+ -0.50000000 0.00000000 -0.50000000
+ -0.50000000 -0.50000000 0.00000000
+
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 15 15 15
+ 0.00000000 0.00000000 0.00000000
+ 0.06666667 0.00000000 0.00000000
+ 0.00000000 0.06666667 0.00000000
+ 0.00000000 0.00000000 0.06666667
+ 0.00000000 0.00000000 0.00000000
+
+
+ 0.00000000 0.00000000 0.00000000
+ 0.06666667 0.00000000 0.00000000
+ 0.13333333 0.00000000 0.00000000
+ 0.20000000 0.00000000 0.00000000
+ 0.26666667 0.00000000 0.00000000
+ 0.33333333 0.00000000 0.00000000
+ 0.40000000 0.00000000 0.00000000
+ 0.46666667 0.00000000 0.00000000
+ 0.00000000 0.06666667 0.00000000
+ 0.06666667 0.06666667 0.00000000
+ 0.13333333 0.06666667 0.00000000
+ 0.20000000 0.06666667 0.00000000
+ 0.26666667 0.06666667 0.00000000
+ 0.33333333 0.06666667 0.00000000
+ 0.40000000 0.06666667 0.00000000
+ 0.46666667 0.06666667 0.00000000
+ 0.00000000 0.13333333 0.00000000
+ 0.06666667 0.13333333 0.00000000
+ 0.13333333 0.13333333 0.00000000
+ 0.20000000 0.13333333 0.00000000
+ 0.26666667 0.13333333 0.00000000
+ 0.33333333 0.13333333 0.00000000
+ 0.40000000 0.13333333 0.00000000
+ 0.46666667 0.13333333 0.00000000
+ 0.00000000 0.20000000 0.00000000
+ 0.06666667 0.20000000 0.00000000
+ 0.13333333 0.20000000 0.00000000
+ 0.20000000 0.20000000 0.00000000
+ 0.26666667 0.20000000 0.00000000
+ 0.33333333 0.20000000 0.00000000
+ 0.40000000 0.20000000 0.00000000
+ 0.46666667 0.20000000 0.00000000
+ 0.00000000 0.26666667 0.00000000
+ 0.06666667 0.26666667 0.00000000
+ 0.13333333 0.26666667 0.00000000
+ 0.20000000 0.26666667 0.00000000
+ 0.26666667 0.26666667 0.00000000
+ 0.33333333 0.26666667 0.00000000
+ 0.40000000 0.26666667 0.00000000
+ 0.46666667 0.26666667 0.00000000
+ 0.00000000 0.33333333 0.00000000
+ 0.06666667 0.33333333 0.00000000
+ 0.13333333 0.33333333 0.00000000
+ 0.20000000 0.33333333 0.00000000
+ 0.26666667 0.33333333 0.00000000
+ 0.33333333 0.33333333 0.00000000
+ 0.40000000 0.33333333 0.00000000
+ 0.46666667 0.33333333 0.00000000
+ 0.00000000 0.40000000 0.00000000
+ 0.06666667 0.40000000 0.00000000
+ 0.13333333 0.40000000 0.00000000
+ 0.20000000 0.40000000 0.00000000
+ 0.26666667 0.40000000 0.00000000
+ 0.33333333 0.40000000 0.00000000
+ 0.40000000 0.40000000 0.00000000
+ 0.46666667 0.40000000 0.00000000
+ 0.00000000 0.46666667 0.00000000
+ 0.06666667 0.46666667 0.00000000
+ 0.13333333 0.46666667 0.00000000
+ 0.20000000 0.46666667 0.00000000
+ 0.26666667 0.46666667 0.00000000
+ 0.33333333 0.46666667 0.00000000
+ 0.40000000 0.46666667 0.00000000
+ 0.46666667 0.46666667 0.00000000
+ 0.00000000 0.00000000 0.06666667
+ 0.06666667 0.00000000 0.06666667
+ 0.13333333 0.00000000 0.06666667
+ 0.20000000 0.00000000 0.06666667
+ 0.26666667 0.00000000 0.06666667
+ 0.33333333 0.00000000 0.06666667
+ 0.40000000 0.00000000 0.06666667
+ 0.46666667 0.00000000 0.06666667
+ 0.00000000 0.06666667 0.06666667
+ 0.06666667 0.06666667 0.06666667
+ 0.13333333 0.06666667 0.06666667
+ 0.20000000 0.06666667 0.06666667
+ 0.26666667 0.06666667 0.06666667
+ 0.33333333 0.06666667 0.06666667
+ 0.40000000 0.06666667 0.06666667
+ 0.46666667 0.06666667 0.06666667
+ 0.00000000 0.13333333 0.06666667
+ 0.06666667 0.13333333 0.06666667
+ 0.13333333 0.13333333 0.06666667
+ 0.20000000 0.13333333 0.06666667
+ 0.26666667 0.13333333 0.06666667
+ 0.33333333 0.13333333 0.06666667
+ 0.40000000 0.13333333 0.06666667
+ 0.46666667 0.13333333 0.06666667
+ 0.00000000 0.20000000 0.06666667
+ 0.06666667 0.20000000 0.06666667
+ 0.13333333 0.20000000 0.06666667
+ 0.20000000 0.20000000 0.06666667
+ 0.26666667 0.20000000 0.06666667
+ 0.33333333 0.20000000 0.06666667
+ 0.40000000 0.20000000 0.06666667
+ 0.46666667 0.20000000 0.06666667
+ 0.00000000 0.26666667 0.06666667
+ 0.06666667 0.26666667 0.06666667
+ 0.13333333 0.26666667 0.06666667
+ 0.20000000 0.26666667 0.06666667
+ 0.26666667 0.26666667 0.06666667
+ 0.33333333 0.26666667 0.06666667
+ 0.40000000 0.26666667 0.06666667
+ 0.46666667 0.26666667 0.06666667
+ 0.00000000 0.33333333 0.06666667
+ 0.06666667 0.33333333 0.06666667
+ 0.13333333 0.33333333 0.06666667
+ 0.20000000 0.33333333 0.06666667
+ 0.26666667 0.33333333 0.06666667
+ 0.33333333 0.33333333 0.06666667
+ 0.40000000 0.33333333 0.06666667
+ 0.46666667 0.33333333 0.06666667
+ 0.00000000 0.40000000 0.06666667
+ 0.06666667 0.40000000 0.06666667
+ 0.13333333 0.40000000 0.06666667
+ 0.20000000 0.40000000 0.06666667
+ 0.26666667 0.40000000 0.06666667
+ 0.33333333 0.40000000 0.06666667
+ 0.40000000 0.40000000 0.06666667
+ 0.46666667 0.40000000 0.06666667
+ 0.00000000 0.46666667 0.06666667
+ 0.06666667 0.46666667 0.06666667
+ 0.13333333 0.46666667 0.06666667
+ 0.20000000 0.46666667 0.06666667
+ 0.26666667 0.46666667 0.06666667
+ 0.33333333 0.46666667 0.06666667
+ 0.40000000 0.46666667 0.06666667
+ 0.46666667 0.46666667 0.06666667
+ 0.00000000 0.00000000 0.13333333
+ 0.06666667 0.00000000 0.13333333
+ 0.13333333 0.00000000 0.13333333
+ 0.20000000 0.00000000 0.13333333
+ 0.26666667 0.00000000 0.13333333
+ 0.33333333 0.00000000 0.13333333
+ 0.40000000 0.00000000 0.13333333
+ 0.46666667 0.00000000 0.13333333
+ 0.00000000 0.06666667 0.13333333
+ 0.06666667 0.06666667 0.13333333
+ 0.13333333 0.06666667 0.13333333
+ 0.20000000 0.06666667 0.13333333
+ 0.26666667 0.06666667 0.13333333
+ 0.33333333 0.06666667 0.13333333
+ 0.40000000 0.06666667 0.13333333
+ 0.46666667 0.06666667 0.13333333
+ 0.00000000 0.13333333 0.13333333
+ 0.06666667 0.13333333 0.13333333
+ 0.13333333 0.13333333 0.13333333
+ 0.20000000 0.13333333 0.13333333
+ 0.26666667 0.13333333 0.13333333
+ 0.33333333 0.13333333 0.13333333
+ 0.40000000 0.13333333 0.13333333
+ 0.46666667 0.13333333 0.13333333
+ 0.00000000 0.20000000 0.13333333
+ 0.06666667 0.20000000 0.13333333
+ 0.13333333 0.20000000 0.13333333
+ 0.20000000 0.20000000 0.13333333
+ 0.26666667 0.20000000 0.13333333
+ 0.33333333 0.20000000 0.13333333
+ 0.40000000 0.20000000 0.13333333
+ 0.46666667 0.20000000 0.13333333
+ 0.00000000 0.26666667 0.13333333
+ 0.06666667 0.26666667 0.13333333
+ 0.13333333 0.26666667 0.13333333
+ 0.20000000 0.26666667 0.13333333
+ 0.26666667 0.26666667 0.13333333
+ 0.33333333 0.26666667 0.13333333
+ 0.40000000 0.26666667 0.13333333
+ 0.46666667 0.26666667 0.13333333
+ 0.00000000 0.33333333 0.13333333
+ 0.06666667 0.33333333 0.13333333
+ 0.13333333 0.33333333 0.13333333
+ 0.20000000 0.33333333 0.13333333
+ 0.26666667 0.33333333 0.13333333
+ 0.33333333 0.33333333 0.13333333
+ 0.40000000 0.33333333 0.13333333
+ 0.46666667 0.33333333 0.13333333
+ 0.00000000 0.40000000 0.13333333
+ 0.06666667 0.40000000 0.13333333
+ 0.13333333 0.40000000 0.13333333
+ 0.20000000 0.40000000 0.13333333
+ 0.26666667 0.40000000 0.13333333
+ 0.33333333 0.40000000 0.13333333
+ 0.40000000 0.40000000 0.13333333
+ 0.46666667 0.40000000 0.13333333
+ 0.00000000 0.46666667 0.13333333
+ 0.06666667 0.46666667 0.13333333
+ 0.13333333 0.46666667 0.13333333
+ 0.20000000 0.46666667 0.13333333
+ 0.26666667 0.46666667 0.13333333
+ 0.33333333 0.46666667 0.13333333
+ 0.40000000 0.46666667 0.13333333
+ 0.46666667 0.46666667 0.13333333
+ 0.00000000 0.00000000 0.20000000
+ 0.06666667 0.00000000 0.20000000
+ 0.13333333 0.00000000 0.20000000
+ 0.20000000 0.00000000 0.20000000
+ 0.26666667 0.00000000 0.20000000
+ 0.33333333 0.00000000 0.20000000
+ 0.40000000 0.00000000 0.20000000
+ 0.46666667 0.00000000 0.20000000
+ 0.00000000 0.06666667 0.20000000
+ 0.06666667 0.06666667 0.20000000
+ 0.13333333 0.06666667 0.20000000
+ 0.20000000 0.06666667 0.20000000
+ 0.26666667 0.06666667 0.20000000
+ 0.33333333 0.06666667 0.20000000
+ 0.40000000 0.06666667 0.20000000
+ 0.46666667 0.06666667 0.20000000
+ 0.00000000 0.13333333 0.20000000
+ 0.06666667 0.13333333 0.20000000
+ 0.13333333 0.13333333 0.20000000
+ 0.20000000 0.13333333 0.20000000
+ 0.26666667 0.13333333 0.20000000
+ 0.33333333 0.13333333 0.20000000
+ 0.40000000 0.13333333 0.20000000
+ 0.46666667 0.13333333 0.20000000
+ 0.00000000 0.20000000 0.20000000
+ 0.06666667 0.20000000 0.20000000
+ 0.13333333 0.20000000 0.20000000
+ 0.20000000 0.20000000 0.20000000
+ 0.26666667 0.20000000 0.20000000
+ 0.33333333 0.20000000 0.20000000
+ 0.40000000 0.20000000 0.20000000
+ 0.46666667 0.20000000 0.20000000
+ 0.00000000 0.26666667 0.20000000
+ 0.06666667 0.26666667 0.20000000
+ 0.13333333 0.26666667 0.20000000
+ 0.20000000 0.26666667 0.20000000
+ 0.26666667 0.26666667 0.20000000
+ 0.33333333 0.26666667 0.20000000
+ 0.40000000 0.26666667 0.20000000
+ 0.46666667 0.26666667 0.20000000
+ 0.00000000 0.33333333 0.20000000
+ 0.06666667 0.33333333 0.20000000
+ 0.13333333 0.33333333 0.20000000
+ 0.20000000 0.33333333 0.20000000
+ 0.26666667 0.33333333 0.20000000
+ 0.33333333 0.33333333 0.20000000
+ 0.40000000 0.33333333 0.20000000
+ 0.46666667 0.33333333 0.20000000
+ 0.00000000 0.40000000 0.20000000
+ 0.06666667 0.40000000 0.20000000
+ 0.13333333 0.40000000 0.20000000
+ 0.20000000 0.40000000 0.20000000
+ 0.26666667 0.40000000 0.20000000
+ 0.33333333 0.40000000 0.20000000
+ 0.40000000 0.40000000 0.20000000
+ 0.46666667 0.40000000 0.20000000
+ 0.00000000 0.46666667 0.20000000
+ 0.06666667 0.46666667 0.20000000
+ 0.13333333 0.46666667 0.20000000
+ 0.20000000 0.46666667 0.20000000
+ 0.26666667 0.46666667 0.20000000
+ 0.33333333 0.46666667 0.20000000
+ 0.40000000 0.46666667 0.20000000
+ 0.46666667 0.46666667 0.20000000
+ 0.00000000 0.00000000 0.26666667
+ 0.06666667 0.00000000 0.26666667
+ 0.13333333 0.00000000 0.26666667
+ 0.20000000 0.00000000 0.26666667
+ 0.26666667 0.00000000 0.26666667
+ 0.33333333 0.00000000 0.26666667
+ 0.40000000 0.00000000 0.26666667
+ 0.46666667 0.00000000 0.26666667
+ 0.00000000 0.06666667 0.26666667
+ 0.06666667 0.06666667 0.26666667
+ 0.13333333 0.06666667 0.26666667
+ 0.20000000 0.06666667 0.26666667
+ 0.26666667 0.06666667 0.26666667
+ 0.33333333 0.06666667 0.26666667
+ 0.40000000 0.06666667 0.26666667
+ 0.46666667 0.06666667 0.26666667
+ 0.00000000 0.13333333 0.26666667
+ 0.06666667 0.13333333 0.26666667
+ 0.13333333 0.13333333 0.26666667
+ 0.20000000 0.13333333 0.26666667
+ 0.26666667 0.13333333 0.26666667
+ 0.33333333 0.13333333 0.26666667
+ 0.40000000 0.13333333 0.26666667
+ 0.46666667 0.13333333 0.26666667
+ 0.00000000 0.20000000 0.26666667
+ 0.06666667 0.20000000 0.26666667
+ 0.13333333 0.20000000 0.26666667
+ 0.20000000 0.20000000 0.26666667
+ 0.26666667 0.20000000 0.26666667
+ 0.33333333 0.20000000 0.26666667
+ 0.40000000 0.20000000 0.26666667
+ 0.46666667 0.20000000 0.26666667
+ 0.00000000 0.26666667 0.26666667
+ 0.06666667 0.26666667 0.26666667
+ 0.13333333 0.26666667 0.26666667
+ 0.20000000 0.26666667 0.26666667
+ 0.26666667 0.26666667 0.26666667
+ 0.33333333 0.26666667 0.26666667
+ 0.40000000 0.26666667 0.26666667
+ 0.46666667 0.26666667 0.26666667
+ 0.00000000 0.33333333 0.26666667
+ 0.06666667 0.33333333 0.26666667
+ 0.13333333 0.33333333 0.26666667
+ 0.20000000 0.33333333 0.26666667
+ 0.26666667 0.33333333 0.26666667
+ 0.33333333 0.33333333 0.26666667
+ 0.40000000 0.33333333 0.26666667
+ 0.46666667 0.33333333 0.26666667
+ 0.00000000 0.40000000 0.26666667
+ 0.06666667 0.40000000 0.26666667
+ 0.13333333 0.40000000 0.26666667
+ 0.20000000 0.40000000 0.26666667
+ 0.26666667 0.40000000 0.26666667
+ 0.33333333 0.40000000 0.26666667
+ 0.40000000 0.40000000 0.26666667
+ 0.46666667 0.40000000 0.26666667
+ 0.00000000 0.46666667 0.26666667
+ 0.06666667 0.46666667 0.26666667
+ 0.13333333 0.46666667 0.26666667
+ 0.20000000 0.46666667 0.26666667
+ 0.26666667 0.46666667 0.26666667
+ 0.33333333 0.46666667 0.26666667
+ 0.40000000 0.46666667 0.26666667
+ 0.46666667 0.46666667 0.26666667
+ 0.00000000 0.00000000 0.33333333
+ 0.06666667 0.00000000 0.33333333
+ 0.13333333 0.00000000 0.33333333
+ 0.20000000 0.00000000 0.33333333
+ 0.26666667 0.00000000 0.33333333
+ 0.33333333 0.00000000 0.33333333
+ 0.40000000 0.00000000 0.33333333
+ 0.46666667 0.00000000 0.33333333
+ 0.00000000 0.06666667 0.33333333
+ 0.06666667 0.06666667 0.33333333
+ 0.13333333 0.06666667 0.33333333
+ 0.20000000 0.06666667 0.33333333
+ 0.26666667 0.06666667 0.33333333
+ 0.33333333 0.06666667 0.33333333
+ 0.40000000 0.06666667 0.33333333
+ 0.46666667 0.06666667 0.33333333
+ 0.00000000 0.13333333 0.33333333
+ 0.06666667 0.13333333 0.33333333
+ 0.13333333 0.13333333 0.33333333
+ 0.20000000 0.13333333 0.33333333
+ 0.26666667 0.13333333 0.33333333
+ 0.33333333 0.13333333 0.33333333
+ 0.40000000 0.13333333 0.33333333
+ 0.46666667 0.13333333 0.33333333
+ 0.00000000 0.20000000 0.33333333
+ 0.06666667 0.20000000 0.33333333
+ 0.13333333 0.20000000 0.33333333
+ 0.20000000 0.20000000 0.33333333
+ 0.26666667 0.20000000 0.33333333
+ 0.33333333 0.20000000 0.33333333
+ 0.40000000 0.20000000 0.33333333
+ 0.46666667 0.20000000 0.33333333
+ 0.00000000 0.26666667 0.33333333
+ 0.06666667 0.26666667 0.33333333
+ 0.13333333 0.26666667 0.33333333
+ 0.20000000 0.26666667 0.33333333
+ 0.26666667 0.26666667 0.33333333
+ 0.33333333 0.26666667 0.33333333
+ 0.40000000 0.26666667 0.33333333
+ 0.46666667 0.26666667 0.33333333
+ 0.00000000 0.33333333 0.33333333
+ 0.06666667 0.33333333 0.33333333
+ 0.13333333 0.33333333 0.33333333
+ 0.20000000 0.33333333 0.33333333
+ 0.26666667 0.33333333 0.33333333
+ 0.33333333 0.33333333 0.33333333
+ 0.40000000 0.33333333 0.33333333
+ 0.46666667 0.33333333 0.33333333
+ 0.00000000 0.40000000 0.33333333
+ 0.06666667 0.40000000 0.33333333
+ 0.13333333 0.40000000 0.33333333
+ 0.20000000 0.40000000 0.33333333
+ 0.26666667 0.40000000 0.33333333
+ 0.33333333 0.40000000 0.33333333
+ 0.40000000 0.40000000 0.33333333
+ 0.46666667 0.40000000 0.33333333
+ 0.00000000 0.46666667 0.33333333
+ 0.06666667 0.46666667 0.33333333
+ 0.13333333 0.46666667 0.33333333
+ 0.20000000 0.46666667 0.33333333
+ 0.26666667 0.46666667 0.33333333
+ 0.33333333 0.46666667 0.33333333
+ 0.40000000 0.46666667 0.33333333
+ 0.46666667 0.46666667 0.33333333
+ 0.00000000 0.00000000 0.40000000
+ 0.06666667 0.00000000 0.40000000
+ 0.13333333 0.00000000 0.40000000
+ 0.20000000 0.00000000 0.40000000
+ 0.26666667 0.00000000 0.40000000
+ 0.33333333 0.00000000 0.40000000
+ 0.40000000 0.00000000 0.40000000
+ 0.46666667 0.00000000 0.40000000
+ 0.00000000 0.06666667 0.40000000
+ 0.06666667 0.06666667 0.40000000
+ 0.13333333 0.06666667 0.40000000
+ 0.20000000 0.06666667 0.40000000
+ 0.26666667 0.06666667 0.40000000
+ 0.33333333 0.06666667 0.40000000
+ 0.40000000 0.06666667 0.40000000
+ 0.46666667 0.06666667 0.40000000
+ 0.00000000 0.13333333 0.40000000
+ 0.06666667 0.13333333 0.40000000
+ 0.13333333 0.13333333 0.40000000
+ 0.20000000 0.13333333 0.40000000
+ 0.26666667 0.13333333 0.40000000
+ 0.33333333 0.13333333 0.40000000
+ 0.40000000 0.13333333 0.40000000
+ 0.46666667 0.13333333 0.40000000
+ 0.00000000 0.20000000 0.40000000
+ 0.06666667 0.20000000 0.40000000
+ 0.13333333 0.20000000 0.40000000
+ 0.20000000 0.20000000 0.40000000
+ 0.26666667 0.20000000 0.40000000
+ 0.33333333 0.20000000 0.40000000
+ 0.40000000 0.20000000 0.40000000
+ 0.46666667 0.20000000 0.40000000
+ 0.00000000 0.26666667 0.40000000
+ 0.06666667 0.26666667 0.40000000
+ 0.13333333 0.26666667 0.40000000
+ 0.20000000 0.26666667 0.40000000
+ 0.26666667 0.26666667 0.40000000
+ 0.33333333 0.26666667 0.40000000
+ 0.40000000 0.26666667 0.40000000
+ 0.46666667 0.26666667 0.40000000
+ 0.00000000 0.33333333 0.40000000
+ 0.06666667 0.33333333 0.40000000
+ 0.13333333 0.33333333 0.40000000
+ 0.20000000 0.33333333 0.40000000
+ 0.26666667 0.33333333 0.40000000
+ 0.33333333 0.33333333 0.40000000
+ 0.40000000 0.33333333 0.40000000
+ 0.46666667 0.33333333 0.40000000
+ 0.00000000 0.40000000 0.40000000
+ 0.06666667 0.40000000 0.40000000
+ 0.13333333 0.40000000 0.40000000
+ 0.20000000 0.40000000 0.40000000
+ 0.26666667 0.40000000 0.40000000
+ 0.33333333 0.40000000 0.40000000
+ 0.40000000 0.40000000 0.40000000
+ 0.46666667 0.40000000 0.40000000
+ 0.00000000 0.46666667 0.40000000
+ 0.06666667 0.46666667 0.40000000
+ 0.13333333 0.46666667 0.40000000
+ 0.20000000 0.46666667 0.40000000
+ 0.26666667 0.46666667 0.40000000
+ 0.33333333 0.46666667 0.40000000
+ 0.40000000 0.46666667 0.40000000
+ 0.46666667 0.46666667 0.40000000
+ 0.00000000 0.00000000 0.46666667
+ 0.06666667 0.00000000 0.46666667
+ 0.13333333 0.00000000 0.46666667
+ 0.20000000 0.00000000 0.46666667
+ 0.26666667 0.00000000 0.46666667
+ 0.33333333 0.00000000 0.46666667
+ 0.40000000 0.00000000 0.46666667
+ 0.46666667 0.00000000 0.46666667
+ 0.00000000 0.06666667 0.46666667
+ 0.06666667 0.06666667 0.46666667
+ 0.13333333 0.06666667 0.46666667
+ 0.20000000 0.06666667 0.46666667
+ 0.26666667 0.06666667 0.46666667
+ 0.33333333 0.06666667 0.46666667
+ 0.40000000 0.06666667 0.46666667
+ 0.46666667 0.06666667 0.46666667
+ 0.00000000 0.13333333 0.46666667
+ 0.06666667 0.13333333 0.46666667
+ 0.13333333 0.13333333 0.46666667
+ 0.20000000 0.13333333 0.46666667
+ 0.26666667 0.13333333 0.46666667
+ 0.33333333 0.13333333 0.46666667
+ 0.40000000 0.13333333 0.46666667
+ 0.46666667 0.13333333 0.46666667
+ 0.00000000 0.20000000 0.46666667
+ 0.06666667 0.20000000 0.46666667
+ 0.13333333 0.20000000 0.46666667
+ 0.20000000 0.20000000 0.46666667
+ 0.26666667 0.20000000 0.46666667
+ 0.33333333 0.20000000 0.46666667
+ 0.40000000 0.20000000 0.46666667
+ 0.46666667 0.20000000 0.46666667
+ 0.00000000 0.26666667 0.46666667
+ 0.06666667 0.26666667 0.46666667
+ 0.13333333 0.26666667 0.46666667
+ 0.20000000 0.26666667 0.46666667
+ 0.26666667 0.26666667 0.46666667
+ 0.33333333 0.26666667 0.46666667
+ 0.40000000 0.26666667 0.46666667
+ 0.46666667 0.26666667 0.46666667
+ 0.00000000 0.33333333 0.46666667
+ 0.06666667 0.33333333 0.46666667
+ 0.13333333 0.33333333 0.46666667
+ 0.20000000 0.33333333 0.46666667
+ 0.26666667 0.33333333 0.46666667
+ 0.33333333 0.33333333 0.46666667
+ 0.40000000 0.33333333 0.46666667
+ 0.46666667 0.33333333 0.46666667
+ 0.00000000 0.40000000 0.46666667
+ 0.06666667 0.40000000 0.46666667
+ 0.13333333 0.40000000 0.46666667
+ 0.20000000 0.40000000 0.46666667
+ 0.26666667 0.40000000 0.46666667
+ 0.33333333 0.40000000 0.46666667
+ 0.40000000 0.40000000 0.46666667
+ 0.46666667 0.40000000 0.46666667
+ 0.00000000 0.46666667 0.46666667
+ 0.06666667 0.46666667 0.46666667
+ 0.13333333 0.46666667 0.46666667
+ 0.20000000 0.46666667 0.46666667
+ 0.26666667 0.46666667 0.46666667
+ 0.33333333 0.46666667 0.46666667
+ 0.40000000 0.46666667 0.46666667
+ 0.46666667 0.46666667 0.46666667
+
+
+ 0.00029630
+ 0.00059259
+ 0.00059259
+ 0.00059259
+ 0.00059259
+ 0.00059259
+ 0.00059259
+ 0.00059259
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00059259
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00118519
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+ 0.00237037
+
+
+
+
+ unknown system
+ F
+
+
+ normal
+ 600.00000000
+ 1293.44900000
+ 0.00000100
+ 48
+ 10
+ 18
+ 26.00000000
+ 0
+ 0
+ 0
+ 0
+ 0.00000000
+
+ 0
+ 0.10000000
+ 0.50000000
+ T
+
+
+ F
+ 0.00000000 0.00000000
+ -100
+ 2
+ F
+
+
+ 0
+ 2
+ 1
+
+
+ 1
+ F
+ 1.00000000 1.00000000 1.00000000 1.00000000
+ -1.00000000
+ F
+ 0.00000000 0.00000000 1.00000000
+ F
+ 0.00000000 0.00000000 0.00000000
+ F
+
+
+ F
+ F
+
+
+ 100
+ -5
+ 2
+ 600.00000000
+
+ T
+ F
+ 0.00000000
+ 0.00000001
+ 0.30000000
+ 4
+ 0.40000000
+
+
+
+ 0.40000000
+ 1.00000000
+ 0.10000000
+ 1.60000000
+ 1.00000000
+
+ 4
+ F
+ -45
+ 100.00000000
+ 1
+ 1
+ 5
+
+
+
+ F
+ F
+ 0
+ 1.00000000
+ -100.00000000 -100.00000000 -100.00000000
+ 0.00000000
+
+
+
+ 24
+ 24
+ 20
+ 48
+ 48
+ 40
+ F
+
+
+ 0
+ -1
+ 0
+ 2
+ 0.00000000
+ 0.00100000
+ 0
+ 0.50000000
+ -3.00000000
+ 1.00000000
+
+
+ 3500.00000000
+ 3500.00000000
+ 1
+ 1
+ 256
+ 16.00000000
+
+
+ 2
+ 0.00001000
+
+
+ 0
+ -1.00000000 -1.00000000
+ 301
+ 10.00000000
+ -10.00000000
+ 0.00000000
+
+
+ 2
+ T
+ F
+ T
+ F
+ F
+ F
+ F
+ F
+ 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
+
+
+ 9
+ 4
+ -1
+ T
+ T
+ F
+ F
+ F
+ F
+
+
+ 3
+ 0
+ F
+ 183.85000000 9.01300000
+ 0.00000000 0.00000000
+ 1.00000000 1.00000000
+ T
+
+ T
+ F
+ 0
+ F
+ 0
+
+ --
+ 0
+ F
+
+ F
+ F
+ F
+ F
+ F
+ -1.00000000
+ 0
+ 0
+ 0.00000000
+ 0.00000000
+ 0.00000000
+ 1.00000000
+ 1.00000000
+ 1.00000000
+ 1.00000000
+ 1
+ 1
+ 1
+ F
+ F
+ F
+ 0
+ 0
+ F
+ 0.00000000
+ 0.00000000
+ 0
+
+
+ F
+ -0.84910000
+ 0.12340000
+ 1.00000000
+ 0.00000000
+
+
+ 0
+ 6.22065547
+ 1.00000000
+
+
+ F
+ F
+ F
+ F
+ 0
+ 0.10000000
+ -1.00000000
+ 0.00200000
+ -0.10000000
+ 0.00000000
+ 0.00000000 0.00000000 0.00000000
+ 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000
+
+
+ F
+ 0.00000000 0.00000000 0.00000000
+ T
+ F
+ F
+ F
+ T
+ 0
+ 0.00000000 0.00000000 0.00000000
+ 0.00000000 0.00000000 0.00000000
+
+
+ F
+ F
+ F
+ T
+ 0
+ -1 0 0 0
+ F
+ F
+ F
+ F
+ F
+ 2
+ F
+ F
+ F
+ -2.00000000
+ -2.00000000
+ -1.00000000
+ -1
+ 0.00000000
+ 0
+ 0
+ -1
+ -1
+ -1
+ 100
+ 1
+ 3
+ 0
+ -30.00000000
+ -30.00000000
+ -200.00000000
+ 140
+ -0.10000000
+ F
+ F
+ F
+ F
+ F
+ F
+ F
+ 1
+ 1
+ 1
+ 2800
+ 0
+ 1
+ -1
+ 1.00000000
+
+
+ 0.00000000
+ 0.00000000 0.00000000 0.00000000
+ 0.00000000
+ 0.00000000
+ 0.00000000
+
+
+
+ 4
+ 2
+
+ ion
+ element
+ atomtype
+
+ W 1
+ Be 2
+ Be 2
+ Be 2
+
+
+
+ type
+ atomspertype
+ element
+ mass
+ valence
+ pseudopotential
+
+ 1W 183.85000000 14.00000000 PAW_PBE W_sv_GW 23Mar2010
+ 3Be 9.01300000 4.00000000 PAW_PBE Be_sv_GW 31Mar2010
+
+
+
+
+
+
+ 3.66961100 0.00000000 0.00000000
+ 0.00000000 3.55744000 0.00000000
+ 0.00000000 0.00000000 3.17678100
+
+ 41.47103646
+
+ 0.27250845 0.00000000 0.00000000
+ 0.00000000 0.28110102 0.00000000
+ 0.00000000 0.00000000 0.31478405
+
+
+
+ 0.00000000 0.00000000 0.00000000
+ 0.00000000 0.50000000 0.50000000
+ 0.50000000 0.00000000 0.50000000
+ 0.50000000 0.50000000 0.00000000
+
+
+
+
+
+
+
+
+
+ 131.43308500
+ -1959.85115532
+ -527.41646070
+ 35.33916255
+ 1941.62980019
+ -1939.43826086
+ -0.00530052
+ -1293.52360327
+ 3036.59145287
+ -575.24128006
+ -575.23597954
+ -575.23862980
+
+
+
+
+
+
+
+
+ 102.38566418
+ 102.39047960
+ 102.38807189
+
+
+
+
+
+
+
+
+ -28.97782713
+ -28.97098459
+ -28.97440586
+
+
+
+
+
+
+
+
+ -49.69418359
+ -49.68840810
+ -49.69129585
+
+
+
+
+
+
+
+
+ -51.91588940
+ -51.91302415
+ -51.91445678
+
+
+
+
+
+
+
+
+ -48.35881744
+ -48.35566410
+ -48.35724077
+
+
+
+
+
+
+
+
+ -48.54575148
+ -48.54295784
+ -48.54435466
+
+
+
+
+
+
+
+
+ -48.07609882
+ -48.07342458
+ -48.07476170
+
+
+
+
+
+
+
+
+ -48.12313644
+ -48.12026988
+ -48.12170316
+
+
+
+
+
+
+
+
+ -48.09347519
+ -48.09050147
+ -48.09198833
+
+
+
+
+
+
+
+
+ -48.07191482
+ -48.06891772
+ -48.07041627
+
+
+
+
+
+
+
+
+ -48.07102791
+ -48.06801376
+ -48.06952083
+
+
+
+
+
+
+
+
+ -48.07113736
+ -48.06809293
+ -48.06961515
+
+
+
+
+
+
+
+
+ -48.07118539
+ -48.06814100
+ -48.06966319
+
+
+
+
+
+
+
+
+ -48.07110546
+ -48.06805494
+ -48.06958020
+
+
+
+
+
+
+
+
+ -48.07109869
+ -48.06804980
+ -48.06957425
+
+
+
+
+
+
+
+
+ -48.07109883
+ -48.06804872
+ -48.06957377
+
+
+
+
+
+
+
+
+ -48.07109628
+ -48.06804655
+ -48.06957141
+
+
+
+
+
+
+
+
+ 131.43308500
+ -1959.85115532
+ -480.61520692
+ 33.47431066
+ 3204.45646866
+ -3203.57677692
+ -0.00304986
+ -809.98022412
+ 3036.59145287
+ -48.07109596
+ -48.06804610
+ -48.06957103
+
+
+
+
+
+ 3.66961100 0.00000000 0.00000000
+ 0.00000000 3.55744000 0.00000000
+ 0.00000000 0.00000000 3.17678100
+
+ 41.47103646
+
+ 0.27250845 0.00000000 0.00000000
+ 0.00000000 0.28110102 0.00000000
+ 0.00000000 0.00000000 0.31478405
+
+
+
+ 0.00000000 0.00000000 0.00000000
+ 0.00000000 0.50000000 0.50000000
+ 0.50000000 0.00000000 0.50000000
+ 0.50000000 0.50000000 0.00000000
+
+
+
+ 0.1 -0.2 -0.3
+ 0.4 -0.5 -0.6
+
+
+ -214.84833704 0.00000000 0.00000000
+ 0.00000000 -123.75352996 0.00000000
+ 0.00000000 -0.00000000 100.18545515
+
+
+ -48.07109596
+ -48.06957103
+ -0.00304986
+
+
+
+
+ band
+ kpoint
+ spin
+ eigene
+ occ
+
+
+
+ -91.8804 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7478 1.0000
+ -30.0216 1.0000
+ -29.9884 1.0000
+ -29.8113 1.0000
+ -2.0041 1.0000
+ 4.4237 1.0000
+ 4.8277 1.0000
+ 6.4981 1.0000
+ 6.9617 1.0000
+ 8.1586 0.0000
+ 8.8821 0.0000
+ 8.9648 0.0000
+ 9.0855 0.0000
+ 13.1593 0.0000
+ 14.6689 0.0000
+
+
+ -91.8808 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7478 1.0000
+ -30.0237 1.0000
+ -29.9882 1.0000
+ -29.8111 1.0000
+ -1.9535 1.0000
+ 4.3336 1.0000
+ 4.8001 1.0000
+ 6.5232 1.0000
+ 6.7555 1.0000
+ 8.3862 0.0000
+ 8.4025 0.0000
+ 8.9705 0.0000
+ 9.5855 0.0000
+ 13.3605 0.0000
+ 14.6572 0.0000
+
+
+ -91.8814 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7477 1.0000
+ -30.0297 1.0000
+ -29.9877 1.0000
+ -29.8105 1.0000
+ -1.8058 1.0000
+ 4.0326 1.0000
+ 4.7589 1.0000
+ 6.3613 1.0000
+ 6.6323 1.0000
+ 7.8755 0.5410
+ 8.8446 0.0000
+ 8.9868 0.0000
+ 10.1754 0.0000
+ 14.0117 0.0000
+ 14.7252 0.0000
+
+
+ -91.8809 1.0000
+ -91.4258 1.0000
+ -91.2907 1.0000
+ -65.7475 1.0000
+ -30.0383 1.0000
+ -29.9868 1.0000
+ -29.8096 1.0000
+ -1.5620 1.0000
+ 3.5407 1.0000
+ 4.7314 1.0000
+ 5.9618 1.0000
+ 6.8672 1.0000
+ 7.4063 1.0000
+ 9.0110 0.0000
+ 9.3490 0.0000
+ 10.7563 0.0000
+ 14.0913 0.0000
+ 15.1642 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7473 1.0000
+ -30.0481 1.0000
+ -29.9858 1.0000
+ -29.8086 1.0000
+ -1.2340 1.0000
+ 2.9354 1.0000
+ 4.7102 1.0000
+ 5.6128 1.0000
+ 7.0130 1.0000
+ 7.2261 1.0000
+ 9.0390 0.0000
+ 9.8394 0.0000
+ 11.3191 0.0000
+ 14.0352 0.0000
+ 15.4144 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7471 1.0000
+ -30.0576 1.0000
+ -29.9848 1.0000
+ -29.8076 1.0000
+ -0.8326 1.0000
+ 2.2914 1.0000
+ 4.6917 1.0000
+ 5.3376 1.0000
+ 6.7081 1.0000
+ 7.6717 0.9986
+ 9.0662 0.0000
+ 10.2804 0.0000
+ 11.8535 0.0000
+ 13.4527 0.0000
+ 14.9300 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7470 1.0000
+ -30.0651 1.0000
+ -29.9841 1.0000
+ -29.8068 1.0000
+ -0.3829 1.0000
+ 1.6674 1.0000
+ 4.6772 1.0000
+ 5.1483 1.0000
+ 6.5003 1.0000
+ 8.1260 0.0003
+ 9.0876 0.0000
+ 10.6305 0.0000
+ 12.3305 0.0000
+ 12.9072 0.0000
+ 15.1709 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7470 1.0000
+ -30.0692 1.0000
+ -29.9837 1.0000
+ -29.8064 1.0000
+ 0.0259 1.0000
+ 1.1640 1.0000
+ 4.6691 1.0000
+ 5.0521 1.0000
+ 6.3951 1.0000
+ 8.4419 0.0000
+ 9.0994 0.0000
+ 10.8329 0.0000
+ 12.5866 0.0000
+ 12.7497 0.0000
+ 15.0542 0.0000
+
+
+ -91.8808 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7478 1.0000
+ -30.0213 1.0000
+ -29.9915 1.0000
+ -29.8110 1.0000
+ -1.9529 1.0000
+ 4.3901 1.0000
+ 4.7755 1.0000
+ 6.3415 1.0000
+ 6.9388 1.0000
+ 8.3265 0.0000
+ 8.4311 0.0000
+ 8.8898 0.0000
+ 9.6264 0.0000
+ 13.5937 0.0000
+ 14.7192 0.0000
+
+
+ -91.8807 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7477 1.0000
+ -30.0234 1.0000
+ -29.9912 1.0000
+ -29.8108 1.0000
+ -1.9023 1.0000
+ 4.3246 1.0000
+ 4.7293 1.0000
+ 6.2087 1.0000
+ 6.9819 1.0000
+ 8.2546 0.0000
+ 8.4565 0.0000
+ 8.8007 0.0000
+ 9.9214 0.0000
+ 13.6485 0.0000
+ 14.6504 0.0000
+
+
+ -91.8811 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7476 1.0000
+ -30.0294 1.0000
+ -29.9906 1.0000
+ -29.8102 1.0000
+ -1.7528 1.0000
+ 4.0516 1.0000
+ 4.6663 1.0000
+ 5.9785 1.0000
+ 7.0276 1.0000
+ 7.8427 0.7144
+ 8.7719 0.0000
+ 8.8056 0.0000
+ 10.4508 0.0000
+ 14.3989 0.0000
+ 15.1127 0.0000
+
+
+ -91.8807 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7474 1.0000
+ -30.0379 1.0000
+ -29.9898 1.0000
+ -29.8093 1.0000
+ -1.5097 1.0000
+ 3.5587 1.0000
+ 4.6450 1.0000
+ 5.7408 1.0000
+ 7.1387 1.0000
+ 7.4085 1.0000
+ 8.7921 0.0000
+ 9.2640 0.0000
+ 11.0130 0.0000
+ 14.0760 0.0000
+ 15.2142 0.0000
+
+
+ -91.8804 1.0000
+ -91.4252 1.0000
+ -91.2903 1.0000
+ -65.7472 1.0000
+ -30.0478 1.0000
+ -29.9888 1.0000
+ -29.8083 1.0000
+ -1.1815 1.0000
+ 2.9494 1.0000
+ 4.6412 1.0000
+ 5.4944 1.0000
+ 7.0285 1.0000
+ 7.3926 1.0000
+ 8.8271 0.0000
+ 9.7408 0.0000
+ 11.5692 0.0000
+ 13.8620 0.0000
+ 14.8771 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7471 1.0000
+ -30.0573 1.0000
+ -29.9878 1.0000
+ -29.8073 1.0000
+ -0.7815 1.0000
+ 2.3062 1.0000
+ 4.6436 1.0000
+ 5.2669 1.0000
+ 6.7293 1.0000
+ 7.7653 0.9516
+ 8.8638 0.0000
+ 10.1806 0.0000
+ 12.1051 0.0000
+ 13.3952 0.0000
+ 14.8765 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7470 1.0000
+ -30.0648 1.0000
+ -29.9871 1.0000
+ -29.8065 1.0000
+ -0.3310 1.0000
+ 1.6815 1.0000
+ 4.6514 1.0000
+ 5.0908 1.0000
+ 6.5240 1.0000
+ 8.1695 0.0000
+ 8.8934 0.0000
+ 10.5364 0.0000
+ 12.5997 0.0000
+ 12.8998 0.0000
+ 15.5154 0.0000
+
+
+ -91.8813 1.0000
+ -91.4263 1.0000
+ -91.2913 1.0000
+ -65.7469 1.0000
+ -30.0689 1.0000
+ -29.9867 1.0000
+ -29.8062 1.0000
+ 0.0847 1.0000
+ 1.1741 1.0000
+ 4.6613 1.0000
+ 4.9916 1.0000
+ 6.4197 1.0000
+ 8.4555 0.0000
+ 8.9099 0.0000
+ 10.7473 0.0000
+ 12.4480 0.0000
+ 12.9600 0.0000
+ 14.8774 0.0000
+
+
+ -91.8810 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7476 1.0000
+ -30.0204 1.0000
+ -29.9998 1.0000
+ -29.8102 1.0000
+ -1.7946 1.0000
+ 4.2094 1.0000
+ 4.6772 1.0000
+ 5.9995 1.0000
+ 6.9517 1.0000
+ 7.8739 0.5498
+ 8.7041 0.0000
+ 8.9110 0.0000
+ 10.2112 0.0000
+ 14.2659 0.0000
+ 14.8795 0.0000
+
+
+ -91.8814 1.0000
+ -91.4263 1.0000
+ -91.2912 1.0000
+ -65.7476 1.0000
+ -30.0226 1.0000
+ -29.9996 1.0000
+ -29.8099 1.0000
+ -1.7450 1.0000
+ 4.2129 1.0000
+ 4.5661 1.0000
+ 5.8355 1.0000
+ 7.1501 1.0000
+ 7.8382 0.7357
+ 8.7026 0.0000
+ 8.7336 0.0000
+ 10.4623 0.0000
+ 13.8631 0.0000
+ 14.8598 0.0000
+
+
+ -91.8810 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7475 1.0000
+ -30.0285 1.0000
+ -29.9991 1.0000
+ -29.8093 1.0000
+ -1.5968 1.0000
+ 4.0989 1.0000
+ 4.3522 1.0000
+ 5.6129 1.0000
+ 7.4328 1.0000
+ 7.6870 0.9972
+ 8.4839 0.0000
+ 8.7940 0.0000
+ 10.9754 0.0000
+ 14.1029 0.0000
+ 15.2039 0.0000
+
+
+ -91.8810 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7473 1.0000
+ -30.0371 1.0000
+ -29.9982 1.0000
+ -29.8084 1.0000
+ -1.3533 1.0000
+ 3.5980 1.0000
+ 4.3620 1.0000
+ 5.4512 1.0000
+ 7.3952 1.0000
+ 7.5979 1.0000
+ 8.3845 0.0000
+ 9.0910 0.0000
+ 11.5502 0.0000
+ 14.7238 0.0000
+ 15.9954 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7471 1.0000
+ -30.0470 1.0000
+ -29.9972 1.0000
+ -29.8074 1.0000
+ -1.0273 1.0000
+ 2.9802 1.0000
+ 4.4181 1.0000
+ 5.2968 1.0000
+ 7.0683 1.0000
+ 7.7534 0.9663
+ 8.3858 0.0000
+ 9.5100 0.0000
+ 12.1157 0.0000
+ 13.7017 0.0000
+ 16.0755 0.0000
+
+
+ -91.8811 1.0000
+ -91.4260 1.0000
+ -91.2911 1.0000
+ -65.7470 1.0000
+ -30.0566 1.0000
+ -29.9963 1.0000
+ -29.8065 1.0000
+ -0.6301 1.0000
+ 2.3392 1.0000
+ 4.4826 1.0000
+ 5.1281 1.0000
+ 6.7895 1.0000
+ 7.9927 0.0600
+ 8.4203 0.0000
+ 9.9342 0.0000
+ 12.6686 0.0000
+ 14.6904 0.0000
+ 16.3415 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7468 1.0000
+ -30.0640 1.0000
+ -29.9955 1.0000
+ -29.8057 1.0000
+ -0.1783 1.0000
+ 1.7219 1.0000
+ 4.5543 1.0000
+ 4.9634 1.0000
+ 6.5924 1.0000
+ 8.2811 0.0000
+ 8.4564 0.0000
+ 10.2930 0.0000
+ 12.6655 0.0000
+ 13.2024 0.0000
+ 15.4432 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7467 1.0000
+ -30.0681 1.0000
+ -29.9951 1.0000
+ -29.8053 1.0000
+ 0.2566 1.0000
+ 1.2033 1.0000
+ 4.6272 1.0000
+ 4.8360 1.0000
+ 6.4912 1.0000
+ 8.4783 0.0000
+ 8.4935 0.0000
+ 10.5194 0.0000
+ 12.2814 0.0000
+ 13.6544 0.0000
+ 14.8524 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7473 1.0000
+ -30.0191 1.0000
+ -30.0121 1.0000
+ -29.8089 1.0000
+ -1.5376 1.0000
+ 3.7788 1.0000
+ 4.6305 1.0000
+ 5.6232 1.0000
+ 7.1210 1.0000
+ 7.3732 1.0000
+ 8.9428 0.0000
+ 9.1443 0.0000
+ 10.7771 0.0000
+ 14.0933 0.0000
+ 15.6423 0.0000
+
+
+ -91.8809 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7473 1.0000
+ -30.0213 1.0000
+ -30.0119 1.0000
+ -29.8086 1.0000
+ -1.4880 1.0000
+ 3.7961 1.0000
+ 4.5072 1.0000
+ 5.5227 1.0000
+ 7.3126 1.0000
+ 7.3745 1.0000
+ 8.7532 0.0000
+ 9.0824 0.0000
+ 11.0146 0.0000
+ 13.9004 0.0000
+ 15.4021 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7472 1.0000
+ -30.0271 1.0000
+ -30.0113 1.0000
+ -29.8080 1.0000
+ -1.3394 1.0000
+ 3.8230 1.0000
+ 4.1696 1.0000
+ 5.3756 1.0000
+ 7.3639 1.0000
+ 7.6935 0.9963
+ 8.3844 0.0000
+ 8.9738 0.0000
+ 11.5333 0.0000
+ 14.0395 0.0000
+ 15.4431 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7470 1.0000
+ -30.0358 1.0000
+ -30.0105 1.0000
+ -29.8072 1.0000
+ -1.1004 1.0000
+ 3.5412 1.0000
+ 4.0159 1.0000
+ 5.2627 1.0000
+ 7.2896 1.0000
+ 7.9988 0.0504
+ 8.0788 0.0028
+ 9.0073 0.0000
+ 12.1244 0.0000
+ 13.7520 0.0000
+ 16.7152 0.0000
+
+
+ -91.8807 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7468 1.0000
+ -30.0459 1.0000
+ -30.0096 1.0000
+ -29.8061 1.0000
+ -0.7790 1.0000
+ 2.9721 1.0000
+ 4.1076 1.0000
+ 5.1462 1.0000
+ 7.1030 1.0000
+ 7.9500 0.1708
+ 8.1422 0.0001
+ 9.2822 0.0000
+ 12.7110 0.0000
+ 13.3886 0.0000
+ 15.6710 0.0000
+
+
+ -91.8809 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7467 1.0000
+ -30.0554 1.0000
+ -30.0087 1.0000
+ -29.8053 1.0000
+ -0.3863 1.0000
+ 2.3710 1.0000
+ 4.2299 1.0000
+ 5.0035 1.0000
+ 6.8764 1.0000
+ 7.9435 0.1954
+ 8.2650 0.0000
+ 9.6513 0.0000
+ 12.8907 0.0000
+ 13.2663 0.0000
+ 15.5200 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7465 1.0000
+ -30.0629 1.0000
+ -30.0079 1.0000
+ -29.8045 1.0000
+ 0.0623 1.0000
+ 1.7821 1.0000
+ 4.3653 1.0000
+ 4.8399 1.0000
+ 6.6971 1.0000
+ 7.9722 0.1031
+ 8.4241 0.0000
+ 9.9878 0.0000
+ 12.3795 0.0000
+ 13.7744 0.0000
+ 15.4918 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7464 1.0000
+ -30.0669 1.0000
+ -30.0075 1.0000
+ -29.8040 1.0000
+ 0.5200 1.0000
+ 1.2543 1.0000
+ 4.5122 1.0000
+ 4.6723 1.0000
+ 6.6015 1.0000
+ 7.9946 0.0570
+ 8.5494 0.0000
+ 10.2089 0.0000
+ 12.0275 0.0000
+ 14.4133 0.0000
+ 15.6167 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2908 1.0000
+ -65.7470 1.0000
+ -30.0263 1.0000
+ -30.0177 1.0000
+ -29.8073 1.0000
+ -1.1910 1.0000
+ 3.1811 1.0000
+ 4.6122 1.0000
+ 5.2814 1.0000
+ 6.9503 1.0000
+ 7.4746 1.0000
+ 8.9798 0.0000
+ 9.5814 0.0000
+ 11.3283 0.0000
+ 13.6460 0.0000
+ 15.5948 0.0000
+
+
+ -91.8811 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7470 1.0000
+ -30.0261 1.0000
+ -30.0198 1.0000
+ -29.8072 1.0000
+ -1.1414 1.0000
+ 3.1889 1.0000
+ 4.5083 1.0000
+ 5.2434 1.0000
+ 6.9639 1.0000
+ 7.6097 0.9999
+ 8.7962 0.0000
+ 9.4992 0.0000
+ 11.5568 0.0000
+ 13.6608 0.0000
+ 15.2250 0.0000
+
+
+ -91.8809 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7469 1.0000
+ -30.0257 1.0000
+ -30.0255 1.0000
+ -29.8066 1.0000
+ -0.9957 1.0000
+ 3.1942 1.0000
+ 4.2418 1.0000
+ 5.1757 1.0000
+ 7.0004 1.0000
+ 7.9287 0.2579
+ 8.4011 0.0000
+ 9.3080 0.0000
+ 12.0788 0.0000
+ 13.5578 0.0000
+ 15.2519 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7467 1.0000
+ -30.0345 1.0000
+ -30.0247 1.0000
+ -29.8057 1.0000
+ -0.7602 1.0000
+ 3.1062 1.0000
+ 3.9790 1.0000
+ 5.1030 1.0000
+ 7.0431 1.0000
+ 7.9901 0.0646
+ 8.2728 0.0000
+ 9.1426 0.0000
+ 12.6730 0.0000
+ 13.3289 0.0000
+ 15.7896 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7465 1.0000
+ -30.0445 1.0000
+ -30.0237 1.0000
+ -29.8047 1.0000
+ -0.4475 1.0000
+ 2.8028 1.0000
+ 3.9098 1.0000
+ 5.0079 1.0000
+ 7.0489 1.0000
+ 7.6784 0.9981
+ 8.4720 0.0000
+ 9.1821 0.0000
+ 12.9563 0.0000
+ 13.5965 0.0000
+ 17.2388 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7463 1.0000
+ -30.0541 1.0000
+ -30.0228 1.0000
+ -29.8038 1.0000
+ -0.0679 1.0000
+ 2.3493 1.0000
+ 3.9944 1.0000
+ 4.8777 1.0000
+ 6.9573 1.0000
+ 7.5462 1.0000
+ 8.5230 0.0000
+ 9.4304 0.0000
+ 12.4873 0.0000
+ 13.6262 0.0000
+ 16.0306 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2897 1.0000
+ -65.7461 1.0000
+ -30.0615 1.0000
+ -30.0221 1.0000
+ -29.8030 1.0000
+ 0.3633 1.0000
+ 1.8487 1.0000
+ 4.1415 1.0000
+ 4.7166 1.0000
+ 6.8214 1.0000
+ 7.5399 1.0000
+ 8.5695 0.0000
+ 9.7014 0.0000
+ 12.0422 0.0000
+ 13.9068 0.0000
+ 16.1837 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7461 1.0000
+ -30.0656 1.0000
+ -30.0217 1.0000
+ -29.8026 1.0000
+ 0.8283 1.0000
+ 1.3477 1.0000
+ 4.3004 1.0000
+ 4.5506 1.0000
+ 6.7365 1.0000
+ 7.5567 1.0000
+ 8.6157 0.0000
+ 9.8832 0.0000
+ 11.7458 0.0000
+ 14.0429 0.0000
+ 16.0539 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2910 1.0000
+ -65.7468 1.0000
+ -30.0398 1.0000
+ -30.0163 1.0000
+ -29.8059 1.0000
+ -0.7675 1.0000
+ 2.5196 1.0000
+ 4.5999 1.0000
+ 5.0061 1.0000
+ 6.6208 1.0000
+ 7.9708 0.1066
+ 9.0157 0.0000
+ 9.9775 0.0000
+ 11.8614 0.0000
+ 13.1993 0.0000
+ 15.3650 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7467 1.0000
+ -30.0395 1.0000
+ -30.0184 1.0000
+ -29.8057 1.0000
+ -0.7188 1.0000
+ 2.5262 1.0000
+ 4.5193 1.0000
+ 4.9986 1.0000
+ 6.6392 1.0000
+ 8.0523 0.0083
+ 8.8426 0.0000
+ 9.8894 0.0000
+ 12.0868 0.0000
+ 13.1663 0.0000
+ 16.1220 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7466 1.0000
+ -30.0390 1.0000
+ -30.0243 1.0000
+ -29.8052 1.0000
+ -0.5758 1.0000
+ 2.5363 1.0000
+ 4.3168 1.0000
+ 4.9744 1.0000
+ 6.6919 1.0000
+ 8.2598 0.0000
+ 8.4520 0.0000
+ 9.6694 0.0000
+ 12.6304 0.0000
+ 13.0732 0.0000
+ 15.6443 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7465 1.0000
+ -30.0382 1.0000
+ -30.0332 1.0000
+ -29.8043 1.0000
+ -0.3483 1.0000
+ 2.5183 1.0000
+ 4.0832 1.0000
+ 4.9265 1.0000
+ 6.7709 1.0000
+ 8.0186 0.0274
+ 8.5126 0.0000
+ 9.4183 0.0000
+ 12.8043 0.0000
+ 13.1910 0.0000
+ 15.7181 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7462 1.0000
+ -30.0432 1.0000
+ -30.0373 1.0000
+ -29.8034 1.0000
+ -0.0478 1.0000
+ 2.4216 1.0000
+ 3.9190 1.0000
+ 4.8440 1.0000
+ 6.8610 1.0000
+ 7.6333 0.9998
+ 8.7054 0.0000
+ 9.2656 0.0000
+ 12.4562 0.0000
+ 13.6001 0.0000
+ 16.2032 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7460 1.0000
+ -30.0528 1.0000
+ -30.0364 1.0000
+ -29.8024 1.0000
+ 0.3045 1.0000
+ 2.2066 1.0000
+ 3.8869 1.0000
+ 4.7195 1.0000
+ 6.9324 1.0000
+ 7.3479 1.0000
+ 8.7335 0.0000
+ 9.3281 0.0000
+ 12.0629 0.0000
+ 13.7569 0.0000
+ 16.5710 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7459 1.0000
+ -30.0602 1.0000
+ -30.0357 1.0000
+ -29.8017 1.0000
+ 0.6908 1.0000
+ 1.8937 1.0000
+ 3.9664 1.0000
+ 4.5594 1.0000
+ 6.9277 1.0000
+ 7.2186 1.0000
+ 8.6985 0.0000
+ 9.4867 0.0000
+ 11.7099 0.0000
+ 13.7542 0.0000
+ 16.7032 0.0000
+
+
+ -91.8786 1.0000
+ -91.4236 1.0000
+ -91.2886 1.0000
+ -65.7457 1.0000
+ -30.0642 1.0000
+ -30.0352 1.0000
+ -29.8012 1.0000
+ 1.0768 1.0000
+ 1.5402 1.0000
+ 4.0958 1.0000
+ 4.3989 1.0000
+ 6.8746 1.0000
+ 7.2086 1.0000
+ 8.6828 0.0000
+ 9.6000 0.0000
+ 11.4903 0.0000
+ 13.7171 0.0000
+ 16.6030 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7465 1.0000
+ -30.0502 1.0000
+ -30.0152 1.0000
+ -29.8048 1.0000
+ -0.2969 1.0000
+ 1.8722 1.0000
+ 4.5904 1.0000
+ 4.8147 1.0000
+ 6.3956 1.0000
+ 8.5207 0.0000
+ 9.0442 0.0000
+ 10.2923 0.0000
+ 12.3631 0.0000
+ 12.6799 0.0000
+ 15.4633 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7465 1.0000
+ -30.0501 1.0000
+ -30.0173 1.0000
+ -29.8046 1.0000
+ -0.2476 1.0000
+ 1.8793 1.0000
+ 4.5376 1.0000
+ 4.8080 1.0000
+ 6.4159 1.0000
+ 8.5593 0.0000
+ 8.8804 0.0000
+ 10.2052 0.0000
+ 12.5854 0.0000
+ 12.5895 0.0000
+ 14.7751 0.0000
+
+
+ -91.8814 1.0000
+ -91.4264 1.0000
+ -91.2914 1.0000
+ -65.7464 1.0000
+ -30.0496 1.0000
+ -30.0233 1.0000
+ -29.8041 1.0000
+ -0.1045 1.0000
+ 1.8964 1.0000
+ 4.3983 1.0000
+ 4.7846 1.0000
+ 6.4746 1.0000
+ 8.5014 0.0000
+ 8.6596 0.0000
+ 9.9796 0.0000
+ 12.4726 0.0000
+ 13.1496 0.0000
+ 15.1815 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7462 1.0000
+ -30.0487 1.0000
+ -30.0321 1.0000
+ -29.8032 1.0000
+ 0.1204 1.0000
+ 1.9197 1.0000
+ 4.2177 1.0000
+ 4.7361 1.0000
+ 6.5646 1.0000
+ 8.0702 0.0040
+ 8.7844 0.0000
+ 9.6958 0.0000
+ 12.2586 0.0000
+ 13.7021 0.0000
+ 15.4427 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7460 1.0000
+ -30.0478 1.0000
+ -30.0422 1.0000
+ -29.8023 1.0000
+ 0.4035 1.0000
+ 1.9363 1.0000
+ 4.0468 1.0000
+ 4.6515 1.0000
+ 6.6739 1.0000
+ 7.6760 0.9983
+ 8.8822 0.0000
+ 9.4477 0.0000
+ 11.9748 0.0000
+ 13.8742 0.0000
+ 16.0112 0.0000
+
+
+ -91.8797 1.0000
+ -91.4248 1.0000
+ -91.2897 1.0000
+ -65.7458 1.0000
+ -30.0517 1.0000
+ -30.0469 1.0000
+ -29.8013 1.0000
+ 0.7108 1.0000
+ 1.9297 1.0000
+ 3.9336 1.0000
+ 4.5238 1.0000
+ 6.7857 1.0000
+ 7.3592 1.0000
+ 8.8793 0.0000
+ 9.3398 0.0000
+ 11.6821 0.0000
+ 13.7440 0.0000
+ 16.5307 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7456 1.0000
+ -30.0593 1.0000
+ -30.0463 1.0000
+ -29.8006 1.0000
+ 0.9965 1.0000
+ 1.8877 1.0000
+ 3.9039 1.0000
+ 4.3616 1.0000
+ 6.8809 1.0000
+ 7.1374 1.0000
+ 8.7963 0.0000
+ 9.3615 0.0000
+ 11.4387 0.0000
+ 13.5583 0.0000
+ 16.9470 0.0000
+
+
+ -91.8787 1.0000
+ -91.4238 1.0000
+ -91.2887 1.0000
+ -65.7455 1.0000
+ -30.0632 1.0000
+ -30.0459 1.0000
+ -29.8002 1.0000
+ 1.1916 1.0000
+ 1.8308 1.0000
+ 3.9520 1.0000
+ 4.2094 1.0000
+ 6.9473 1.0000
+ 7.0123 1.0000
+ 8.7381 0.0000
+ 9.3978 0.0000
+ 11.2989 0.0000
+ 13.4437 0.0000
+ 16.5925 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7463 1.0000
+ -30.0559 1.0000
+ -30.0145 1.0000
+ -29.8042 1.0000
+ 0.1293 1.0000
+ 1.3542 1.0000
+ 4.5849 1.0000
+ 4.7168 1.0000
+ 6.2814 1.0000
+ 8.9385 0.0000
+ 9.0598 0.0000
+ 10.4726 0.0000
+ 12.1850 0.0000
+ 12.8255 0.0000
+ 15.1774 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7463 1.0000
+ -30.0557 1.0000
+ -30.0167 1.0000
+ -29.8040 1.0000
+ 0.1836 1.0000
+ 1.3565 1.0000
+ 4.5671 1.0000
+ 4.6874 1.0000
+ 6.3024 1.0000
+ 8.9015 0.0000
+ 8.9469 0.0000
+ 10.3933 0.0000
+ 12.1353 0.0000
+ 13.0125 0.0000
+ 15.3429 0.0000
+
+
+ -91.8806 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7462 1.0000
+ -30.0552 1.0000
+ -30.0227 1.0000
+ -29.8035 1.0000
+ 0.3435 1.0000
+ 1.3655 1.0000
+ 4.4967 1.0000
+ 4.6242 1.0000
+ 6.3631 1.0000
+ 8.5307 0.0000
+ 8.9685 0.0000
+ 10.1791 0.0000
+ 12.0342 0.0000
+ 13.5893 0.0000
+ 16.0045 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7460 1.0000
+ -30.0544 1.0000
+ -30.0315 1.0000
+ -29.8026 1.0000
+ 0.5914 1.0000
+ 1.3832 1.0000
+ 4.3674 1.0000
+ 4.5524 1.0000
+ 6.4562 1.0000
+ 8.1044 0.0009
+ 8.9932 0.0000
+ 9.8884 0.0000
+ 11.8622 0.0000
+ 14.2861 0.0000
+ 15.0487 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7459 1.0000
+ -30.0535 1.0000
+ -30.0416 1.0000
+ -29.8017 1.0000
+ 0.8833 1.0000
+ 1.4308 1.0000
+ 4.2192 1.0000
+ 4.4522 1.0000
+ 6.5696 1.0000
+ 7.7127 0.9919
+ 9.0016 0.0000
+ 9.5963 0.0000
+ 11.6488 0.0000
+ 14.0297 0.0000
+ 15.9577 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7457 1.0000
+ -30.0528 1.0000
+ -30.0512 1.0000
+ -29.8008 1.0000
+ 1.1157 1.0000
+ 1.5761 1.0000
+ 4.0844 1.0000
+ 4.3103 1.0000
+ 6.6854 1.0000
+ 7.3974 1.0000
+ 8.9559 0.0000
+ 9.3894 0.0000
+ 11.4424 0.0000
+ 13.7001 0.0000
+ 16.5151 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7455 1.0000
+ -30.0587 1.0000
+ -30.0521 1.0000
+ -29.8000 1.0000
+ 1.2081 1.0000
+ 1.8399 1.0000
+ 3.9754 1.0000
+ 4.1492 1.0000
+ 6.7823 1.0000
+ 7.1786 1.0000
+ 8.8498 0.0000
+ 9.3109 0.0000
+ 11.2830 0.0000
+ 13.4354 0.0000
+ 16.6304 0.0000
+
+
+ -91.8793 1.0000
+ -91.4243 1.0000
+ -91.2893 1.0000
+ -65.7454 1.0000
+ -30.0627 1.0000
+ -30.0518 1.0000
+ -29.7996 1.0000
+ 1.2328 1.0000
+ 2.0507 1.0000
+ 3.8985 1.0000
+ 4.0417 1.0000
+ 6.8389 1.0000
+ 7.0660 1.0000
+ 8.7690 0.0000
+ 9.2970 0.0000
+ 11.2437 0.0000
+ 14.1131 0.0000
+ 18.0681 0.0000
+
+
+ -91.8804 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7474 1.0000
+ -30.0205 1.0000
+ -29.9874 1.0000
+ -29.8211 1.0000
+ -1.9380 1.0000
+ 4.4295 1.0000
+ 4.8508 1.0000
+ 6.3792 1.0000
+ 6.8138 1.0000
+ 8.1771 0.0000
+ 8.8386 0.0000
+ 8.9434 0.0000
+ 9.0466 0.0000
+ 13.4689 0.0000
+ 14.8465 0.0000
+
+
+ -91.8802 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7474 1.0000
+ -30.0226 1.0000
+ -29.9872 1.0000
+ -29.8209 1.0000
+ -1.8859 1.0000
+ 4.3438 1.0000
+ 4.8274 1.0000
+ 6.3656 1.0000
+ 6.6651 1.0000
+ 8.2366 0.0000
+ 8.4561 0.0000
+ 9.1702 0.0000
+ 9.3749 0.0000
+ 14.6979 0.0000
+ 15.1035 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7473 1.0000
+ -30.0286 1.0000
+ -29.9866 1.0000
+ -29.8203 1.0000
+ -1.7375 1.0000
+ 4.0528 1.0000
+ 4.7878 1.0000
+ 6.3364 1.0000
+ 6.3830 1.0000
+ 8.0619 0.0057
+ 8.3336 0.0000
+ 9.5014 0.0000
+ 9.9115 0.0000
+ 14.1815 0.0000
+ 14.9183 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7471 1.0000
+ -30.0372 1.0000
+ -29.9857 1.0000
+ -29.8195 1.0000
+ -1.4939 1.0000
+ 3.5647 1.0000
+ 4.7595 1.0000
+ 5.9723 1.0000
+ 6.4743 1.0000
+ 7.7497 0.9700
+ 8.4147 0.0000
+ 9.9423 0.0000
+ 10.4794 0.0000
+ 14.3282 0.0000
+ 15.0758 0.0000
+
+
+ -91.8796 1.0000
+ -91.4244 1.0000
+ -91.2894 1.0000
+ -65.7469 1.0000
+ -30.0470 1.0000
+ -29.9846 1.0000
+ -29.8185 1.0000
+ -1.1660 1.0000
+ 2.9634 1.0000
+ 4.7389 1.0000
+ 5.6413 1.0000
+ 6.5416 1.0000
+ 7.6483 0.9995
+ 8.4831 0.0000
+ 10.4090 0.0000
+ 11.0447 0.0000
+ 15.0305 0.0000
+ 15.6832 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7468 1.0000
+ -30.0566 1.0000
+ -29.9837 1.0000
+ -29.8176 1.0000
+ -0.7654 1.0000
+ 2.3210 1.0000
+ 4.7218 1.0000
+ 5.3752 1.0000
+ 6.4754 1.0000
+ 7.8474 0.6915
+ 8.5405 0.0000
+ 10.8486 0.0000
+ 11.5771 0.0000
+ 13.5613 0.0000
+ 15.1290 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7467 1.0000
+ -30.0642 1.0000
+ -29.9830 1.0000
+ -29.8168 1.0000
+ -0.3160 1.0000
+ 1.6951 1.0000
+ 4.7092 1.0000
+ 5.1905 1.0000
+ 6.3590 1.0000
+ 8.1987 0.0000
+ 8.5831 0.0000
+ 11.2134 0.0000
+ 12.0304 0.0000
+ 12.9684 0.0000
+ 14.5851 0.0000
+
+
+ -91.8817 1.0000
+ -91.4266 1.0000
+ -91.2917 1.0000
+ -65.7467 1.0000
+ -30.0683 1.0000
+ -29.9826 1.0000
+ -29.8165 1.0000
+ 0.1015 1.0000
+ 1.1853 1.0000
+ 4.7026 1.0000
+ 5.0962 1.0000
+ 6.2848 1.0000
+ 8.4738 0.0000
+ 8.6059 0.0000
+ 11.4369 0.0000
+ 12.3087 0.0000
+ 12.6173 0.0000
+ 14.4394 0.0000
+
+
+ -91.8803 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7474 1.0000
+ -30.0202 1.0000
+ -29.9904 1.0000
+ -29.8208 1.0000
+ -1.8853 1.0000
+ 4.3956 1.0000
+ 4.8088 1.0000
+ 6.2602 1.0000
+ 6.7341 1.0000
+ 8.1965 0.0000
+ 8.5252 0.0000
+ 9.0697 0.0000
+ 9.4119 0.0000
+ 13.8616 0.0000
+ 15.2576 0.0000
+
+
+ -91.8804 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7473 1.0000
+ -30.0223 1.0000
+ -29.9901 1.0000
+ -29.8206 1.0000
+ -1.8347 1.0000
+ 4.3325 1.0000
+ 4.7685 1.0000
+ 6.1044 1.0000
+ 6.8162 1.0000
+ 7.9710 0.1061
+ 8.7574 0.0000
+ 8.9151 0.0000
+ 9.6966 0.0000
+ 13.8495 0.0000
+ 14.8611 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7473 1.0000
+ -30.0283 1.0000
+ -29.9896 1.0000
+ -29.8200 1.0000
+ -1.6854 1.0000
+ 4.0715 1.0000
+ 4.7055 1.0000
+ 5.8924 1.0000
+ 6.8149 1.0000
+ 7.7859 0.9146
+ 8.5439 0.0000
+ 9.2979 0.0000
+ 10.1790 0.0000
+ 14.4429 0.0000
+ 14.9450 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7471 1.0000
+ -30.0369 1.0000
+ -29.9887 1.0000
+ -29.8192 1.0000
+ -1.4415 1.0000
+ 3.5859 1.0000
+ 4.6793 1.0000
+ 5.7131 1.0000
+ 6.7163 1.0000
+ 7.7038 0.9943
+ 8.3889 0.0000
+ 9.7722 0.0000
+ 10.7211 0.0000
+ 14.3964 0.0000
+ 15.0087 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7469 1.0000
+ -30.0468 1.0000
+ -29.9877 1.0000
+ -29.8182 1.0000
+ -1.1142 1.0000
+ 2.9798 1.0000
+ 4.6736 1.0000
+ 5.5108 1.0000
+ 6.6199 1.0000
+ 7.7221 0.9885
+ 8.3636 0.0000
+ 10.2499 0.0000
+ 11.2691 0.0000
+ 14.1095 0.0000
+ 16.1309 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7467 1.0000
+ -30.0564 1.0000
+ -29.9867 1.0000
+ -29.8173 1.0000
+ -0.7140 1.0000
+ 2.3366 1.0000
+ 4.6761 1.0000
+ 5.3013 1.0000
+ 6.5008 1.0000
+ 7.9230 0.2850
+ 8.3953 0.0000
+ 10.6940 0.0000
+ 11.7823 0.0000
+ 13.5487 0.0000
+ 15.0697 0.0000
+
+
+ -91.8810 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7466 1.0000
+ -30.0639 1.0000
+ -29.9860 1.0000
+ -29.8166 1.0000
+ -0.2628 1.0000
+ 1.7117 1.0000
+ 4.6852 1.0000
+ 5.1307 1.0000
+ 6.3817 1.0000
+ 8.2332 0.0000
+ 8.4366 0.0000
+ 11.0609 0.0000
+ 12.1858 0.0000
+ 13.0336 0.0000
+ 14.9369 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2912 1.0000
+ -65.7466 1.0000
+ -30.0680 1.0000
+ -29.9856 1.0000
+ -29.8162 1.0000
+ 0.1614 1.0000
+ 1.1971 1.0000
+ 4.6963 1.0000
+ 5.0329 1.0000
+ 6.3108 1.0000
+ 8.4305 0.0000
+ 8.5088 0.0000
+ 11.2905 0.0000
+ 12.2531 0.0000
+ 13.6523 0.0000
+ 15.0165 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7472 1.0000
+ -30.0193 1.0000
+ -29.9987 1.0000
+ -29.8199 1.0000
+ -1.7259 1.0000
+ 4.2208 1.0000
+ 4.7206 1.0000
+ 5.9736 1.0000
+ 6.6199 1.0000
+ 8.1432 0.0001
+ 8.2436 0.0000
+ 9.3875 0.0000
+ 9.9330 0.0000
+ 14.2783 0.0000
+ 14.9326 0.0000
+
+
+ -91.8805 1.0000
+ -91.4253 1.0000
+ -91.2904 1.0000
+ -65.7472 1.0000
+ -30.0214 1.0000
+ -29.9985 1.0000
+ -29.8197 1.0000
+ -1.6767 1.0000
+ 4.2223 1.0000
+ 4.6204 1.0000
+ 5.7734 1.0000
+ 6.8479 1.0000
+ 7.7918 0.9010
+ 8.5549 0.0000
+ 9.2077 0.0000
+ 10.1836 0.0000
+ 14.6923 0.0000
+ 15.0199 0.0000
+
+
+ -91.8807 1.0000
+ -91.4255 1.0000
+ -91.2906 1.0000
+ -65.7471 1.0000
+ -30.0274 1.0000
+ -29.9980 1.0000
+ -29.8192 1.0000
+ -1.5287 1.0000
+ 4.1177 1.0000
+ 4.4062 1.0000
+ 5.5506 1.0000
+ 7.1483 1.0000
+ 7.4218 1.0000
+ 8.7268 0.0000
+ 9.0973 0.0000
+ 10.6622 0.0000
+ 14.4498 0.0000
+ 15.1810 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7469 1.0000
+ -30.0361 1.0000
+ -29.9971 1.0000
+ -29.8183 1.0000
+ -1.2856 1.0000
+ 3.6350 1.0000
+ 4.3984 1.0000
+ 5.4250 1.0000
+ 6.9924 1.0000
+ 7.5022 1.0000
+ 8.4908 0.0000
+ 9.4686 0.0000
+ 11.2024 0.0000
+ 14.4000 0.0000
+ 15.1855 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7467 1.0000
+ -30.0460 1.0000
+ -29.9962 1.0000
+ -29.8174 1.0000
+ -0.9603 1.0000
+ 3.0182 1.0000
+ 4.4522 1.0000
+ 5.3087 1.0000
+ 6.7413 1.0000
+ 7.7217 0.9886
+ 8.3005 0.0000
+ 9.9206 0.0000
+ 11.7328 0.0000
+ 13.9753 0.0000
+ 15.3830 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7465 1.0000
+ -30.0556 1.0000
+ -29.9952 1.0000
+ -29.8164 1.0000
+ -0.5617 1.0000
+ 2.3790 1.0000
+ 4.5170 1.0000
+ 5.1603 1.0000
+ 6.5656 1.0000
+ 7.9200 0.2994
+ 8.2560 0.0000
+ 10.3547 0.0000
+ 12.1577 0.0000
+ 13.5549 0.0000
+ 17.9977 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7464 1.0000
+ -30.0631 1.0000
+ -29.9945 1.0000
+ -29.8157 1.0000
+ -0.1093 1.0000
+ 1.7590 1.0000
+ 4.5897 1.0000
+ 5.0004 1.0000
+ 6.4473 1.0000
+ 8.0381 0.0140
+ 8.3802 0.0000
+ 10.7217 0.0000
+ 12.2601 0.0000
+ 13.3666 0.0000
+ 15.0205 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7464 1.0000
+ -30.0672 1.0000
+ -29.9941 1.0000
+ -29.8153 1.0000
+ 0.3334 1.0000
+ 1.2318 1.0000
+ 4.6652 1.0000
+ 4.8709 1.0000
+ 6.3846 1.0000
+ 8.0775 0.0029
+ 8.5356 0.0000
+ 10.9631 0.0000
+ 12.0560 0.0000
+ 14.6802 0.0000
+ 15.7986 0.0000
+
+
+ -91.8809 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7470 1.0000
+ -30.0181 1.0000
+ -30.0111 1.0000
+ -29.8187 1.0000
+ -1.4695 1.0000
+ 3.7994 1.0000
+ 4.6693 1.0000
+ 5.6325 1.0000
+ 6.5974 1.0000
+ 7.8461 0.6978
+ 8.3061 0.0000
+ 9.7917 0.0000
+ 10.4886 0.0000
+ 14.2428 0.0000
+ 15.3871 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7469 1.0000
+ -30.0202 1.0000
+ -30.0109 1.0000
+ -29.8185 1.0000
+ -1.4195 1.0000
+ 3.8193 1.0000
+ 4.5504 1.0000
+ 5.5098 1.0000
+ 6.7466 1.0000
+ 7.7637 0.9539
+ 8.3458 0.0000
+ 9.6384 0.0000
+ 10.7162 0.0000
+ 14.2161 0.0000
+ 15.3807 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7468 1.0000
+ -30.0261 1.0000
+ -30.0103 1.0000
+ -29.8179 1.0000
+ -1.2729 1.0000
+ 3.8625 1.0000
+ 4.2037 1.0000
+ 5.3571 1.0000
+ 6.9709 1.0000
+ 7.5306 1.0000
+ 8.5275 0.0000
+ 9.3693 0.0000
+ 11.1903 0.0000
+ 14.9903 0.0000
+ 31.3493 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7467 1.0000
+ -30.0349 1.0000
+ -30.0095 1.0000
+ -29.8171 1.0000
+ -1.0337 1.0000
+ 3.6024 1.0000
+ 4.0290 1.0000
+ 5.2643 1.0000
+ 7.0029 1.0000
+ 7.3935 1.0000
+ 8.6571 0.0000
+ 9.2934 0.0000
+ 11.7135 0.0000
+ 14.0675 0.0000
+ 15.4038 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7464 1.0000
+ -30.0448 1.0000
+ -30.0085 1.0000
+ -29.8161 1.0000
+ -0.7114 1.0000
+ 3.0260 1.0000
+ 4.1301 1.0000
+ 5.1712 1.0000
+ 6.8136 1.0000
+ 7.4784 1.0000
+ 8.5466 0.0000
+ 9.5926 0.0000
+ 12.1469 0.0000
+ 13.8100 0.0000
+ 15.8147 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7463 1.0000
+ -30.0544 1.0000
+ -30.0076 1.0000
+ -29.8152 1.0000
+ -0.3183 1.0000
+ 2.4223 1.0000
+ 4.2569 1.0000
+ 5.0412 1.0000
+ 6.6493 1.0000
+ 7.5743 1.0000
+ 8.4765 0.0000
+ 9.9779 0.0000
+ 12.2811 0.0000
+ 13.6749 0.0000
+ 15.6480 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7461 1.0000
+ -30.0619 1.0000
+ -30.0069 1.0000
+ -29.8145 1.0000
+ 0.1309 1.0000
+ 1.8302 1.0000
+ 4.3950 1.0000
+ 4.8792 1.0000
+ 6.5467 1.0000
+ 7.6338 0.9998
+ 8.5191 0.0000
+ 10.3234 0.0000
+ 12.0332 0.0000
+ 13.9324 0.0000
+ 15.8350 0.0000
+
+
+ -91.8807 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7461 1.0000
+ -30.0660 1.0000
+ -30.0065 1.0000
+ -29.8141 1.0000
+ 0.5962 1.0000
+ 1.2931 1.0000
+ 4.5437 1.0000
+ 4.7091 1.0000
+ 6.4966 1.0000
+ 7.6617 0.9991
+ 8.5908 0.0000
+ 10.5605 0.0000
+ 11.7454 0.0000
+ 14.3195 0.0000
+ 15.4240 0.0000
+
+
+ -91.8811 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7467 1.0000
+ -30.0253 1.0000
+ -30.0166 1.0000
+ -29.8173 1.0000
+ -1.1232 1.0000
+ 3.2045 1.0000
+ 4.6486 1.0000
+ 5.3096 1.0000
+ 6.5657 1.0000
+ 7.8108 0.8458
+ 8.3758 0.0000
+ 10.2111 0.0000
+ 11.0400 0.0000
+ 13.9258 0.0000
+ 15.5259 0.0000
+
+
+ -91.8810 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7466 1.0000
+ -30.0251 1.0000
+ -30.0187 1.0000
+ -29.8171 1.0000
+ -1.0740 1.0000
+ 3.2169 1.0000
+ 4.5463 1.0000
+ 5.2645 1.0000
+ 6.6130 1.0000
+ 7.8637 0.6062
+ 8.2993 0.0000
+ 10.0666 0.0000
+ 11.2485 0.0000
+ 13.8793 0.0000
+ 15.1310 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7465 1.0000
+ -30.0247 1.0000
+ -30.0245 1.0000
+ -29.8165 1.0000
+ -0.9278 1.0000
+ 3.2332 1.0000
+ 4.2746 1.0000
+ 5.1943 1.0000
+ 6.7018 1.0000
+ 7.7714 0.9424
+ 8.3727 0.0000
+ 9.7624 0.0000
+ 11.6929 0.0000
+ 13.8341 0.0000
+ 15.2470 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7463 1.0000
+ -30.0335 1.0000
+ -30.0237 1.0000
+ -29.8157 1.0000
+ -0.6936 1.0000
+ 3.1651 1.0000
+ 3.9951 1.0000
+ 5.1310 1.0000
+ 6.7693 1.0000
+ 7.5109 1.0000
+ 8.6573 0.0000
+ 9.4680 0.0000
+ 12.1191 0.0000
+ 13.7501 0.0000
+ 16.2199 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7461 1.0000
+ -30.0435 1.0000
+ -30.0228 1.0000
+ -29.8147 1.0000
+ -0.3808 1.0000
+ 2.8709 1.0000
+ 3.9188 1.0000
+ 5.0470 1.0000
+ 6.7750 1.0000
+ 7.3303 1.0000
+ 8.7957 0.0000
+ 9.4194 0.0000
+ 12.2854 0.0000
+ 15.1004 0.0000
+ 16.6631 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7460 1.0000
+ -30.0531 1.0000
+ -30.0219 1.0000
+ -29.8138 1.0000
+ -0.0012 1.0000
+ 2.4149 1.0000
+ 4.0086 1.0000
+ 4.9212 1.0000
+ 6.7199 1.0000
+ 7.2772 1.0000
+ 8.7185 0.0000
+ 9.6676 0.0000
+ 12.0399 0.0000
+ 13.9078 0.0000
+ 16.1396 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7458 1.0000
+ -30.0605 1.0000
+ -30.0212 1.0000
+ -29.8131 1.0000
+ 0.4304 1.0000
+ 1.9114 1.0000
+ 4.1602 1.0000
+ 4.7577 1.0000
+ 6.6629 1.0000
+ 7.2826 1.0000
+ 8.6633 0.0000
+ 9.9472 0.0000
+ 11.6785 0.0000
+ 15.2726 0.0000
+ 16.0488 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7457 1.0000
+ -30.0646 1.0000
+ -30.0207 1.0000
+ -29.8127 1.0000
+ 0.8992 1.0000
+ 1.4048 1.0000
+ 4.3197 1.0000
+ 4.5902 1.0000
+ 6.6327 1.0000
+ 7.2942 1.0000
+ 8.6558 0.0000
+ 10.1424 0.0000
+ 11.4034 0.0000
+ 14.2472 0.0000
+ 41.7288 0.0000
+
+
+ -91.8814 1.0000
+ -91.4263 1.0000
+ -91.2913 1.0000
+ -65.7464 1.0000
+ -30.0388 1.0000
+ -30.0152 1.0000
+ -29.8160 1.0000
+ -0.7011 1.0000
+ 2.5446 1.0000
+ 4.6365 1.0000
+ 5.0441 1.0000
+ 6.4285 1.0000
+ 8.1110 0.0006
+ 8.4422 0.0000
+ 10.6018 0.0000
+ 11.5597 0.0000
+ 13.3506 0.0000
+ 15.1051 0.0000
+
+
+ -91.8812 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7464 1.0000
+ -30.0386 1.0000
+ -30.0173 1.0000
+ -29.8158 1.0000
+ -0.6526 1.0000
+ 2.5545 1.0000
+ 4.5567 1.0000
+ 5.0344 1.0000
+ 6.4474 1.0000
+ 8.1580 0.0000
+ 8.3450 0.0000
+ 10.4604 0.0000
+ 11.7435 0.0000
+ 13.3794 0.0000
+ 15.8365 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7462 1.0000
+ -30.0381 1.0000
+ -30.0233 1.0000
+ -29.8152 1.0000
+ -0.5089 1.0000
+ 2.5736 1.0000
+ 4.3507 1.0000
+ 5.0102 1.0000
+ 6.4989 1.0000
+ 7.9569 0.1473
+ 8.4473 0.0000
+ 10.1404 0.0000
+ 12.0883 0.0000
+ 13.4032 0.0000
+ 15.1473 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7461 1.0000
+ -30.0373 1.0000
+ -30.0321 1.0000
+ -29.8143 1.0000
+ -0.2806 1.0000
+ 2.5705 1.0000
+ 4.1067 1.0000
+ 4.9666 1.0000
+ 6.5721 1.0000
+ 7.6198 0.9999
+ 8.7017 0.0000
+ 9.7782 0.0000
+ 12.2391 0.0000
+ 13.5917 0.0000
+ 15.4441 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7459 1.0000
+ -30.0422 1.0000
+ -30.0363 1.0000
+ -29.8134 1.0000
+ 0.0188 1.0000
+ 2.4896 1.0000
+ 3.9304 1.0000
+ 4.8876 1.0000
+ 6.6514 1.0000
+ 7.3330 1.0000
+ 8.9105 0.0000
+ 9.5027 0.0000
+ 12.0077 0.0000
+ 14.3536 0.0000
+ 16.5093 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7457 1.0000
+ -30.0518 1.0000
+ -30.0354 1.0000
+ -29.8125 1.0000
+ 0.3709 1.0000
+ 2.2835 1.0000
+ 3.8916 1.0000
+ 4.7617 1.0000
+ 6.7183 1.0000
+ 7.1436 1.0000
+ 8.9049 0.0000
+ 9.4941 0.0000
+ 11.7396 0.0000
+ 15.6793 0.0000
+ 16.9345 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7455 1.0000
+ -30.0593 1.0000
+ -30.0348 1.0000
+ -29.8117 1.0000
+ 0.7545 1.0000
+ 1.9742 1.0000
+ 3.9744 1.0000
+ 4.5954 1.0000
+ 6.7577 1.0000
+ 7.0518 1.0000
+ 8.7886 0.0000
+ 9.6473 0.0000
+ 11.3101 0.0000
+ 14.0340 0.0000
+ 16.7643 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7454 1.0000
+ -30.0633 1.0000
+ -30.0343 1.0000
+ -29.8114 1.0000
+ 1.1319 1.0000
+ 1.6271 1.0000
+ 4.1052 1.0000
+ 4.4298 1.0000
+ 6.7711 1.0000
+ 7.0239 1.0000
+ 8.7206 0.0000
+ 9.7665 0.0000
+ 11.0890 0.0000
+ 13.9788 0.0000
+ 16.9520 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7462 1.0000
+ -30.0493 1.0000
+ -30.0141 1.0000
+ -29.8149 1.0000
+ -0.2288 1.0000
+ 1.8983 1.0000
+ 4.6283 1.0000
+ 4.8575 1.0000
+ 6.2772 1.0000
+ 8.4945 0.0000
+ 8.5804 0.0000
+ 10.9224 0.0000
+ 11.9786 0.0000
+ 12.7899 0.0000
+ 14.9087 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7461 1.0000
+ -30.0491 1.0000
+ -30.0162 1.0000
+ -29.8147 1.0000
+ -0.1792 1.0000
+ 1.9074 1.0000
+ 4.5762 1.0000
+ 4.8487 1.0000
+ 6.2969 1.0000
+ 8.3585 0.0000
+ 8.6284 0.0000
+ 10.7823 0.0000
+ 12.0806 0.0000
+ 12.8868 0.0000
+ 15.2348 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7460 1.0000
+ -30.0486 1.0000
+ -30.0222 1.0000
+ -29.8141 1.0000
+ -0.0352 1.0000
+ 1.9332 1.0000
+ 4.4339 1.0000
+ 4.8242 1.0000
+ 6.3536 1.0000
+ 8.0475 0.0099
+ 8.7378 0.0000
+ 10.4554 0.0000
+ 12.1158 0.0000
+ 13.2657 0.0000
+ 14.9000 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7458 1.0000
+ -30.0478 1.0000
+ -30.0311 1.0000
+ -29.8133 1.0000
+ 0.1893 1.0000
+ 1.9679 1.0000
+ 4.2451 1.0000
+ 4.7769 1.0000
+ 6.4400 1.0000
+ 7.6916 0.9966
+ 8.8745 0.0000
+ 10.0643 0.0000
+ 11.9241 0.0000
+ 13.8014 0.0000
+ 15.2989 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7456 1.0000
+ -30.0469 1.0000
+ -30.0412 1.0000
+ -29.8123 1.0000
+ 0.4706 1.0000
+ 1.9998 1.0000
+ 4.0636 1.0000
+ 4.6916 1.0000
+ 6.5446 1.0000
+ 7.3787 1.0000
+ 8.9926 0.0000
+ 9.6981 0.0000
+ 11.6104 0.0000
+ 14.1038 0.0000
+ 15.9363 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7454 1.0000
+ -30.0508 1.0000
+ -30.0460 1.0000
+ -29.8114 1.0000
+ 0.7753 1.0000
+ 2.0098 1.0000
+ 3.9391 1.0000
+ 4.5583 1.0000
+ 6.6530 1.0000
+ 7.1493 1.0000
+ 9.0079 0.0000
+ 9.4727 0.0000
+ 11.2802 0.0000
+ 14.0000 0.0000
+ 16.5368 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7452 1.0000
+ -30.0583 1.0000
+ -30.0454 1.0000
+ -29.8107 1.0000
+ 1.0560 1.0000
+ 1.9838 1.0000
+ 3.9064 1.0000
+ 4.3863 1.0000
+ 6.7511 1.0000
+ 7.0039 1.0000
+ 8.8800 0.0000
+ 9.4519 0.0000
+ 11.0055 0.0000
+ 13.8522 0.0000
+ 16.8940 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2896 1.0000
+ -65.7452 1.0000
+ -30.0624 1.0000
+ -30.0450 1.0000
+ -29.8103 1.0000
+ 1.2424 1.0000
+ 1.9383 1.0000
+ 3.9540 1.0000
+ 4.2239 1.0000
+ 6.8299 1.0000
+ 6.9158 1.0000
+ 8.7739 0.0000
+ 9.4832 0.0000
+ 10.8480 0.0000
+ 13.7576 0.0000
+ 16.7488 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7460 1.0000
+ -30.0550 1.0000
+ -30.0134 1.0000
+ -29.8143 1.0000
+ 0.2043 1.0000
+ 1.3732 1.0000
+ 4.6240 1.0000
+ 4.7616 1.0000
+ 6.1883 1.0000
+ 8.5233 0.0000
+ 8.9674 0.0000
+ 11.1121 0.0000
+ 12.0071 0.0000
+ 12.6025 0.0000
+ 14.7790 0.0000
+
+
+ -91.8807 1.0000
+ -91.4258 1.0000
+ -91.2907 1.0000
+ -65.7460 1.0000
+ -30.0547 1.0000
+ -30.0156 1.0000
+ -29.8141 1.0000
+ 0.2601 1.0000
+ 1.3783 1.0000
+ 4.6072 1.0000
+ 4.7289 1.0000
+ 6.2110 1.0000
+ 8.3945 0.0000
+ 8.9806 0.0000
+ 10.9757 0.0000
+ 11.9688 0.0000
+ 12.8374 0.0000
+ 14.6721 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7458 1.0000
+ -30.0543 1.0000
+ -30.0216 1.0000
+ -29.8135 1.0000
+ 0.4205 1.0000
+ 1.3934 1.0000
+ 4.5342 1.0000
+ 4.6626 1.0000
+ 6.2753 1.0000
+ 8.0869 0.0019
+ 9.0106 0.0000
+ 10.6601 0.0000
+ 11.8277 0.0000
+ 13.4681 0.0000
+ 14.6325 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7457 1.0000
+ -30.0535 1.0000
+ -30.0305 1.0000
+ -29.8127 1.0000
+ 0.6680 1.0000
+ 1.4216 1.0000
+ 4.3948 1.0000
+ 4.5926 1.0000
+ 6.3719 1.0000
+ 7.7299 0.9847
+ 9.0457 0.0000
+ 10.2612 0.0000
+ 11.5905 0.0000
+ 14.2426 0.0000
+ 14.7492 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7455 1.0000
+ -30.0527 1.0000
+ -30.0406 1.0000
+ -29.8117 1.0000
+ 0.9557 1.0000
+ 1.4873 1.0000
+ 4.2358 1.0000
+ 4.4908 1.0000
+ 6.4878 1.0000
+ 7.4124 1.0000
+ 9.0712 0.0000
+ 9.8506 0.0000
+ 11.3089 0.0000
+ 14.3846 0.0000
+ 15.5524 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7453 1.0000
+ -30.0518 1.0000
+ -30.0502 1.0000
+ -29.8108 1.0000
+ 1.1737 1.0000
+ 1.6621 1.0000
+ 4.0925 1.0000
+ 4.3402 1.0000
+ 6.6061 1.0000
+ 7.1785 1.0000
+ 9.0505 0.0000
+ 9.5155 0.0000
+ 11.0400 0.0000
+ 13.9482 0.0000
+ 16.5775 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7451 1.0000
+ -30.0577 1.0000
+ -30.0512 1.0000
+ -29.8101 1.0000
+ 1.2606 1.0000
+ 1.9475 1.0000
+ 3.9805 1.0000
+ 4.1622 1.0000
+ 6.7058 1.0000
+ 7.0369 1.0000
+ 8.9273 0.0000
+ 9.3617 0.0000
+ 10.8310 0.0000
+ 13.7460 0.0000
+ 17.0707 0.0000
+
+
+ -91.8798 1.0000
+ -91.4249 1.0000
+ -91.2898 1.0000
+ -65.7451 1.0000
+ -30.0619 1.0000
+ -30.0509 1.0000
+ -29.8097 1.0000
+ 1.2859 1.0000
+ 2.1702 1.0000
+ 3.8990 1.0000
+ 4.0390 1.0000
+ 6.7652 1.0000
+ 6.9729 1.0000
+ 8.8041 0.0000
+ 9.3315 0.0000
+ 10.7166 0.0000
+ 13.6320 0.0000
+ 16.7501 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7464 1.0000
+ -30.0175 1.0000
+ -29.9844 1.0000
+ -29.8488 1.0000
+ -1.7370 1.0000
+ 4.4422 1.0000
+ 4.8585 1.0000
+ 6.0714 1.0000
+ 6.4466 1.0000
+ 8.2302 0.0000
+ 8.3749 0.0000
+ 9.1175 0.0000
+ 9.2619 0.0000
+ 14.1349 0.0000
+ 15.4013 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7463 1.0000
+ -30.0195 1.0000
+ -29.9841 1.0000
+ -29.8486 1.0000
+ -1.6861 1.0000
+ 4.3659 1.0000
+ 4.8534 1.0000
+ 5.9862 1.0000
+ 6.3903 1.0000
+ 8.0854 0.0021
+ 8.4524 0.0000
+ 9.1354 0.0000
+ 9.5120 0.0000
+ 14.3643 0.0000
+ 15.3071 0.0000
+
+
+ -91.8803 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7463 1.0000
+ -30.0256 1.0000
+ -29.9835 1.0000
+ -29.8481 1.0000
+ -1.5384 1.0000
+ 4.0964 1.0000
+ 4.8387 1.0000
+ 5.8780 1.0000
+ 6.2244 1.0000
+ 7.8814 0.5077
+ 8.4118 0.0000
+ 9.4051 0.0000
+ 10.0237 0.0000
+ 14.7831 0.0000
+ 15.5390 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7461 1.0000
+ -30.0342 1.0000
+ -29.9826 1.0000
+ -29.8473 1.0000
+ -1.2961 1.0000
+ 3.6243 1.0000
+ 4.8224 1.0000
+ 5.8880 1.0000
+ 5.9794 1.0000
+ 7.7697 0.9451
+ 8.2240 0.0000
+ 9.9152 0.0000
+ 10.6017 0.0000
+ 14.8981 0.0000
+ 15.7528 0.0000
+
+
+ -91.8798 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7459 1.0000
+ -30.0442 1.0000
+ -29.9816 1.0000
+ -29.8464 1.0000
+ -0.9701 1.0000
+ 3.0306 1.0000
+ 4.8098 1.0000
+ 5.7145 1.0000
+ 5.9645 1.0000
+ 7.7405 0.9779
+ 8.1068 0.0008
+ 10.4758 0.0000
+ 11.1795 0.0000
+ 14.4320 0.0000
+ 15.4052 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7457 1.0000
+ -30.0538 1.0000
+ -29.9807 1.0000
+ -29.8456 1.0000
+ -0.5710 1.0000
+ 2.3983 1.0000
+ 4.8012 1.0000
+ 5.4818 1.0000
+ 6.0144 1.0000
+ 7.7545 0.9652
+ 8.1644 0.0000
+ 11.0095 0.0000
+ 11.7243 0.0000
+ 13.7286 0.0000
+ 15.7410 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7456 1.0000
+ -30.0614 1.0000
+ -29.9799 1.0000
+ -29.8449 1.0000
+ -0.1177 1.0000
+ 1.7781 1.0000
+ 4.7964 1.0000
+ 5.3133 1.0000
+ 6.0112 1.0000
+ 7.7807 0.9256
+ 8.3693 0.0000
+ 11.4739 0.0000
+ 12.2127 0.0000
+ 12.9109 0.0000
+ 14.6649 0.0000
+
+
+ -91.8817 1.0000
+ -91.4266 1.0000
+ -91.2916 1.0000
+ -65.7457 1.0000
+ -30.0656 1.0000
+ -29.9796 1.0000
+ -29.8446 1.0000
+ 0.3197 1.0000
+ 1.2526 1.0000
+ 4.7946 1.0000
+ 5.2255 1.0000
+ 5.9923 1.0000
+ 7.7988 0.8824
+ 8.5626 0.0000
+ 11.8394 0.0000
+ 12.3313 0.0000
+ 12.5446 0.0000
+ 14.3190 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7463 1.0000
+ -30.0172 1.0000
+ -29.9873 1.0000
+ -29.8485 1.0000
+ -1.6849 1.0000
+ 4.4076 1.0000
+ 4.8483 1.0000
+ 6.0207 1.0000
+ 6.2826 1.0000
+ 8.0528 0.0081
+ 8.5353 0.0000
+ 9.2108 0.0000
+ 9.3896 0.0000
+ 14.3918 0.0000
+ 15.3197 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2896 1.0000
+ -65.7463 1.0000
+ -30.0193 1.0000
+ -29.9870 1.0000
+ -29.8483 1.0000
+ -1.6339 1.0000
+ 4.3516 1.0000
+ 4.8346 1.0000
+ 5.7996 1.0000
+ 6.4178 1.0000
+ 7.7836 0.9196
+ 8.8250 0.0000
+ 9.1722 0.0000
+ 9.5353 0.0000
+ 14.5019 0.0000
+ 15.3716 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7462 1.0000
+ -30.0253 1.0000
+ -29.9865 1.0000
+ -29.8478 1.0000
+ -1.4861 1.0000
+ 4.1162 1.0000
+ 4.7981 1.0000
+ 5.5891 1.0000
+ 6.4356 1.0000
+ 7.5244 1.0000
+ 8.7710 0.0000
+ 9.5148 0.0000
+ 9.9362 0.0000
+ 15.1352 0.0000
+ 15.4072 0.0000
+
+
+ -91.8803 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7460 1.0000
+ -30.0340 1.0000
+ -29.9857 1.0000
+ -29.8470 1.0000
+ -1.2446 1.0000
+ 3.6518 1.0000
+ 4.7706 1.0000
+ 5.5402 1.0000
+ 6.2682 1.0000
+ 7.4667 1.0000
+ 8.5007 0.0000
+ 10.0751 0.0000
+ 10.4593 0.0000
+ 14.9293 0.0000
+ 15.7909 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7458 1.0000
+ -30.0439 1.0000
+ -29.9846 1.0000
+ -29.8461 1.0000
+ -0.9180 1.0000
+ 3.0555 1.0000
+ 4.7621 1.0000
+ 5.5144 1.0000
+ 6.0975 1.0000
+ 7.5228 1.0000
+ 8.3066 0.0000
+ 10.6374 0.0000
+ 11.0036 0.0000
+ 14.3882 0.0000
+ 15.7788 0.0000
+
+
+ -91.8803 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7457 1.0000
+ -30.0536 1.0000
+ -29.9837 1.0000
+ -29.8453 1.0000
+ -0.5188 1.0000
+ 2.4214 1.0000
+ 4.7659 1.0000
+ 5.3939 1.0000
+ 6.0417 1.0000
+ 7.5977 1.0000
+ 8.2829 0.0000
+ 11.1508 0.0000
+ 11.5105 0.0000
+ 13.7183 0.0000
+ 14.9755 0.0000
+
+
+ -91.8811 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7456 1.0000
+ -30.0611 1.0000
+ -29.9830 1.0000
+ -29.8447 1.0000
+ -0.0651 1.0000
+ 1.8001 1.0000
+ 4.7789 1.0000
+ 5.2458 1.0000
+ 6.0321 1.0000
+ 7.6461 0.9996
+ 8.4238 0.0000
+ 11.5584 0.0000
+ 11.9266 0.0000
+ 13.0831 0.0000
+ 15.6069 0.0000
+
+
+ -91.8817 1.0000
+ -91.4266 1.0000
+ -91.2916 1.0000
+ -65.7456 1.0000
+ -30.0653 1.0000
+ -29.9826 1.0000
+ -29.8443 1.0000
+ 0.3795 1.0000
+ 1.2691 1.0000
+ 4.7936 1.0000
+ 5.1515 1.0000
+ 6.0240 1.0000
+ 7.6686 0.9988
+ 8.5805 0.0000
+ 11.7779 0.0000
+ 12.1352 0.0000
+ 12.7618 0.0000
+ 14.3597 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2897 1.0000
+ -65.7461 1.0000
+ -30.0163 1.0000
+ -29.9957 1.0000
+ -29.8477 1.0000
+ -1.5268 1.0000
+ 4.2431 1.0000
+ 4.8102 1.0000
+ 5.8696 1.0000
+ 6.0346 1.0000
+ 7.8110 0.8450
+ 8.5785 0.0000
+ 9.3930 0.0000
+ 9.9093 0.0000
+ 14.8181 0.0000
+ 15.3992 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7461 1.0000
+ -30.0184 1.0000
+ -29.9955 1.0000
+ -29.8475 1.0000
+ -1.4775 1.0000
+ 4.2438 1.0000
+ 4.7542 1.0000
+ 5.5293 1.0000
+ 6.3522 1.0000
+ 7.5150 1.0000
+ 8.8801 0.0000
+ 9.4592 0.0000
+ 9.8752 0.0000
+ 15.2792 0.0000
+ 15.6628 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7460 1.0000
+ -30.0244 1.0000
+ -29.9950 1.0000
+ -29.8470 1.0000
+ -1.3299 1.0000
+ 4.1576 1.0000
+ 4.5679 1.0000
+ 5.2979 1.0000
+ 6.6150 1.0000
+ 7.0904 1.0000
+ 9.1579 0.0000
+ 9.5750 0.0000
+ 10.0825 0.0000
+ 15.1794 0.0000
+ 15.4777 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7459 1.0000
+ -30.0332 1.0000
+ -29.9941 1.0000
+ -29.8463 1.0000
+ -1.0889 1.0000
+ 3.7247 1.0000
+ 4.5126 1.0000
+ 5.2739 1.0000
+ 6.5053 1.0000
+ 7.0116 1.0000
+ 8.9177 0.0000
+ 10.0553 0.0000
+ 10.5390 0.0000
+ 14.9488 0.0000
+ 15.7735 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7457 1.0000
+ -30.0432 1.0000
+ -29.9932 1.0000
+ -29.8454 1.0000
+ -0.7637 1.0000
+ 3.1184 1.0000
+ 4.5570 1.0000
+ 5.2947 1.0000
+ 6.2309 1.0000
+ 7.1569 1.0000
+ 8.6614 0.0000
+ 10.5778 0.0000
+ 11.0215 0.0000
+ 14.3672 0.0000
+ 16.4135 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7455 1.0000
+ -30.0528 1.0000
+ -29.9922 1.0000
+ -29.8445 1.0000
+ -0.3665 1.0000
+ 2.4849 1.0000
+ 4.6192 1.0000
+ 5.2403 1.0000
+ 6.0991 1.0000
+ 7.2727 1.0000
+ 8.5350 0.0000
+ 11.0432 0.0000
+ 11.4229 0.0000
+ 13.8722 0.0000
+ 15.2253 0.0000
+
+
+ -91.8809 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7454 1.0000
+ -30.0603 1.0000
+ -29.9915 1.0000
+ -29.8439 1.0000
+ 0.0883 1.0000
+ 1.8666 1.0000
+ 4.6927 1.0000
+ 5.1041 1.0000
+ 6.0902 1.0000
+ 7.3348 1.0000
+ 8.5545 0.0000
+ 11.3690 0.0000
+ 11.6761 0.0000
+ 13.4279 0.0000
+ 14.9423 0.0000
+
+
+ -91.8813 1.0000
+ -91.4263 1.0000
+ -91.2913 1.0000
+ -65.7454 1.0000
+ -30.0645 1.0000
+ -29.9911 1.0000
+ -29.8436 1.0000
+ 0.5523 1.0000
+ 1.3197 1.0000
+ 4.7737 1.0000
+ 4.9700 1.0000
+ 6.1067 1.0000
+ 7.3584 1.0000
+ 8.6259 0.0000
+ 11.4672 0.0000
+ 11.8083 0.0000
+ 13.3060 0.0000
+ 14.7773 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7459 1.0000
+ -30.0150 1.0000
+ -30.0082 1.0000
+ -29.8466 1.0000
+ -1.2712 1.0000
+ 3.8438 1.0000
+ 4.7684 1.0000
+ 5.6401 1.0000
+ 5.9574 1.0000
+ 7.6738 0.9984
+ 8.3685 0.0000
+ 9.9037 0.0000
+ 10.4726 0.0000
+ 15.0041 0.0000
+ 15.6011 0.0000
+
+
+ -91.8803 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7459 1.0000
+ -30.0172 1.0000
+ -30.0079 1.0000
+ -29.8464 1.0000
+ -1.2218 1.0000
+ 3.8708 1.0000
+ 4.6756 1.0000
+ 5.4045 1.0000
+ 6.1889 1.0000
+ 7.4347 1.0000
+ 8.5911 0.0000
+ 10.0325 0.0000
+ 10.3726 0.0000
+ 14.9251 0.0000
+ 15.8940 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7457 1.0000
+ -30.0231 1.0000
+ -30.0074 1.0000
+ -29.8459 1.0000
+ -1.0751 1.0000
+ 3.9445 1.0000
+ 4.3254 1.0000
+ 5.2342 1.0000
+ 6.4457 1.0000
+ 7.0265 1.0000
+ 8.9822 0.0000
+ 9.9608 0.0000
+ 10.5366 0.0000
+ 15.3724 0.0000
+ 16.2209 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7456 1.0000
+ -30.0320 1.0000
+ -30.0066 1.0000
+ -29.8451 1.0000
+ -0.8371 1.0000
+ 3.7696 1.0000
+ 4.0713 1.0000
+ 5.2102 1.0000
+ 6.5202 1.0000
+ 6.7576 1.0000
+ 9.2256 0.0000
+ 9.8208 0.0000
+ 10.9794 0.0000
+ 14.6872 0.0000
+ 16.0115 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7454 1.0000
+ -30.0420 1.0000
+ -30.0056 1.0000
+ -29.8442 1.0000
+ -0.5159 1.0000
+ 3.1732 1.0000
+ 4.2009 1.0000
+ 5.2095 1.0000
+ 6.2786 1.0000
+ 6.8561 1.0000
+ 9.0363 0.0000
+ 10.1403 0.0000
+ 11.3532 0.0000
+ 14.1947 0.0000
+ 15.7790 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2902 1.0000
+ -65.7452 1.0000
+ -30.0516 1.0000
+ -30.0047 1.0000
+ -29.8434 1.0000
+ -0.1232 1.0000
+ 2.5651 1.0000
+ 4.3406 1.0000
+ 5.1419 1.0000
+ 6.1556 1.0000
+ 6.9535 1.0000
+ 8.8219 0.0000
+ 10.5329 0.0000
+ 11.5193 0.0000
+ 13.9904 0.0000
+ 15.7124 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7451 1.0000
+ -30.0592 1.0000
+ -30.0040 1.0000
+ -29.8427 1.0000
+ 0.3259 1.0000
+ 1.9702 1.0000
+ 4.4841 1.0000
+ 4.9917 1.0000
+ 6.1733 1.0000
+ 7.0010 1.0000
+ 8.7133 0.0000
+ 10.8431 0.0000
+ 11.4585 0.0000
+ 13.9770 0.0000
+ 15.7545 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7450 1.0000
+ -30.0633 1.0000
+ -30.0036 1.0000
+ -29.8424 1.0000
+ 0.8108 1.0000
+ 1.4140 1.0000
+ 4.6313 1.0000
+ 4.8202 1.0000
+ 6.2227 1.0000
+ 7.0116 1.0000
+ 8.6872 0.0000
+ 11.0198 0.0000
+ 11.3364 0.0000
+ 14.1763 0.0000
+ 15.9685 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7456 1.0000
+ -30.0224 1.0000
+ -30.0136 1.0000
+ -29.8453 1.0000
+ -0.9268 1.0000
+ 3.2623 1.0000
+ 4.7464 1.0000
+ 5.3834 1.0000
+ 5.9960 1.0000
+ 7.6341 0.9998
+ 8.2611 0.0000
+ 10.4569 0.0000
+ 11.0184 0.0000
+ 14.2330 0.0000
+ 15.5535 0.0000
+
+
+ -91.8807 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7456 1.0000
+ -30.0222 1.0000
+ -30.0157 1.0000
+ -29.8451 1.0000
+ -0.8773 1.0000
+ 3.2832 1.0000
+ 4.6571 1.0000
+ 5.2991 1.0000
+ 6.0714 1.0000
+ 7.4689 1.0000
+ 8.4217 0.0000
+ 10.5908 0.0000
+ 10.8787 0.0000
+ 14.2953 0.0000
+ 16.5961 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7455 1.0000
+ -30.0218 1.0000
+ -30.0216 1.0000
+ -29.8446 1.0000
+ -0.7317 1.0000
+ 3.3310 1.0000
+ 4.3786 1.0000
+ 5.2110 1.0000
+ 6.1851 1.0000
+ 7.1526 1.0000
+ 8.7615 0.0000
+ 10.4513 0.0000
+ 10.9940 0.0000
+ 14.2699 0.0000
+ 15.4567 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7453 1.0000
+ -30.0306 1.0000
+ -30.0209 1.0000
+ -29.8438 1.0000
+ -0.4981 1.0000
+ 3.3273 1.0000
+ 4.0470 1.0000
+ 5.1832 1.0000
+ 6.2401 1.0000
+ 6.8777 1.0000
+ 9.1353 0.0000
+ 10.0431 0.0000
+ 11.3235 0.0000
+ 14.1794 0.0000
+ 15.5671 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7451 1.0000
+ -30.0407 1.0000
+ -30.0200 1.0000
+ -29.8429 1.0000
+ -0.1859 1.0000
+ 3.0693 1.0000
+ 3.9456 1.0000
+ 5.1491 1.0000
+ 6.2051 1.0000
+ 6.7650 1.0000
+ 9.2971 0.0000
+ 9.8622 0.0000
+ 11.4431 0.0000
+ 14.0899 0.0000
+ 16.4426 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7449 1.0000
+ -30.0503 1.0000
+ -30.0191 1.0000
+ -29.8421 1.0000
+ 0.1920 1.0000
+ 2.6071 1.0000
+ 4.0528 1.0000
+ 5.0472 1.0000
+ 6.1874 1.0000
+ 6.7639 1.0000
+ 9.0797 0.0000
+ 10.0903 0.0000
+ 11.2974 0.0000
+ 14.2166 0.0000
+ 15.6033 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7448 1.0000
+ -30.0579 1.0000
+ -30.0184 1.0000
+ -29.8414 1.0000
+ 0.6211 1.0000
+ 2.0968 1.0000
+ 4.2164 1.0000
+ 4.8791 1.0000
+ 6.2614 1.0000
+ 6.7657 1.0000
+ 8.8662 0.0000
+ 10.3491 0.0000
+ 11.0306 0.0000
+ 14.4108 0.0000
+ 15.3788 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7447 1.0000
+ -30.0620 1.0000
+ -30.0180 1.0000
+ -29.8411 1.0000
+ 1.0880 1.0000
+ 1.5873 1.0000
+ 4.3747 1.0000
+ 4.7100 1.0000
+ 6.3575 1.0000
+ 6.7421 1.0000
+ 8.7550 0.0000
+ 10.5500 0.0000
+ 10.7906 0.0000
+ 14.5624 0.0000
+ 15.1655 0.0000
+
+
+ -91.8811 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7454 1.0000
+ -30.0360 1.0000
+ -30.0122 1.0000
+ -29.8440 1.0000
+ -0.5057 1.0000
+ 2.6136 1.0000
+ 4.7370 1.0000
+ 5.1523 1.0000
+ 6.0130 1.0000
+ 7.6494 0.9995
+ 8.3935 0.0000
+ 10.9701 0.0000
+ 11.5187 0.0000
+ 13.5916 0.0000
+ 15.0632 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7453 1.0000
+ -30.0358 1.0000
+ -30.0143 1.0000
+ -29.8438 1.0000
+ -0.4569 1.0000
+ 2.6313 1.0000
+ 4.6641 1.0000
+ 5.1321 1.0000
+ 6.0295 1.0000
+ 7.5280 1.0000
+ 8.4922 0.0000
+ 11.0888 0.0000
+ 11.3355 0.0000
+ 13.6775 0.0000
+ 15.0131 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2907 1.0000
+ -65.7452 1.0000
+ -30.0353 1.0000
+ -30.0204 1.0000
+ -29.8433 1.0000
+ -0.3133 1.0000
+ 2.6752 1.0000
+ 4.4540 1.0000
+ 5.1041 1.0000
+ 6.0697 1.0000
+ 7.2554 1.0000
+ 8.7315 0.0000
+ 10.8888 0.0000
+ 11.3448 0.0000
+ 13.6890 0.0000
+ 15.8847 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7450 1.0000
+ -30.0345 1.0000
+ -30.0292 1.0000
+ -29.8426 1.0000
+ -0.0859 1.0000
+ 2.7166 1.0000
+ 4.1804 1.0000
+ 5.0770 1.0000
+ 6.1163 1.0000
+ 6.9765 1.0000
+ 9.0212 0.0000
+ 10.3917 0.0000
+ 11.4336 0.0000
+ 13.9055 0.0000
+ 15.2813 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7448 1.0000
+ -30.0394 1.0000
+ -30.0336 1.0000
+ -29.8417 1.0000
+ 0.2123 1.0000
+ 2.6878 1.0000
+ 3.9634 1.0000
+ 5.0147 1.0000
+ 6.1592 1.0000
+ 6.7920 1.0000
+ 9.2662 0.0000
+ 9.9512 0.0000
+ 11.2415 0.0000
+ 14.1593 0.0000
+ 15.4866 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7446 1.0000
+ -30.0491 1.0000
+ -30.0327 1.0000
+ -29.8408 1.0000
+ 0.5609 1.0000
+ 2.5137 1.0000
+ 3.9070 1.0000
+ 4.8851 1.0000
+ 6.2238 1.0000
+ 6.7173 1.0000
+ 9.2451 0.0000
+ 9.8021 0.0000
+ 10.8954 0.0000
+ 14.4228 0.0000
+ 16.8868 0.0000
+
+
+ -91.8798 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7444 1.0000
+ -30.0566 1.0000
+ -30.0320 1.0000
+ -29.8402 1.0000
+ 0.9361 1.0000
+ 2.2131 1.0000
+ 3.9968 1.0000
+ 4.7012 1.0000
+ 6.3401 1.0000
+ 6.6831 1.0000
+ 8.9915 0.0000
+ 9.9352 0.0000
+ 10.5511 0.0000
+ 14.6648 0.0000
+ 16.6490 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7444 1.0000
+ -30.0607 1.0000
+ -30.0317 1.0000
+ -29.8398 1.0000
+ 1.2854 1.0000
+ 1.8883 1.0000
+ 4.1342 1.0000
+ 4.5244 1.0000
+ 6.4820 1.0000
+ 6.6213 1.0000
+ 8.8197 0.0000
+ 10.0947 0.0000
+ 10.2879 0.0000
+ 14.4258 0.0000
+ 16.1813 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7451 1.0000
+ -30.0466 1.0000
+ -30.0111 1.0000
+ -29.8430 1.0000
+ -0.0307 1.0000
+ 1.9718 1.0000
+ 4.7340 1.0000
+ 4.9824 1.0000
+ 5.9781 1.0000
+ 7.6817 0.9978
+ 8.7276 0.0000
+ 11.3873 0.0000
+ 11.9478 0.0000
+ 12.7854 0.0000
+ 23.9436 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7451 1.0000
+ -30.0464 1.0000
+ -30.0132 1.0000
+ -29.8428 1.0000
+ 0.0185 1.0000
+ 1.9888 1.0000
+ 4.6859 1.0000
+ 4.9653 1.0000
+ 5.9970 1.0000
+ 7.5729 1.0000
+ 8.7751 0.0000
+ 11.4491 0.0000
+ 11.7029 0.0000
+ 13.0190 0.0000
+ 14.7782 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7450 1.0000
+ -30.0459 1.0000
+ -30.0193 1.0000
+ -29.8423 1.0000
+ 0.1624 1.0000
+ 2.0359 1.0000
+ 4.5378 1.0000
+ 4.9360 1.0000
+ 6.0484 1.0000
+ 7.3135 1.0000
+ 8.8969 0.0000
+ 11.2099 0.0000
+ 11.4930 0.0000
+ 13.3525 0.0000
+ 14.7482 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7448 1.0000
+ -30.0451 1.0000
+ -30.0282 1.0000
+ -29.8416 1.0000
+ 0.3853 1.0000
+ 2.1069 1.0000
+ 4.3253 1.0000
+ 4.8953 1.0000
+ 6.1228 1.0000
+ 7.0290 1.0000
+ 9.0504 0.0000
+ 10.6735 0.0000
+ 11.2840 0.0000
+ 13.8208 0.0000
+ 15.4677 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7446 1.0000
+ -30.0442 1.0000
+ -30.0384 1.0000
+ -29.8407 1.0000
+ 0.6619 1.0000
+ 2.1867 1.0000
+ 4.1117 1.0000
+ 4.8111 1.0000
+ 6.2095 1.0000
+ 6.8181 1.0000
+ 9.1919 0.0000
+ 10.1602 0.0000
+ 10.8993 0.0000
+ 15.1026 0.0000
+ 15.8962 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7444 1.0000
+ -30.0481 1.0000
+ -30.0434 1.0000
+ -29.8399 1.0000
+ 0.9577 1.0000
+ 2.2499 1.0000
+ 3.9565 1.0000
+ 4.6608 1.0000
+ 6.3079 1.0000
+ 6.7191 1.0000
+ 9.2475 0.0000
+ 9.7542 0.0000
+ 10.4853 0.0000
+ 14.4236 0.0000
+ 15.9769 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2900 1.0000
+ -65.7442 1.0000
+ -30.0556 1.0000
+ -30.0428 1.0000
+ -29.8392 1.0000
+ 1.2239 1.0000
+ 2.2689 1.0000
+ 3.9080 1.0000
+ 4.4598 1.0000
+ 6.4254 1.0000
+ 6.6915 1.0000
+ 9.0705 0.0000
+ 9.6405 0.0000
+ 10.1444 0.0000
+ 14.3430 0.0000
+ 17.2812 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7442 1.0000
+ -30.0598 1.0000
+ -30.0424 1.0000
+ -29.8388 1.0000
+ 1.3946 1.0000
+ 2.2508 1.0000
+ 3.9615 1.0000
+ 4.2707 1.0000
+ 6.5390 1.0000
+ 6.6669 1.0000
+ 8.8711 0.0000
+ 9.6833 0.0000
+ 9.9342 0.0000
+ 14.2821 0.0000
+ 16.8667 0.0000
+
+
+ -91.8809 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7450 1.0000
+ -30.0524 1.0000
+ -30.0105 1.0000
+ -29.8425 1.0000
+ 0.4229 1.0000
+ 1.4332 1.0000
+ 4.7335 1.0000
+ 4.8932 1.0000
+ 5.9406 1.0000
+ 7.7046 0.9941
+ 9.0485 0.0000
+ 11.6113 0.0000
+ 12.2365 0.0000
+ 12.4166 0.0000
+ 14.4069 0.0000
+
+
+ -91.8809 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7450 1.0000
+ -30.0522 1.0000
+ -30.0126 1.0000
+ -29.8423 1.0000
+ 0.4791 1.0000
+ 1.4433 1.0000
+ 4.7207 1.0000
+ 4.8490 1.0000
+ 5.9697 1.0000
+ 7.5985 1.0000
+ 9.0623 0.0000
+ 11.5449 0.0000
+ 11.9351 0.0000
+ 12.6346 0.0000
+ 14.4028 0.0000
+
+
+ -91.8811 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7449 1.0000
+ -30.0517 1.0000
+ -30.0187 1.0000
+ -29.8418 1.0000
+ 0.6406 1.0000
+ 1.4754 1.0000
+ 4.6393 1.0000
+ 4.7744 1.0000
+ 6.0463 1.0000
+ 7.3409 1.0000
+ 9.0974 0.0000
+ 11.2685 0.0000
+ 11.5426 0.0000
+ 13.2087 0.0000
+ 14.4572 0.0000
+
+
+ -91.8808 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7447 1.0000
+ -30.0509 1.0000
+ -30.0276 1.0000
+ -29.8411 1.0000
+ 0.8849 1.0000
+ 1.5379 1.0000
+ 4.4679 1.0000
+ 4.7154 1.0000
+ 6.1524 1.0000
+ 7.0495 1.0000
+ 9.1423 0.0000
+ 10.8507 0.0000
+ 11.0603 0.0000
+ 14.0298 0.0000
+ 14.7766 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7445 1.0000
+ -30.0501 1.0000
+ -30.0378 1.0000
+ -29.8402 1.0000
+ 1.1502 1.0000
+ 1.6634 1.0000
+ 4.2778 1.0000
+ 4.6118 1.0000
+ 6.2733 1.0000
+ 6.8222 1.0000
+ 9.1840 0.0000
+ 10.3474 0.0000
+ 10.5871 0.0000
+ 14.4557 0.0000
+ 15.2545 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7443 1.0000
+ -30.0493 1.0000
+ -30.0475 1.0000
+ -29.8393 1.0000
+ 1.3315 1.0000
+ 1.9197 1.0000
+ 4.1103 1.0000
+ 4.4350 1.0000
+ 6.3954 1.0000
+ 6.7111 1.0000
+ 9.1975 0.0000
+ 9.8332 0.0000
+ 10.1952 0.0000
+ 14.3744 0.0000
+ 15.8908 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7441 1.0000
+ -30.0551 1.0000
+ -30.0487 1.0000
+ -29.8387 1.0000
+ 1.4141 1.0000
+ 2.2587 1.0000
+ 3.9834 1.0000
+ 4.2083 1.0000
+ 6.5037 1.0000
+ 6.7025 1.0000
+ 9.0928 0.0000
+ 9.5006 0.0000
+ 9.9082 0.0000
+ 14.2642 0.0000
+ 16.9205 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7441 1.0000
+ -30.0593 1.0000
+ -30.0483 1.0000
+ -29.8383 1.0000
+ 1.4457 1.0000
+ 2.5199 1.0000
+ 3.9004 1.0000
+ 4.0331 1.0000
+ 6.5737 1.0000
+ 6.7304 1.0000
+ 8.8995 0.0000
+ 9.4301 0.0000
+ 9.7525 0.0000
+ 14.2685 0.0000
+ 34.2814 0.0000
+
+
+ -91.8795 1.0000
+ -91.4244 1.0000
+ -91.2894 1.0000
+ -65.7449 1.0000
+ -30.0129 1.0000
+ -29.9797 1.0000
+ -29.8895 1.0000
+ -1.4187 1.0000
+ 4.4601 1.0000
+ 4.6731 1.0000
+ 5.6743 1.0000
+ 5.9932 1.0000
+ 8.1576 0.0001
+ 8.3102 0.0000
+ 9.3878 0.0000
+ 9.5739 0.0000
+ 14.6169 0.0000
+ 15.2950 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2900 1.0000
+ -65.7449 1.0000
+ -30.0151 1.0000
+ -29.9795 1.0000
+ -29.8894 1.0000
+ -1.3679 1.0000
+ 4.3898 1.0000
+ 4.6848 1.0000
+ 5.5775 1.0000
+ 5.9882 1.0000
+ 8.0710 0.0039
+ 8.3358 0.0000
+ 9.2963 0.0000
+ 9.8808 0.0000
+ 14.7640 0.0000
+ 15.2851 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7447 1.0000
+ -30.0211 1.0000
+ -29.9789 1.0000
+ -29.8889 1.0000
+ -1.2205 1.0000
+ 4.1260 1.0000
+ 4.7341 1.0000
+ 5.4333 1.0000
+ 5.9646 1.0000
+ 7.6673 0.9988
+ 8.7032 0.0000
+ 9.1336 0.0000
+ 10.4886 0.0000
+ 14.8840 0.0000
+ 16.1247 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2897 1.0000
+ -65.7446 1.0000
+ -30.0299 1.0000
+ -29.9782 1.0000
+ -29.8882 1.0000
+ -0.9808 1.0000
+ 3.6652 1.0000
+ 4.7987 1.0000
+ 5.3993 1.0000
+ 5.9001 1.0000
+ 7.3364 1.0000
+ 8.6839 0.0000
+ 9.4310 0.0000
+ 11.1616 0.0000
+ 14.7250 0.0000
+ 16.1963 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2899 1.0000
+ -65.7444 1.0000
+ -30.0400 1.0000
+ -29.9771 1.0000
+ -29.8874 1.0000
+ -0.6587 1.0000
+ 3.0989 1.0000
+ 4.8498 1.0000
+ 5.4590 1.0000
+ 5.7806 1.0000
+ 7.1397 1.0000
+ 8.5209 0.0000
+ 9.9588 0.0000
+ 11.8236 0.0000
+ 14.2014 0.0000
+ 16.2147 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7442 1.0000
+ -30.0497 1.0000
+ -29.9762 1.0000
+ -29.8866 1.0000
+ -0.2656 1.0000
+ 2.4987 1.0000
+ 4.8835 1.0000
+ 5.5379 1.0000
+ 5.6319 1.0000
+ 7.0597 1.0000
+ 8.4828 0.0000
+ 10.4687 0.0000
+ 12.4416 0.0000
+ 13.3290 0.0000
+ 15.1337 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7441 1.0000
+ -30.0573 1.0000
+ -29.9754 1.0000
+ -29.8860 1.0000
+ 0.1849 1.0000
+ 1.9035 1.0000
+ 4.9056 1.0000
+ 5.5030 1.0000
+ 5.5861 1.0000
+ 7.0432 1.0000
+ 8.5758 0.0000
+ 10.9253 0.0000
+ 12.5527 0.0000
+ 13.0088 0.0000
+ 14.8073 0.0000
+
+
+ -91.8812 1.0000
+ -91.4261 1.0000
+ -91.2912 1.0000
+ -65.7441 1.0000
+ -30.0615 1.0000
+ -29.9750 1.0000
+ -29.8857 1.0000
+ 0.6491 1.0000
+ 1.3651 1.0000
+ 4.9176 1.0000
+ 5.4303 1.0000
+ 5.6017 1.0000
+ 7.0458 1.0000
+ 8.6931 0.0000
+ 11.3271 0.0000
+ 11.9366 0.0000
+ 13.5779 0.0000
+ 14.3517 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7449 1.0000
+ -30.0127 1.0000
+ -29.9828 1.0000
+ -29.8893 1.0000
+ -1.3666 1.0000
+ 4.4223 1.0000
+ 4.6934 1.0000
+ 5.6697 1.0000
+ 5.8285 1.0000
+ 8.0271 0.0206
+ 8.3692 0.0000
+ 9.4509 0.0000
+ 9.7370 0.0000
+ 14.9651 0.0000
+ 15.3421 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2901 1.0000
+ -65.7448 1.0000
+ -30.0148 1.0000
+ -29.9826 1.0000
+ -29.8892 1.0000
+ -1.3163 1.0000
+ 4.3772 1.0000
+ 4.7020 1.0000
+ 5.4537 1.0000
+ 5.9491 1.0000
+ 7.7861 0.9142
+ 8.5756 0.0000
+ 9.5058 0.0000
+ 9.8346 0.0000
+ 15.0595 0.0000
+ 16.2568 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2896 1.0000
+ -65.7447 1.0000
+ -30.0208 1.0000
+ -29.9819 1.0000
+ -29.8886 1.0000
+ -1.1678 1.0000
+ 4.1541 1.0000
+ 4.7483 1.0000
+ 5.2311 1.0000
+ 6.0125 1.0000
+ 7.4085 1.0000
+ 8.9608 0.0000
+ 9.3188 0.0000
+ 10.3531 0.0000
+ 15.1264 0.0000
+ 15.6355 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7445 1.0000
+ -30.0296 1.0000
+ -29.9811 1.0000
+ -29.8879 1.0000
+ -0.9290 1.0000
+ 3.7034 1.0000
+ 4.8102 1.0000
+ 5.1970 1.0000
+ 5.9664 1.0000
+ 7.1173 1.0000
+ 8.9157 0.0000
+ 9.5830 0.0000
+ 14.0696 0.0000
+ 15.5381 0.0000
+ 16.0450 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7443 1.0000
+ -30.0398 1.0000
+ -29.9802 1.0000
+ -29.8871 1.0000
+ -0.6068 1.0000
+ 3.1346 1.0000
+ 4.8473 1.0000
+ 5.3098 1.0000
+ 5.8138 1.0000
+ 6.9753 1.0000
+ 8.6937 0.0000
+ 10.0930 0.0000
+ 11.5987 0.0000
+ 14.2851 0.0000
+ 15.4916 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7442 1.0000
+ -30.0495 1.0000
+ -29.9792 1.0000
+ -29.8864 1.0000
+ -0.2132 1.0000
+ 2.5322 1.0000
+ 4.8734 1.0000
+ 5.4530 1.0000
+ 5.6251 1.0000
+ 6.9349 1.0000
+ 8.5950 0.0000
+ 10.5671 0.0000
+ 12.1071 0.0000
+ 13.6101 0.0000
+ 15.2056 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7441 1.0000
+ -30.0571 1.0000
+ -29.9785 1.0000
+ -29.8858 1.0000
+ 0.2373 1.0000
+ 1.9361 1.0000
+ 4.9016 1.0000
+ 5.4135 1.0000
+ 5.6118 1.0000
+ 6.9300 1.0000
+ 8.6308 0.0000
+ 10.9545 0.0000
+ 12.2321 0.0000
+ 13.3411 0.0000
+ 14.6028 0.0000
+
+
+ -91.8813 1.0000
+ -91.4262 1.0000
+ -91.2912 1.0000
+ -65.7440 1.0000
+ -30.0612 1.0000
+ -29.9781 1.0000
+ -29.8855 1.0000
+ 0.7080 1.0000
+ 1.3914 1.0000
+ 4.9262 1.0000
+ 5.3148 1.0000
+ 5.6677 1.0000
+ 6.9317 1.0000
+ 8.7105 0.0000
+ 11.2069 0.0000
+ 11.9941 0.0000
+ 13.6247 0.0000
+ 14.2566 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7447 1.0000
+ -30.0118 1.0000
+ -29.9913 1.0000
+ -29.8886 1.0000
+ -1.2087 1.0000
+ 4.2480 1.0000
+ 4.7537 1.0000
+ 5.5479 1.0000
+ 5.6464 1.0000
+ 7.5854 1.0000
+ 8.8369 0.0000
+ 9.1686 0.0000
+ 10.3783 0.0000
+ 15.1703 0.0000
+ 16.5372 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7446 1.0000
+ -30.0140 1.0000
+ -29.9911 1.0000
+ -29.8884 1.0000
+ -1.1599 1.0000
+ 4.2600 1.0000
+ 4.7624 1.0000
+ 5.1876 1.0000
+ 5.8950 1.0000
+ 7.3708 1.0000
+ 9.0334 0.0000
+ 9.3519 0.0000
+ 10.2679 0.0000
+ 15.3111 0.0000
+ 15.6587 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7445 1.0000
+ -30.0200 1.0000
+ -29.9906 1.0000
+ -29.8880 1.0000
+ -1.0132 1.0000
+ 4.2030 1.0000
+ 4.7943 1.0000
+ 4.8011 1.0000
+ 6.0641 1.0000
+ 6.9806 1.0000
+ 9.4178 0.0000
+ 9.6455 0.0000
+ 10.1655 0.0000
+ 15.5541 0.0000
+ 16.0175 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7444 1.0000
+ -30.0289 1.0000
+ -29.9897 1.0000
+ -29.8872 1.0000
+ -0.7738 1.0000
+ 3.8102 1.0000
+ 4.7014 1.0000
+ 4.8920 1.0000
+ 6.0747 1.0000
+ 6.6867 1.0000
+ 9.3773 0.0000
+ 9.9364 0.0000
+ 10.5923 0.0000
+ 15.0458 0.0000
+ 15.9243 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7441 1.0000
+ -30.0390 1.0000
+ -29.9887 1.0000
+ -29.8864 1.0000
+ -0.4528 1.0000
+ 3.2344 1.0000
+ 4.7338 1.0000
+ 5.0752 1.0000
+ 5.8733 1.0000
+ 6.6224 1.0000
+ 9.0753 0.0000
+ 10.3673 0.0000
+ 11.1413 0.0000
+ 14.3495 0.0000
+ 16.6028 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7440 1.0000
+ -30.0487 1.0000
+ -29.9878 1.0000
+ -29.8857 1.0000
+ -0.0611 1.0000
+ 2.6291 1.0000
+ 4.7819 1.0000
+ 5.2693 1.0000
+ 5.6458 1.0000
+ 6.6483 1.0000
+ 8.8604 0.0000
+ 10.6806 0.0000
+ 11.6275 0.0000
+ 13.8130 0.0000
+ 15.2714 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7438 1.0000
+ -30.0563 1.0000
+ -29.9871 1.0000
+ -29.8850 1.0000
+ 0.3892 1.0000
+ 2.0335 1.0000
+ 4.8463 1.0000
+ 5.2455 1.0000
+ 5.6563 1.0000
+ 6.6606 1.0000
+ 8.7680 0.0000
+ 10.8072 0.0000
+ 11.9897 0.0000
+ 13.5317 0.0000
+ 14.8625 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7438 1.0000
+ -30.0604 1.0000
+ -29.9867 1.0000
+ -29.8847 1.0000
+ 0.8747 1.0000
+ 1.4744 1.0000
+ 4.9295 1.0000
+ 5.1004 1.0000
+ 5.7671 1.0000
+ 6.6527 1.0000
+ 8.7570 0.0000
+ 10.8011 0.0000
+ 12.1859 0.0000
+ 13.5593 0.0000
+ 14.6572 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7444 1.0000
+ -30.0105 1.0000
+ -30.0038 1.0000
+ -29.8876 1.0000
+ -0.9548 1.0000
+ 3.8567 1.0000
+ 4.8138 1.0000
+ 5.4323 1.0000
+ 5.5813 1.0000
+ 7.2363 1.0000
+ 8.8397 0.0000
+ 9.4096 0.0000
+ 11.0606 0.0000
+ 14.9041 0.0000
+ 15.9154 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7444 1.0000
+ -30.0127 1.0000
+ -30.0037 1.0000
+ -29.8874 1.0000
+ -0.9054 1.0000
+ 3.8932 1.0000
+ 4.8113 1.0000
+ 5.0970 1.0000
+ 5.8095 1.0000
+ 7.0569 1.0000
+ 9.0275 0.0000
+ 9.5614 0.0000
+ 10.9012 0.0000
+ 15.3640 0.0000
+ 16.2477 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7443 1.0000
+ -30.0188 1.0000
+ -30.0031 1.0000
+ -29.8869 1.0000
+ -0.7600 1.0000
+ 3.9970 1.0000
+ 4.5299 1.0000
+ 4.9001 1.0000
+ 6.0104 1.0000
+ 6.6764 1.0000
+ 9.4299 0.0000
+ 9.9366 0.0000
+ 10.5322 0.0000
+ 15.0414 0.0000
+ 15.7405 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7441 1.0000
+ -30.0277 1.0000
+ -30.0023 1.0000
+ -29.8862 1.0000
+ -0.5239 1.0000
+ 3.9586 1.0000
+ 4.1573 1.0000
+ 4.9630 1.0000
+ 6.1585 1.0000
+ 6.2704 1.0000
+ 9.7369 0.0000
+ 10.1887 0.0000
+ 10.4392 0.0000
+ 14.6116 0.0000
+ 15.8892 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7439 1.0000
+ -30.0379 1.0000
+ -30.0014 1.0000
+ -29.8854 1.0000
+ -0.2066 1.0000
+ 3.3648 1.0000
+ 4.3281 1.0000
+ 5.0858 1.0000
+ 5.8933 1.0000
+ 6.2876 1.0000
+ 9.4924 0.0000
+ 10.3513 0.0000
+ 10.9098 0.0000
+ 14.1968 0.0000
+ 15.6095 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7437 1.0000
+ -30.0476 1.0000
+ -30.0005 1.0000
+ -29.8847 1.0000
+ 0.1788 1.0000
+ 2.7700 1.0000
+ 4.4886 1.0000
+ 5.2214 1.0000
+ 5.6433 1.0000
+ 6.3659 1.0000
+ 9.1667 0.0000
+ 10.4414 0.0000
+ 11.3646 0.0000
+ 13.8896 0.0000
+ 16.6031 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7436 1.0000
+ -30.0552 1.0000
+ -29.9998 1.0000
+ -29.8840 1.0000
+ 0.6216 1.0000
+ 2.1905 1.0000
+ 4.6276 1.0000
+ 5.1554 1.0000
+ 5.7004 1.0000
+ 6.3833 1.0000
+ 8.9358 0.0000
+ 10.3679 0.0000
+ 11.7330 0.0000
+ 13.7871 0.0000
+ 15.4993 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2905 1.0000
+ -65.7435 1.0000
+ -30.0593 1.0000
+ -29.9994 1.0000
+ -29.8837 1.0000
+ 1.1087 1.0000
+ 1.6347 1.0000
+ 4.7486 1.0000
+ 4.9984 1.0000
+ 5.8749 1.0000
+ 6.3442 1.0000
+ 8.8213 0.0000
+ 10.2716 0.0000
+ 11.9440 0.0000
+ 13.8193 0.0000
+ 14.8856 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2901 1.0000
+ -65.7441 1.0000
+ -30.0183 1.0000
+ -30.0091 1.0000
+ -29.8863 1.0000
+ -0.6139 1.0000
+ 3.3047 1.0000
+ 4.8442 1.0000
+ 5.4603 1.0000
+ 5.4868 1.0000
+ 7.0343 1.0000
+ 8.6590 0.0000
+ 9.9415 0.0000
+ 11.7134 0.0000
+ 14.2240 0.0000
+ 15.8795 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7441 1.0000
+ -30.0181 1.0000
+ -30.0113 1.0000
+ -29.8862 1.0000
+ -0.5649 1.0000
+ 3.3377 1.0000
+ 4.8084 1.0000
+ 5.2074 1.0000
+ 5.6705 1.0000
+ 6.9017 1.0000
+ 8.8064 0.0000
+ 10.0721 0.0000
+ 11.5068 0.0000
+ 14.3145 0.0000
+ 15.6369 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7440 1.0000
+ -30.0176 1.0000
+ -30.0174 1.0000
+ -29.8857 1.0000
+ -0.4208 1.0000
+ 3.4287 1.0000
+ 4.5635 1.0000
+ 5.0640 1.0000
+ 5.7943 1.0000
+ 6.6030 1.0000
+ 9.1559 0.0000
+ 10.3672 0.0000
+ 11.0498 0.0000
+ 14.3100 0.0000
+ 15.6899 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7438 1.0000
+ -30.0263 1.0000
+ -30.0168 1.0000
+ -29.8850 1.0000
+ -0.1891 1.0000
+ 3.5310 1.0000
+ 4.1526 1.0000
+ 5.0962 1.0000
+ 5.8378 1.0000
+ 6.3101 1.0000
+ 9.5515 0.0000
+ 10.4117 0.0000
+ 10.7785 0.0000
+ 14.0757 0.0000
+ 16.4690 0.0000
+
+
+ -91.8807 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7436 1.0000
+ -30.0365 1.0000
+ -30.0159 1.0000
+ -29.8842 1.0000
+ 0.1197 1.0000
+ 3.3712 1.0000
+ 3.9854 1.0000
+ 5.1910 1.0000
+ 5.7030 1.0000
+ 6.2124 1.0000
+ 9.7686 0.0000
+ 10.0355 0.0000
+ 10.9145 0.0000
+ 13.9867 0.0000
+ 15.9162 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7434 1.0000
+ -30.0463 1.0000
+ -30.0150 1.0000
+ -29.8835 1.0000
+ 0.4894 1.0000
+ 2.9018 1.0000
+ 4.1317 1.0000
+ 5.2339 1.0000
+ 5.5776 1.0000
+ 6.2422 1.0000
+ 9.4373 0.0000
+ 9.9987 0.0000
+ 11.0336 0.0000
+ 14.2044 0.0000
+ 15.5874 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7433 1.0000
+ -30.0539 1.0000
+ -30.0143 1.0000
+ -29.8829 1.0000
+ 0.9061 1.0000
+ 2.3921 1.0000
+ 4.3127 1.0000
+ 5.0699 1.0000
+ 5.7376 1.0000
+ 6.2494 1.0000
+ 9.0950 0.0000
+ 9.8623 0.0000
+ 11.1873 0.0000
+ 15.0131 0.0000
+ 17.2295 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7431 1.0000
+ -30.0580 1.0000
+ -30.0139 1.0000
+ -29.8825 1.0000
+ 1.3392 1.0000
+ 1.9119 1.0000
+ 4.4535 1.0000
+ 4.9101 1.0000
+ 5.9724 1.0000
+ 6.1724 1.0000
+ 8.8920 0.0000
+ 9.7378 0.0000
+ 11.2934 0.0000
+ 14.5094 0.0000
+ 14.9006 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7438 1.0000
+ -30.0320 1.0000
+ -30.0077 1.0000
+ -29.8852 1.0000
+ -0.1990 1.0000
+ 2.6933 1.0000
+ 4.8622 1.0000
+ 5.3088 1.0000
+ 5.5698 1.0000
+ 6.9576 1.0000
+ 8.6840 0.0000
+ 10.4231 0.0000
+ 12.3103 0.0000
+ 13.3388 0.0000
+ 15.0063 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7438 1.0000
+ -30.0318 1.0000
+ -30.0099 1.0000
+ -29.8850 1.0000
+ -0.1505 1.0000
+ 2.7229 1.0000
+ 4.8168 1.0000
+ 5.2487 1.0000
+ 5.5888 1.0000
+ 6.8570 1.0000
+ 8.7830 0.0000
+ 10.5162 0.0000
+ 12.0017 0.0000
+ 13.5605 0.0000
+ 14.9311 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2902 1.0000
+ -65.7436 1.0000
+ -30.0312 1.0000
+ -30.0160 1.0000
+ -29.8846 1.0000
+ -0.0083 1.0000
+ 2.8063 1.0000
+ 4.6280 1.0000
+ 5.1868 1.0000
+ 5.6156 1.0000
+ 6.6210 1.0000
+ 9.0297 0.0000
+ 10.6548 0.0000
+ 11.4979 0.0000
+ 13.6805 0.0000
+ 16.1680 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7435 1.0000
+ -30.0305 1.0000
+ -30.0249 1.0000
+ -29.8838 1.0000
+ 0.2176 1.0000
+ 2.9196 1.0000
+ 4.3150 1.0000
+ 5.2001 1.0000
+ 5.6107 1.0000
+ 6.3844 1.0000
+ 9.3223 0.0000
+ 10.4868 0.0000
+ 11.1488 0.0000
+ 13.7394 0.0000
+ 15.2525 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7433 1.0000
+ -30.0353 1.0000
+ -30.0296 1.0000
+ -29.8831 1.0000
+ 0.5095 1.0000
+ 2.9934 1.0000
+ 4.0235 1.0000
+ 5.2081 1.0000
+ 5.5733 1.0000
+ 6.2653 1.0000
+ 9.5540 0.0000
+ 10.0537 0.0000
+ 10.8460 0.0000
+ 14.0317 0.0000
+ 16.9865 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7431 1.0000
+ -30.0450 1.0000
+ -30.0288 1.0000
+ -29.8823 1.0000
+ 0.8493 1.0000
+ 2.8878 1.0000
+ 3.9281 1.0000
+ 5.0740 1.0000
+ 5.6506 1.0000
+ 6.2584 1.0000
+ 9.5863 0.0000
+ 9.6119 0.0000
+ 10.5896 0.0000
+ 14.5477 0.0000
+ 16.1231 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7430 1.0000
+ -30.0527 1.0000
+ -30.0281 1.0000
+ -29.8818 1.0000
+ 1.2065 1.0000
+ 2.5979 1.0000
+ 4.0342 1.0000
+ 4.8601 1.0000
+ 5.8427 1.0000
+ 6.2709 1.0000
+ 9.2185 0.0000
+ 9.4083 0.0000
+ 10.5443 0.0000
+ 14.9799 0.0000
+ 16.9946 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7429 1.0000
+ -30.0568 1.0000
+ -30.0277 1.0000
+ -29.8814 1.0000
+ 1.5149 1.0000
+ 2.3015 1.0000
+ 4.1783 1.0000
+ 4.6820 1.0000
+ 6.0499 1.0000
+ 6.2287 1.0000
+ 8.9581 0.0000
+ 9.2598 0.0000
+ 10.5742 0.0000
+ 14.8199 0.0000
+ 15.4551 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2912 1.0000
+ -65.7436 1.0000
+ -30.0427 1.0000
+ -30.0068 1.0000
+ -29.8843 1.0000
+ 0.2722 1.0000
+ 2.0800 1.0000
+ 4.8773 1.0000
+ 5.1767 1.0000
+ 5.6077 1.0000
+ 6.9482 1.0000
+ 8.9102 0.0000
+ 10.8202 0.0000
+ 12.5032 0.0000
+ 12.8741 0.0000
+ 14.6540 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7436 1.0000
+ -30.0425 1.0000
+ -30.0088 1.0000
+ -29.8842 1.0000
+ 0.3219 1.0000
+ 2.1086 1.0000
+ 4.8435 1.0000
+ 5.1373 1.0000
+ 5.6282 1.0000
+ 6.8548 1.0000
+ 8.9591 0.0000
+ 10.8385 0.0000
+ 12.1616 0.0000
+ 13.3887 0.0000
+ 14.7173 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7434 1.0000
+ -30.0420 1.0000
+ -30.0149 1.0000
+ -29.8837 1.0000
+ 0.4637 1.0000
+ 2.1902 1.0000
+ 4.6998 1.0000
+ 5.0929 1.0000
+ 5.6713 1.0000
+ 6.6315 1.0000
+ 9.0845 0.0000
+ 10.7099 0.0000
+ 11.8347 0.0000
+ 13.3260 0.0000
+ 14.8037 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2904 1.0000
+ -65.7433 1.0000
+ -30.0412 1.0000
+ -30.0239 1.0000
+ -29.8830 1.0000
+ 0.6817 1.0000
+ 2.3190 1.0000
+ 4.4554 1.0000
+ 5.0740 1.0000
+ 5.7125 1.0000
+ 6.4023 1.0000
+ 9.2380 0.0000
+ 10.3235 0.0000
+ 11.4656 0.0000
+ 13.6342 0.0000
+ 15.3546 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7431 1.0000
+ -30.0404 1.0000
+ -30.0342 1.0000
+ -29.8822 1.0000
+ 0.9487 1.0000
+ 2.4808 1.0000
+ 4.1899 1.0000
+ 5.0008 1.0000
+ 5.7567 1.0000
+ 6.2838 1.0000
+ 9.3589 0.0000
+ 9.8771 0.0000
+ 10.8863 0.0000
+ 14.2986 0.0000
+ 15.7162 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7429 1.0000
+ -30.0441 1.0000
+ -30.0396 1.0000
+ -29.8814 1.0000
+ 1.2299 1.0000
+ 2.6376 1.0000
+ 3.9806 1.0000
+ 4.8199 1.0000
+ 5.8594 1.0000
+ 6.2868 1.0000
+ 9.3046 0.0000
+ 9.5580 0.0000
+ 10.2980 0.0000
+ 14.7255 0.0000
+ 15.1041 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7427 1.0000
+ -30.0517 1.0000
+ -30.0390 1.0000
+ -29.8808 1.0000
+ 1.4810 1.0000
+ 2.7241 1.0000
+ 3.9050 1.0000
+ 4.5774 1.0000
+ 6.0293 1.0000
+ 6.3312 1.0000
+ 9.0511 0.0000
+ 9.2924 0.0000
+ 9.9968 0.0000
+ 14.8542 0.0000
+ 17.0014 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7427 1.0000
+ -30.0559 1.0000
+ -30.0387 1.0000
+ -29.8806 1.0000
+ 1.6404 1.0000
+ 2.7265 1.0000
+ 3.9706 1.0000
+ 4.3593 1.0000
+ 6.1919 1.0000
+ 6.3459 1.0000
+ 8.8868 0.0000
+ 9.0124 0.0000
+ 9.9580 0.0000
+ 16.6992 0.0000
+ 18.2794 0.0000
+
+
+ -91.8816 1.0000
+ -91.4266 1.0000
+ -91.2915 1.0000
+ -65.7435 1.0000
+ -30.0485 1.0000
+ -30.0062 1.0000
+ -29.8839 1.0000
+ 0.7508 1.0000
+ 1.5290 1.0000
+ 4.8872 1.0000
+ 5.1019 1.0000
+ 5.6111 1.0000
+ 6.9563 1.0000
+ 9.1684 0.0000
+ 11.0963 0.0000
+ 11.8845 0.0000
+ 13.4542 0.0000
+ 13.9816 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7434 1.0000
+ -30.0483 1.0000
+ -30.0082 1.0000
+ -29.8836 1.0000
+ 0.8074 1.0000
+ 1.5503 1.0000
+ 4.8837 1.0000
+ 5.0282 1.0000
+ 5.6611 1.0000
+ 6.8614 1.0000
+ 9.1821 0.0000
+ 10.9712 0.0000
+ 11.9443 0.0000
+ 13.3175 0.0000
+ 14.0111 0.0000
+
+
+ -91.8809 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7433 1.0000
+ -30.0478 1.0000
+ -30.0143 1.0000
+ -29.8832 1.0000
+ 0.9654 1.0000
+ 1.6153 1.0000
+ 4.7866 1.0000
+ 4.9431 1.0000
+ 5.7637 1.0000
+ 6.6281 1.0000
+ 9.2181 0.0000
+ 10.6031 0.0000
+ 12.0239 0.0000
+ 13.2393 0.0000
+ 14.3926 0.0000
+
+
+ -91.8809 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7432 1.0000
+ -30.0471 1.0000
+ -30.0234 1.0000
+ -29.8825 1.0000
+ 1.1904 1.0000
+ 1.7430 1.0000
+ 4.5650 1.0000
+ 4.9174 1.0000
+ 5.8769 1.0000
+ 6.3717 1.0000
+ 9.2652 0.0000
+ 10.1220 0.0000
+ 11.6464 0.0000
+ 13.6165 0.0000
+ 14.7417 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7430 1.0000
+ -30.0463 1.0000
+ -30.0337 1.0000
+ -29.8817 1.0000
+ 1.4108 1.0000
+ 1.9753 1.0000
+ 4.3324 1.0000
+ 4.8220 1.0000
+ 5.9828 1.0000
+ 6.2221 1.0000
+ 9.3061 0.0000
+ 9.6403 0.0000
+ 10.9581 0.0000
+ 14.3215 0.0000
+ 14.8365 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7428 1.0000
+ -30.0455 1.0000
+ -30.0435 1.0000
+ -29.8809 1.0000
+ 1.5658 1.0000
+ 2.3279 1.0000
+ 4.1275 1.0000
+ 4.6077 1.0000
+ 6.0847 1.0000
+ 6.2409 1.0000
+ 9.1753 0.0000
+ 9.3638 0.0000
+ 10.2421 0.0000
+ 14.7264 0.0000
+ 15.1864 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7426 1.0000
+ -30.0512 1.0000
+ -30.0449 1.0000
+ -29.8803 1.0000
+ 1.6627 1.0000
+ 2.7320 1.0000
+ 3.9747 1.0000
+ 4.3124 1.0000
+ 6.2217 1.0000
+ 6.3335 1.0000
+ 8.8577 0.0000
+ 9.2736 0.0000
+ 9.7144 0.0000
+ 14.6891 0.0000
+ 16.0466 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7426 1.0000
+ -30.0554 1.0000
+ -30.0446 1.0000
+ -29.8800 1.0000
+ 1.7108 1.0000
+ 3.0627 1.0000
+ 3.8918 1.0000
+ 4.0425 1.0000
+ 6.3299 1.0000
+ 6.4187 1.0000
+ 8.6764 0.0000
+ 9.0361 0.0000
+ 9.5744 0.0000
+ 15.1073 0.0000
+ 16.7779 0.0000
+
+
+ -91.8791 1.0000
+ -91.4239 1.0000
+ -91.2890 1.0000
+ -65.7431 1.0000
+ -30.0077 1.0000
+ -29.9745 1.0000
+ -29.9360 1.0000
+ -0.9922 1.0000
+ 4.1697 1.0000
+ 4.4791 1.0000
+ 5.2762 1.0000
+ 5.5520 1.0000
+ 8.4050 0.0000
+ 8.4412 0.0000
+ 9.7376 0.0000
+ 9.9653 0.0000
+ 14.6114 0.0000
+ 15.5437 0.0000
+
+
+ -91.8795 1.0000
+ -91.4244 1.0000
+ -91.2894 1.0000
+ -65.7431 1.0000
+ -30.0099 1.0000
+ -29.9743 1.0000
+ -29.9359 1.0000
+ -0.9433 1.0000
+ 4.1493 1.0000
+ 4.4316 1.0000
+ 5.2543 1.0000
+ 5.5665 1.0000
+ 8.1472 0.0001
+ 8.5627 0.0000
+ 9.6381 0.0000
+ 10.2814 0.0000
+ 14.5670 0.0000
+ 16.3874 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7431 1.0000
+ -30.0160 1.0000
+ -29.9738 1.0000
+ -29.9355 1.0000
+ -0.7997 1.0000
+ 3.9591 1.0000
+ 4.4276 1.0000
+ 5.2220 1.0000
+ 5.6067 1.0000
+ 7.6690 0.9988
+ 8.8770 0.0000
+ 9.3920 0.0000
+ 10.9261 0.0000
+ 14.5052 0.0000
+ 15.8789 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7429 1.0000
+ -30.0250 1.0000
+ -29.9729 1.0000
+ -29.9348 1.0000
+ -0.5652 1.0000
+ 3.5680 1.0000
+ 4.5355 1.0000
+ 5.2114 1.0000
+ 5.6623 1.0000
+ 7.2067 1.0000
+ 9.1059 0.0000
+ 9.2908 0.0000
+ 11.6363 0.0000
+ 14.1697 0.0000
+ 15.7589 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7427 1.0000
+ -30.0353 1.0000
+ -29.9719 1.0000
+ -29.9341 1.0000
+ -0.2521 1.0000
+ 3.0868 1.0000
+ 4.6814 1.0000
+ 5.2185 1.0000
+ 5.7142 1.0000
+ 6.8332 1.0000
+ 8.8793 0.0000
+ 9.7265 0.0000
+ 12.2929 0.0000
+ 13.5685 0.0000
+ 16.1058 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7425 1.0000
+ -30.0450 1.0000
+ -29.9710 1.0000
+ -29.9334 1.0000
+ 0.1257 1.0000
+ 2.5716 1.0000
+ 4.8261 1.0000
+ 5.2273 1.0000
+ 5.7364 1.0000
+ 6.5820 1.0000
+ 8.7708 0.0000
+ 10.1434 0.0000
+ 12.7927 0.0000
+ 12.8308 0.0000
+ 15.4481 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7424 1.0000
+ -30.0526 1.0000
+ -29.9703 1.0000
+ -29.9329 1.0000
+ 0.5574 1.0000
+ 2.0489 1.0000
+ 4.9438 1.0000
+ 5.2220 1.0000
+ 5.7179 1.0000
+ 6.4574 1.0000
+ 8.7837 0.0000
+ 10.5245 0.0000
+ 12.1279 0.0000
+ 13.0743 0.0000
+ 15.2254 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7423 1.0000
+ -30.0568 1.0000
+ -29.9699 1.0000
+ -29.9325 1.0000
+ 1.0239 1.0000
+ 1.5364 1.0000
+ 5.0194 1.0000
+ 5.2031 1.0000
+ 5.6900 1.0000
+ 6.4177 1.0000
+ 8.8427 0.0000
+ 10.8611 0.0000
+ 11.5754 0.0000
+ 13.1725 0.0000
+ 14.7884 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2897 1.0000
+ -65.7431 1.0000
+ -30.0075 1.0000
+ -29.9776 1.0000
+ -29.9357 1.0000
+ -0.9418 1.0000
+ 4.1601 1.0000
+ 4.4633 1.0000
+ 5.2925 1.0000
+ 5.4803 1.0000
+ 8.1369 0.0002
+ 8.5843 0.0000
+ 9.8748 0.0000
+ 14.2706 0.0000
+ 16.6056 0.0000
+ 16.6825 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2896 1.0000
+ -65.7431 1.0000
+ -30.0097 1.0000
+ -29.9774 1.0000
+ -29.9356 1.0000
+ -0.8921 1.0000
+ 4.1617 1.0000
+ 4.4064 1.0000
+ 5.2343 1.0000
+ 5.5218 1.0000
+ 7.8744 0.5472
+ 8.6852 0.0000
+ 9.8973 0.0000
+ 10.2230 0.0000
+ 14.6840 0.0000
+ 15.1549 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2897 1.0000
+ -65.7430 1.0000
+ -30.0157 1.0000
+ -29.9768 1.0000
+ -29.9352 1.0000
+ -0.7465 1.0000
+ 4.0060 1.0000
+ 4.3910 1.0000
+ 5.1646 1.0000
+ 5.5823 1.0000
+ 7.4453 1.0000
+ 8.9926 0.0000
+ 9.6515 0.0000
+ 10.7842 0.0000
+ 14.7401 0.0000
+ 15.9068 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7428 1.0000
+ -30.0247 1.0000
+ -29.9759 1.0000
+ -29.9346 1.0000
+ -0.5124 1.0000
+ 3.6173 1.0000
+ 4.5175 1.0000
+ 5.1467 1.0000
+ 5.6283 1.0000
+ 7.0241 1.0000
+ 9.3214 0.0000
+ 9.4009 0.0000
+ 11.4365 0.0000
+ 14.2651 0.0000
+ 15.7142 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7426 1.0000
+ -30.0350 1.0000
+ -29.9750 1.0000
+ -29.9339 1.0000
+ -0.2008 1.0000
+ 3.1352 1.0000
+ 4.6826 1.0000
+ 5.1753 1.0000
+ 5.6422 1.0000
+ 6.6940 1.0000
+ 9.0514 0.0000
+ 9.8080 0.0000
+ 13.0238 0.0000
+ 15.4136 0.0000
+ 16.0797 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7424 1.0000
+ -30.0447 1.0000
+ -29.9741 1.0000
+ -29.9332 1.0000
+ 0.1782 1.0000
+ 2.6185 1.0000
+ 4.8334 1.0000
+ 5.2268 1.0000
+ 5.6216 1.0000
+ 6.4836 1.0000
+ 8.8850 0.0000
+ 10.1806 0.0000
+ 12.1773 0.0000
+ 13.4647 0.0000
+ 15.3704 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7423 1.0000
+ -30.0524 1.0000
+ -29.9734 1.0000
+ -29.9327 1.0000
+ 0.6080 1.0000
+ 2.0944 1.0000
+ 4.9487 1.0000
+ 5.2360 1.0000
+ 5.6214 1.0000
+ 6.3720 1.0000
+ 8.8398 0.0000
+ 10.4741 0.0000
+ 11.9232 0.0000
+ 13.5675 0.0000
+ 15.0575 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7422 1.0000
+ -30.0566 1.0000
+ -29.9730 1.0000
+ -29.9323 1.0000
+ 1.0767 1.0000
+ 1.5797 1.0000
+ 5.0331 1.0000
+ 5.1824 1.0000
+ 5.6559 1.0000
+ 6.3220 1.0000
+ 8.8601 0.0000
+ 10.6497 0.0000
+ 11.6448 0.0000
+ 13.4921 0.0000
+ 14.9068 0.0000
+
+
+ -91.8794 1.0000
+ -91.4243 1.0000
+ -91.2893 1.0000
+ -65.7429 1.0000
+ -30.0066 1.0000
+ -29.9862 1.0000
+ -29.9351 1.0000
+ -0.7866 1.0000
+ 4.0335 1.0000
+ 4.4889 1.0000
+ 5.3371 1.0000
+ 5.3463 1.0000
+ 7.5604 1.0000
+ 8.8667 0.0000
+ 9.5757 0.0000
+ 10.8119 0.0000
+ 15.0193 0.0000
+ 16.5679 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2896 1.0000
+ -65.7429 1.0000
+ -30.0088 1.0000
+ -29.9860 1.0000
+ -29.9350 1.0000
+ -0.7381 1.0000
+ 4.0728 1.0000
+ 4.4246 1.0000
+ 5.1607 1.0000
+ 5.4807 1.0000
+ 7.3825 1.0000
+ 8.9797 0.0000
+ 9.7876 0.0000
+ 10.6899 0.0000
+ 14.8927 0.0000
+ 16.0636 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7428 1.0000
+ -30.0149 1.0000
+ -29.9854 1.0000
+ -29.9346 1.0000
+ -0.5926 1.0000
+ 4.1214 1.0000
+ 4.2640 1.0000
+ 5.0156 1.0000
+ 5.5704 1.0000
+ 7.0120 1.0000
+ 9.2675 0.0000
+ 10.0834 0.0000
+ 10.5691 0.0000
+ 14.8072 0.0000
+ 15.6699 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2899 1.0000
+ -65.7426 1.0000
+ -30.0239 1.0000
+ -29.9846 1.0000
+ -29.9340 1.0000
+ -0.3590 1.0000
+ 3.7621 1.0000
+ 4.4212 1.0000
+ 4.9587 1.0000
+ 5.6136 1.0000
+ 6.6438 1.0000
+ 9.6171 0.0000
+ 9.8168 0.0000
+ 11.0150 0.0000
+ 14.3910 0.0000
+ 16.1444 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7424 1.0000
+ -30.0342 1.0000
+ -29.9837 1.0000
+ -29.9333 1.0000
+ -0.0480 1.0000
+ 3.2758 1.0000
+ 4.6646 1.0000
+ 4.9722 1.0000
+ 5.5802 1.0000
+ 6.3794 1.0000
+ 9.4388 0.0000
+ 9.9520 0.0000
+ 11.4875 0.0000
+ 13.9130 0.0000
+ 15.6021 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7422 1.0000
+ -30.0440 1.0000
+ -29.9828 1.0000
+ -29.9326 1.0000
+ 0.3278 1.0000
+ 2.7560 1.0000
+ 4.8584 1.0000
+ 5.1054 1.0000
+ 5.4544 1.0000
+ 6.2435 1.0000
+ 9.1535 0.0000
+ 10.1417 0.0000
+ 11.7635 0.0000
+ 13.9583 0.0000
+ 15.3074 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7421 1.0000
+ -30.0516 1.0000
+ -29.9821 1.0000
+ -29.9320 1.0000
+ 0.7545 1.0000
+ 2.2317 1.0000
+ 4.9434 1.0000
+ 5.2715 1.0000
+ 5.3901 1.0000
+ 6.1613 1.0000
+ 8.9788 0.0000
+ 10.1660 0.0000
+ 11.8759 0.0000
+ 14.0401 0.0000
+ 14.7589 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7421 1.0000
+ -30.0559 1.0000
+ -29.9817 1.0000
+ -29.9317 1.0000
+ 1.2187 1.0000
+ 1.7187 1.0000
+ 5.0186 1.0000
+ 5.1440 1.0000
+ 5.6004 1.0000
+ 6.0785 1.0000
+ 8.9071 0.0000
+ 10.1124 0.0000
+ 11.9295 0.0000
+ 14.1658 0.0000
+ 14.5853 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7427 1.0000
+ -30.0054 1.0000
+ -29.9989 1.0000
+ -29.9343 1.0000
+ -0.5379 1.0000
+ 3.7030 1.0000
+ 4.6090 1.0000
+ 5.2630 1.0000
+ 5.3959 1.0000
+ 7.0695 1.0000
+ 9.0908 0.0000
+ 9.4357 0.0000
+ 11.5575 0.0000
+ 14.3516 0.0000
+ 16.3601 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7426 1.0000
+ -30.0076 1.0000
+ -29.9987 1.0000
+ -29.9341 1.0000
+ -0.4887 1.0000
+ 3.7492 1.0000
+ 4.5743 1.0000
+ 5.0985 1.0000
+ 5.4857 1.0000
+ 6.9239 1.0000
+ 9.2263 0.0000
+ 9.5939 0.0000
+ 11.3727 0.0000
+ 14.7170 0.0000
+ 16.1538 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7426 1.0000
+ -30.0138 1.0000
+ -29.9982 1.0000
+ -29.9337 1.0000
+ -0.3455 1.0000
+ 3.8851 1.0000
+ 4.3963 1.0000
+ 4.8981 1.0000
+ 5.5780 1.0000
+ 6.6012 1.0000
+ 9.5131 0.0000
+ 9.9903 0.0000
+ 10.9583 0.0000
+ 15.0569 0.0000
+ 16.3985 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7424 1.0000
+ -30.0228 1.0000
+ -29.9974 1.0000
+ -29.9331 1.0000
+ -0.1133 1.0000
+ 3.9680 1.0000
+ 4.1423 1.0000
+ 4.8263 1.0000
+ 5.6458 1.0000
+ 6.2595 1.0000
+ 9.7738 0.0000
+ 10.2498 0.0000
+ 10.7319 0.0000
+ 13.9527 0.0000
+ 15.3880 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7422 1.0000
+ -30.0330 1.0000
+ -29.9965 1.0000
+ -29.9323 1.0000
+ 0.1946 1.0000
+ 3.4921 1.0000
+ 4.4185 1.0000
+ 4.8251 1.0000
+ 5.6324 1.0000
+ 6.0245 1.0000
+ 9.7715 0.0000
+ 9.9943 0.0000
+ 11.1510 0.0000
+ 13.7014 0.0000
+ 16.5495 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7420 1.0000
+ -30.0429 1.0000
+ -29.9956 1.0000
+ -29.9316 1.0000
+ 0.5628 1.0000
+ 2.9731 1.0000
+ 4.7045 1.0000
+ 4.9098 1.0000
+ 5.4759 1.0000
+ 5.9673 1.0000
+ 9.4317 0.0000
+ 9.8472 0.0000
+ 11.5921 0.0000
+ 13.6688 0.0000
+ 15.3116 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7418 1.0000
+ -30.0505 1.0000
+ -29.9949 1.0000
+ -29.9311 1.0000
+ 0.9775 1.0000
+ 2.4579 1.0000
+ 4.7922 1.0000
+ 5.2187 1.0000
+ 5.3117 1.0000
+ 5.9343 1.0000
+ 9.1395 0.0000
+ 9.6338 0.0000
+ 11.9354 0.0000
+ 13.8117 0.0000
+ 15.0790 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7418 1.0000
+ -30.0548 1.0000
+ -29.9946 1.0000
+ -29.9308 1.0000
+ 1.4086 1.0000
+ 1.9761 1.0000
+ 4.8168 1.0000
+ 5.2061 1.0000
+ 5.5597 1.0000
+ 5.8151 1.0000
+ 8.9724 0.0000
+ 9.4790 0.0000
+ 12.1291 0.0000
+ 14.1071 0.0000
+ 15.6601 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2903 1.0000
+ -65.7424 1.0000
+ -30.0135 1.0000
+ -30.0040 1.0000
+ -29.9332 1.0000
+ -0.2065 1.0000
+ 3.2450 1.0000
+ 4.7589 1.0000
+ 5.2488 1.0000
+ 5.4433 1.0000
+ 6.6906 1.0000
+ 8.9578 0.0000
+ 9.7562 0.0000
+ 12.2284 0.0000
+ 13.6467 0.0000
+ 15.6738 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7424 1.0000
+ -30.0133 1.0000
+ -30.0062 1.0000
+ -29.9330 1.0000
+ -0.1582 1.0000
+ 3.2898 1.0000
+ 4.7575 1.0000
+ 5.1144 1.0000
+ 5.4721 1.0000
+ 6.5804 1.0000
+ 9.0982 0.0000
+ 9.8501 0.0000
+ 11.9458 0.0000
+ 13.9323 0.0000
+ 15.6257 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7422 1.0000
+ -30.0128 1.0000
+ -30.0124 1.0000
+ -29.9326 1.0000
+ -0.0156 1.0000
+ 3.4223 1.0000
+ 4.6865 1.0000
+ 4.8536 1.0000
+ 5.5334 1.0000
+ 6.3183 1.0000
+ 9.4083 0.0000
+ 10.0693 0.0000
+ 11.4327 0.0000
+ 13.8385 0.0000
+ 15.3753 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7421 1.0000
+ -30.0214 1.0000
+ -30.0120 1.0000
+ -29.9320 1.0000
+ 0.2115 1.0000
+ 3.6251 1.0000
+ 4.2944 1.0000
+ 4.8274 1.0000
+ 5.6180 1.0000
+ 6.0093 1.0000
+ 9.6312 0.0000
+ 10.2757 0.0000
+ 11.0215 0.0000
+ 13.6105 0.0000
+ 15.5689 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7418 1.0000
+ -30.0317 1.0000
+ -30.0111 1.0000
+ -29.9313 1.0000
+ 0.5117 1.0000
+ 3.6756 1.0000
+ 4.0282 1.0000
+ 4.8696 1.0000
+ 5.6990 1.0000
+ 5.7349 1.0000
+ 9.5362 0.0000
+ 10.2061 0.0000
+ 11.0080 0.0000
+ 13.5324 0.0000
+ 15.5343 0.0000
+
+
+ -91.8804 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7417 1.0000
+ -30.0416 1.0000
+ -30.0103 1.0000
+ -29.9306 1.0000
+ 0.8642 1.0000
+ 3.2318 1.0000
+ 4.2558 1.0000
+ 4.9684 1.0000
+ 5.4836 1.0000
+ 5.8019 1.0000
+ 9.2565 0.0000
+ 9.8056 0.0000
+ 11.2920 0.0000
+ 13.6768 0.0000
+ 15.4872 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7415 1.0000
+ -30.0493 1.0000
+ -30.0096 1.0000
+ -29.9300 1.0000
+ 1.2490 1.0000
+ 2.7560 1.0000
+ 4.4489 1.0000
+ 5.1394 1.0000
+ 5.3565 1.0000
+ 5.8359 1.0000
+ 8.9975 0.0000
+ 9.3530 0.0000
+ 11.5665 0.0000
+ 14.0109 0.0000
+ 15.4805 0.0000
+
+
+ -91.8796 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7414 1.0000
+ -30.0535 1.0000
+ -30.0091 1.0000
+ -29.9298 1.0000
+ 1.6087 1.0000
+ 2.3515 1.0000
+ 4.5288 1.0000
+ 5.1724 1.0000
+ 5.4938 1.0000
+ 5.7819 1.0000
+ 8.8529 0.0000
+ 9.0524 0.0000
+ 11.7104 0.0000
+ 14.0573 0.0000
+ 15.0900 0.0000
+
+
+ -91.8814 1.0000
+ -91.4264 1.0000
+ -91.2914 1.0000
+ -65.7422 1.0000
+ -30.0274 1.0000
+ -30.0027 1.0000
+ -29.9322 1.0000
+ 0.1919 1.0000
+ 2.7296 1.0000
+ 4.8887 1.0000
+ 5.2689 1.0000
+ 5.4479 1.0000
+ 6.4571 1.0000
+ 8.9309 0.0000
+ 10.1141 0.0000
+ 12.7287 0.0000
+ 12.8456 0.0000
+ 15.3170 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7421 1.0000
+ -30.0272 1.0000
+ -30.0048 1.0000
+ -29.9320 1.0000
+ 0.2409 1.0000
+ 2.7729 1.0000
+ 4.8898 1.0000
+ 5.2223 1.0000
+ 5.3965 1.0000
+ 6.3796 1.0000
+ 9.0274 0.0000
+ 10.1593 0.0000
+ 12.1501 0.0000
+ 13.4325 0.0000
+ 15.0368 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7419 1.0000
+ -30.0267 1.0000
+ -30.0110 1.0000
+ -29.9316 1.0000
+ 0.3806 1.0000
+ 2.8996 1.0000
+ 4.8497 1.0000
+ 5.0127 1.0000
+ 5.3985 1.0000
+ 6.1868 1.0000
+ 9.2455 0.0000
+ 10.1860 0.0000
+ 11.6938 0.0000
+ 13.6620 0.0000
+ 14.8455 0.0000
+
+
+ -91.8809 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7418 1.0000
+ -30.0259 1.0000
+ -30.0201 1.0000
+ -29.9310 1.0000
+ 0.6011 1.0000
+ 3.0992 1.0000
+ 4.5252 1.0000
+ 4.9705 1.0000
+ 5.4410 1.0000
+ 5.9674 1.0000
+ 9.3795 0.0000
+ 10.0938 0.0000
+ 11.4215 0.0000
+ 13.4946 0.0000
+ 15.3249 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7416 1.0000
+ -30.0305 1.0000
+ -30.0251 1.0000
+ -29.9303 1.0000
+ 0.8844 1.0000
+ 3.3282 1.0000
+ 4.1307 1.0000
+ 4.9976 1.0000
+ 5.4432 1.0000
+ 5.8368 1.0000
+ 9.1709 0.0000
+ 10.0960 0.0000
+ 11.0760 0.0000
+ 13.6019 0.0000
+ 15.5760 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7414 1.0000
+ -30.0404 1.0000
+ -30.0242 1.0000
+ -29.9296 1.0000
+ 1.2071 1.0000
+ 3.3733 1.0000
+ 3.9450 1.0000
+ 5.0033 1.0000
+ 5.4115 1.0000
+ 5.8500 1.0000
+ 8.8027 0.0000
+ 9.9189 0.0000
+ 10.8392 0.0000
+ 13.9632 0.0000
+ 15.2363 0.0000
+
+
+ -91.8810 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7413 1.0000
+ -30.0482 1.0000
+ -30.0236 1.0000
+ -29.9291 1.0000
+ 1.5374 1.0000
+ 3.0788 1.0000
+ 4.0952 1.0000
+ 4.9405 1.0000
+ 5.4963 1.0000
+ 5.8970 1.0000
+ 8.4845 0.0000
+ 9.4593 0.0000
+ 10.8758 0.0000
+ 14.4053 0.0000
+ 17.6986 0.0000
+
+
+ -91.8806 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7411 1.0000
+ -30.0524 1.0000
+ -30.0233 1.0000
+ -29.9289 1.0000
+ 1.8017 1.0000
+ 2.7984 1.0000
+ 4.2319 1.0000
+ 4.8727 1.0000
+ 5.6545 1.0000
+ 5.8902 1.0000
+ 8.3046 0.0000
+ 9.1174 0.0000
+ 10.9361 0.0000
+ 14.6714 0.0000
+ 15.1061 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2910 1.0000
+ -65.7419 1.0000
+ -30.0381 1.0000
+ -30.0016 1.0000
+ -29.9314 1.0000
+ 0.6438 1.0000
+ 2.1972 1.0000
+ 4.9816 1.0000
+ 5.2821 1.0000
+ 5.4079 1.0000
+ 6.3587 1.0000
+ 9.0891 0.0000
+ 10.4109 0.0000
+ 12.0762 0.0000
+ 12.9720 0.0000
+ 14.7931 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7418 1.0000
+ -30.0379 1.0000
+ -30.0038 1.0000
+ -29.9312 1.0000
+ 0.6917 1.0000
+ 2.2385 1.0000
+ 4.9684 1.0000
+ 5.2605 1.0000
+ 5.3795 1.0000
+ 6.2871 1.0000
+ 9.1342 0.0000
+ 10.3626 0.0000
+ 11.8755 0.0000
+ 13.5638 0.0000
+ 14.7415 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7417 1.0000
+ -30.0374 1.0000
+ -30.0100 1.0000
+ -29.9308 1.0000
+ 0.8289 1.0000
+ 2.3628 1.0000
+ 4.8680 1.0000
+ 5.2167 1.0000
+ 5.3487 1.0000
+ 6.1151 1.0000
+ 9.2333 0.0000
+ 10.1098 0.0000
+ 11.7864 0.0000
+ 13.8645 0.0000
+ 14.5821 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7415 1.0000
+ -30.0368 1.0000
+ -30.0191 1.0000
+ -29.9302 1.0000
+ 1.0385 1.0000
+ 2.5659 1.0000
+ 4.6184 1.0000
+ 5.2494 1.0000
+ 5.2935 1.0000
+ 5.9474 1.0000
+ 9.2299 0.0000
+ 9.7805 0.0000
+ 11.7623 0.0000
+ 14.6669 0.0000
+ 33.9627 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7413 1.0000
+ -30.0360 1.0000
+ -30.0295 1.0000
+ -29.9295 1.0000
+ 1.2933 1.0000
+ 2.8351 1.0000
+ 4.3053 1.0000
+ 5.1462 1.0000
+ 5.3500 1.0000
+ 5.8888 1.0000
+ 8.8751 0.0000
+ 9.7440 0.0000
+ 11.2586 0.0000
+ 13.7436 0.0000
+ 15.3267 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7412 1.0000
+ -30.0394 1.0000
+ -30.0352 1.0000
+ -29.9289 1.0000
+ 1.5626 1.0000
+ 3.1227 1.0000
+ 4.0176 1.0000
+ 4.9307 1.0000
+ 5.5039 1.0000
+ 5.9329 1.0000
+ 8.4289 0.0000
+ 9.7601 0.0000
+ 10.6018 0.0000
+ 14.2919 0.0000
+ 15.0899 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7410 1.0000
+ -30.0472 1.0000
+ -30.0346 1.0000
+ -29.9284 1.0000
+ 1.8088 1.0000
+ 3.2901 1.0000
+ 3.8891 1.0000
+ 4.7082 1.0000
+ 5.7010 1.0000
+ 6.0056 1.0000
+ 8.0678 0.0044
+ 9.5108 0.0000
+ 10.2464 0.0000
+ 14.9130 0.0000
+ 15.6767 0.0000
+
+
+ -91.8813 1.0000
+ -91.4263 1.0000
+ -91.2912 1.0000
+ -65.7409 1.0000
+ -30.0515 1.0000
+ -30.0343 1.0000
+ -29.9281 1.0000
+ 1.9715 1.0000
+ 3.2549 1.0000
+ 3.9834 1.0000
+ 4.5315 1.0000
+ 5.8883 1.0000
+ 6.0297 1.0000
+ 7.8661 0.5933
+ 9.1689 0.0000
+ 10.2004 0.0000
+ 15.0616 0.0000
+ 32.0644 0.0000
+
+
+ -91.8815 1.0000
+ -91.4266 1.0000
+ -91.2915 1.0000
+ -65.7418 1.0000
+ -30.0440 1.0000
+ -30.0011 1.0000
+ -29.9310 1.0000
+ 1.1269 1.0000
+ 1.6721 1.0000
+ 5.0342 1.0000
+ 5.2771 1.0000
+ 5.3683 1.0000
+ 6.3348 1.0000
+ 9.3061 0.0000
+ 10.6059 0.0000
+ 11.5175 0.0000
+ 13.0325 0.0000
+ 14.6615 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2907 1.0000
+ -65.7417 1.0000
+ -30.0438 1.0000
+ -30.0032 1.0000
+ -29.9308 1.0000
+ 1.1784 1.0000
+ 1.7101 1.0000
+ 5.0365 1.0000
+ 5.1518 1.0000
+ 5.4647 1.0000
+ 6.2520 1.0000
+ 9.3181 0.0000
+ 10.4031 0.0000
+ 11.5903 0.0000
+ 13.3633 0.0000
+ 14.5583 0.0000
+
+
+ -91.8801 1.0000
+ -91.4252 1.0000
+ -91.2901 1.0000
+ -65.7415 1.0000
+ -30.0433 1.0000
+ -30.0093 1.0000
+ -29.9303 1.0000
+ 1.3163 1.0000
+ 1.8312 1.0000
+ 4.8941 1.0000
+ 5.1190 1.0000
+ 5.5631 1.0000
+ 6.0425 1.0000
+ 9.3454 0.0000
+ 9.9129 0.0000
+ 12.0493 0.0000
+ 13.9108 0.0000
+ 14.3729 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7414 1.0000
+ -30.0427 1.0000
+ -30.0185 1.0000
+ -29.9297 1.0000
+ 1.5003 1.0000
+ 2.0569 1.0000
+ 4.6455 1.0000
+ 5.1693 1.0000
+ 5.5995 1.0000
+ 5.8371 1.0000
+ 9.2378 0.0000
+ 9.4800 0.0000
+ 11.9139 0.0000
+ 13.5604 0.0000
+ 14.7551 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7412 1.0000
+ -30.0419 1.0000
+ -30.0289 1.0000
+ -29.9291 1.0000
+ 1.6855 1.0000
+ 2.3977 1.0000
+ 4.3844 1.0000
+ 5.1110 1.0000
+ 5.5521 1.0000
+ 5.8491 1.0000
+ 8.7124 0.0000
+ 9.4831 0.0000
+ 11.3760 0.0000
+ 13.8572 0.0000
+ 14.9892 0.0000
+
+
+ -91.8810 1.0000
+ -91.4261 1.0000
+ -91.2910 1.0000
+ -65.7410 1.0000
+ -30.0411 1.0000
+ -30.0389 1.0000
+ -29.9285 1.0000
+ 1.8550 1.0000
+ 2.8180 1.0000
+ 4.1421 1.0000
+ 4.8462 1.0000
+ 5.6803 1.0000
+ 5.9491 1.0000
+ 8.2154 0.0000
+ 9.5095 0.0000
+ 10.5843 0.0000
+ 14.5072 0.0000
+ 15.0778 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7409 1.0000
+ -30.0467 1.0000
+ -30.0406 1.0000
+ -29.9280 1.0000
+ 1.9950 1.0000
+ 3.2581 1.0000
+ 3.9509 1.0000
+ 4.5226 1.0000
+ 5.8957 1.0000
+ 6.0587 1.0000
+ 7.8278 0.7815
+ 9.4491 0.0000
+ 9.9344 0.0000
+ 15.0260 0.0000
+ 18.3727 0.0000
+
+
+ -91.8815 1.0000
+ -91.4265 1.0000
+ -91.2915 1.0000
+ -65.7408 1.0000
+ -30.0510 1.0000
+ -30.0402 1.0000
+ -29.9277 1.0000
+ 2.0780 1.0000
+ 3.6286 1.0000
+ 3.8595 1.0000
+ 4.2059 1.0000
+ 6.0817 1.0000
+ 6.1302 1.0000
+ 7.6065 1.0000
+ 9.1931 0.0000
+ 9.7385 0.0000
+ 15.0476 0.0000
+ 16.6319 0.0000
+
+
+ -91.8793 1.0000
+ -91.4243 1.0000
+ -91.2893 1.0000
+ -65.7415 1.0000
+ -30.0028 1.0000
+ -29.9802 1.0000
+ -29.9695 1.0000
+ -0.4815 1.0000
+ 3.4597 1.0000
+ 4.4964 1.0000
+ 4.9371 1.0000
+ 5.1831 1.0000
+ 8.4989 0.0000
+ 9.1550 0.0000
+ 10.1399 0.0000
+ 10.4152 0.0000
+ 14.2974 0.0000
+ 14.8308 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2897 1.0000
+ -65.7415 1.0000
+ -30.0050 1.0000
+ -29.9801 1.0000
+ -29.9693 1.0000
+ -0.4342 1.0000
+ 3.4391 1.0000
+ 4.4529 1.0000
+ 4.9676 1.0000
+ 5.2040 1.0000
+ 8.2556 0.0000
+ 9.2125 0.0000
+ 10.0413 0.0000
+ 10.7194 0.0000
+ 14.2965 0.0000
+ 15.1176 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7414 1.0000
+ -30.0112 1.0000
+ -29.9796 1.0000
+ -29.9688 1.0000
+ -0.2928 1.0000
+ 3.3540 1.0000
+ 4.3881 1.0000
+ 5.0261 1.0000
+ 5.2648 1.0000
+ 7.7736 0.9387
+ 9.3605 0.0000
+ 9.8023 0.0000
+ 11.3678 0.0000
+ 13.9531 0.0000
+ 14.9554 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7412 1.0000
+ -30.0203 1.0000
+ -29.9791 1.0000
+ -29.9679 1.0000
+ -0.0672 1.0000
+ 3.1662 1.0000
+ 4.3914 1.0000
+ 5.0790 1.0000
+ 5.3596 1.0000
+ 7.2805 1.0000
+ 9.4059 0.0000
+ 9.6783 0.0000
+ 12.0688 0.0000
+ 13.4792 0.0000
+ 15.2550 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7411 1.0000
+ -30.0306 1.0000
+ -29.9785 1.0000
+ -29.9670 1.0000
+ 0.2282 1.0000
+ 2.8837 1.0000
+ 4.4758 1.0000
+ 5.1145 1.0000
+ 5.4784 1.0000
+ 6.8477 1.0000
+ 9.1811 0.0000
+ 9.8874 0.0000
+ 12.5970 0.0000
+ 12.9048 0.0000
+ 15.2176 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7408 1.0000
+ -30.0404 1.0000
+ -29.9778 1.0000
+ -29.9661 1.0000
+ 0.5762 1.0000
+ 2.5428 1.0000
+ 4.6037 1.0000
+ 5.1264 1.0000
+ 5.6095 1.0000
+ 6.4965 1.0000
+ 9.0211 0.0000
+ 10.1220 0.0000
+ 12.3062 0.0000
+ 12.7724 0.0000
+ 15.5499 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7407 1.0000
+ -30.0482 1.0000
+ -29.9773 1.0000
+ -29.9654 1.0000
+ 0.9542 1.0000
+ 2.1721 1.0000
+ 4.7324 1.0000
+ 5.1121 1.0000
+ 5.7425 1.0000
+ 6.2291 1.0000
+ 8.9691 0.0000
+ 10.3317 0.0000
+ 11.7644 0.0000
+ 12.7021 0.0000
+ 15.1622 0.0000
+
+
+ -91.8793 1.0000
+ -91.4243 1.0000
+ -91.2893 1.0000
+ -65.7406 1.0000
+ -30.0524 1.0000
+ -29.9770 1.0000
+ -29.9649 1.0000
+ 1.3325 1.0000
+ 1.8005 1.0000
+ 4.8244 1.0000
+ 5.0841 1.0000
+ 5.8749 1.0000
+ 6.0344 1.0000
+ 8.9800 0.0000
+ 10.4848 0.0000
+ 11.3991 0.0000
+ 12.6194 0.0000
+ 17.5491 0.0000
+
+
+ -91.8794 1.0000
+ -91.4244 1.0000
+ -91.2894 1.0000
+ -65.7415 1.0000
+ -30.0025 1.0000
+ -29.9799 1.0000
+ -29.9726 1.0000
+ -0.4309 1.0000
+ 3.4495 1.0000
+ 4.4823 1.0000
+ 4.9614 1.0000
+ 5.1769 1.0000
+ 8.1972 0.0000
+ 9.2037 0.0000
+ 10.3016 0.0000
+ 10.5059 0.0000
+ 14.3943 0.0000
+ 15.2824 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7414 1.0000
+ -30.0047 1.0000
+ -29.9798 1.0000
+ -29.9724 1.0000
+ -0.3827 1.0000
+ 3.4372 1.0000
+ 4.4369 1.0000
+ 4.9880 1.0000
+ 5.1943 1.0000
+ 7.9855 0.0733
+ 9.2633 0.0000
+ 10.3201 0.0000
+ 10.6409 0.0000
+ 14.3071 0.0000
+ 15.7382 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7413 1.0000
+ -30.0109 1.0000
+ -29.9795 1.0000
+ -29.9718 1.0000
+ -0.2406 1.0000
+ 3.3744 1.0000
+ 4.3644 1.0000
+ 5.0412 1.0000
+ 5.2443 1.0000
+ 7.5476 1.0000
+ 9.4153 0.0000
+ 10.0599 0.0000
+ 11.2380 0.0000
+ 14.8208 0.0000
+ 16.0819 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7412 1.0000
+ -30.0200 1.0000
+ -29.9789 1.0000
+ -29.9710 1.0000
+ -0.0152 1.0000
+ 3.2090 1.0000
+ 4.3636 1.0000
+ 5.0929 1.0000
+ 5.3207 1.0000
+ 7.0926 1.0000
+ 9.5502 0.0000
+ 9.7938 0.0000
+ 11.8036 0.0000
+ 13.5951 0.0000
+ 14.9192 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7410 1.0000
+ -30.0303 1.0000
+ -29.9783 1.0000
+ -29.9700 1.0000
+ 0.2806 1.0000
+ 2.9377 1.0000
+ 4.4563 1.0000
+ 5.1302 1.0000
+ 5.4164 1.0000
+ 6.6996 1.0000
+ 9.3444 0.0000
+ 9.9025 0.0000
+ 12.0852 0.0000
+ 13.4362 0.0000
+ 15.8291 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7407 1.0000
+ -30.0402 1.0000
+ -29.9776 1.0000
+ -29.9691 1.0000
+ 0.6271 1.0000
+ 2.6012 1.0000
+ 4.5958 1.0000
+ 5.1415 1.0000
+ 5.5298 1.0000
+ 6.3932 1.0000
+ 9.1313 0.0000
+ 10.0660 0.0000
+ 11.8833 0.0000
+ 13.3141 0.0000
+ 15.1866 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7406 1.0000
+ -30.0479 1.0000
+ -29.9771 1.0000
+ -29.9684 1.0000
+ 1.0037 1.0000
+ 2.2324 1.0000
+ 4.7288 1.0000
+ 5.1208 1.0000
+ 5.6641 1.0000
+ 6.1656 1.0000
+ 9.0233 0.0000
+ 10.1524 0.0000
+ 11.6108 0.0000
+ 13.1453 0.0000
+ 15.2752 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2900 1.0000
+ -65.7405 1.0000
+ -30.0521 1.0000
+ -29.9768 1.0000
+ -29.9680 1.0000
+ 1.3741 1.0000
+ 1.8670 1.0000
+ 4.8158 1.0000
+ 5.0875 1.0000
+ 5.8147 1.0000
+ 5.9871 1.0000
+ 8.9976 0.0000
+ 10.1607 0.0000
+ 11.4588 0.0000
+ 13.0058 0.0000
+ 15.0515 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7413 1.0000
+ -30.0017 1.0000
+ -29.9814 1.0000
+ -29.9793 1.0000
+ -0.2798 1.0000
+ 3.3917 1.0000
+ 4.4650 1.0000
+ 5.0319 1.0000
+ 5.1692 1.0000
+ 7.6464 0.9996
+ 9.3147 0.0000
+ 10.0458 0.0000
+ 11.2372 0.0000
+ 14.4922 0.0000
+ 15.3633 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7412 1.0000
+ -30.0039 1.0000
+ -29.9812 1.0000
+ -29.9792 1.0000
+ -0.2318 1.0000
+ 3.4031 1.0000
+ 4.4148 1.0000
+ 5.0453 1.0000
+ 5.1799 1.0000
+ 7.4709 1.0000
+ 9.3790 0.0000
+ 10.2465 0.0000
+ 11.0981 0.0000
+ 14.1220 0.0000
+ 16.8656 0.0000
+
+
+ -91.8797 1.0000
+ -91.4246 1.0000
+ -91.2896 1.0000
+ -65.7411 1.0000
+ -30.0101 1.0000
+ -29.9806 1.0000
+ -29.9788 1.0000
+ -0.0888 1.0000
+ 3.4098 1.0000
+ 4.3128 1.0000
+ 5.0782 1.0000
+ 5.2075 1.0000
+ 7.0931 1.0000
+ 9.5240 0.0000
+ 10.5314 0.0000
+ 10.9313 0.0000
+ 13.8315 0.0000
+ 14.9563 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7410 1.0000
+ -30.0192 1.0000
+ -29.9798 1.0000
+ -29.9782 1.0000
+ 0.1365 1.0000
+ 3.3258 1.0000
+ 4.2788 1.0000
+ 5.1226 1.0000
+ 5.2385 1.0000
+ 6.6994 1.0000
+ 9.6594 0.0000
+ 10.2232 0.0000
+ 11.3212 0.0000
+ 13.9202 0.0000
+ 16.2795 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7408 1.0000
+ -30.0296 1.0000
+ -29.9790 1.0000
+ -29.9776 1.0000
+ 0.4308 1.0000
+ 3.0973 1.0000
+ 4.3838 1.0000
+ 5.1738 1.0000
+ 5.2576 1.0000
+ 6.3799 1.0000
+ 9.6051 0.0000
+ 9.9623 0.0000
+ 11.5706 0.0000
+ 13.6078 0.0000
+ 14.8495 0.0000
+
+
+ -91.8796 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7405 1.0000
+ -30.0394 1.0000
+ -29.9782 1.0000
+ -29.9768 1.0000
+ 0.7749 1.0000
+ 2.7747 1.0000
+ 4.5617 1.0000
+ 5.1803 1.0000
+ 5.3158 1.0000
+ 6.1636 1.0000
+ 9.3464 0.0000
+ 9.8339 0.0000
+ 11.6131 0.0000
+ 13.9966 0.0000
+ 14.7722 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7404 1.0000
+ -30.0472 1.0000
+ -29.9775 1.0000
+ -29.9763 1.0000
+ 1.1431 1.0000
+ 2.4134 1.0000
+ 4.7126 1.0000
+ 5.1290 1.0000
+ 5.4671 1.0000
+ 6.0157 1.0000
+ 9.1396 0.0000
+ 9.6449 0.0000
+ 11.6446 0.0000
+ 14.7531 0.0000
+ 45.4682 0.0000
+
+
+ -91.8802 1.0000
+ -91.4251 1.0000
+ -91.2902 1.0000
+ -65.7404 1.0000
+ -30.0514 1.0000
+ -29.9772 1.0000
+ -29.9760 1.0000
+ 1.4899 1.0000
+ 2.0701 1.0000
+ 4.7840 1.0000
+ 5.0904 1.0000
+ 5.6669 1.0000
+ 5.8686 1.0000
+ 9.0434 0.0000
+ 9.4853 0.0000
+ 11.6814 0.0000
+ 13.7976 0.0000
+ 15.2308 0.0000
+
+
+ -91.8796 1.0000
+ -91.4246 1.0000
+ -91.2896 1.0000
+ -65.7410 1.0000
+ -30.0005 1.0000
+ -29.9942 1.0000
+ -29.9785 1.0000
+ -0.0384 1.0000
+ 3.2400 1.0000
+ 4.4989 1.0000
+ 5.1411 1.0000
+ 5.1734 1.0000
+ 7.1079 1.0000
+ 9.3512 0.0000
+ 9.8771 0.0000
+ 11.9958 0.0000
+ 13.6113 0.0000
+ 21.7136 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7410 1.0000
+ -30.0027 1.0000
+ -29.9940 1.0000
+ -29.9784 1.0000
+ 0.0097 1.0000
+ 3.2752 1.0000
+ 4.4507 1.0000
+ 5.1290 1.0000
+ 5.1813 1.0000
+ 6.9619 1.0000
+ 9.4416 0.0000
+ 10.0172 0.0000
+ 11.7522 0.0000
+ 13.6423 0.0000
+ 14.9614 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7409 1.0000
+ -30.0089 1.0000
+ -29.9935 1.0000
+ -29.9780 1.0000
+ 0.1509 1.0000
+ 3.3699 1.0000
+ 4.3172 1.0000
+ 5.1057 1.0000
+ 5.2032 1.0000
+ 6.6401 1.0000
+ 9.5752 0.0000
+ 10.3957 0.0000
+ 11.2701 0.0000
+ 13.5268 0.0000
+ 14.8940 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7407 1.0000
+ -30.0180 1.0000
+ -29.9927 1.0000
+ -29.9775 1.0000
+ 0.3757 1.0000
+ 3.4547 1.0000
+ 4.1789 1.0000
+ 5.0808 1.0000
+ 5.2321 1.0000
+ 6.3094 1.0000
+ 9.5872 0.0000
+ 10.6701 0.0000
+ 10.9785 0.0000
+ 13.3361 0.0000
+ 16.3021 0.0000
+
+
+ -91.8798 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7405 1.0000
+ -30.0284 1.0000
+ -29.9918 1.0000
+ -29.9768 1.0000
+ 0.6661 1.0000
+ 3.3528 1.0000
+ 4.2329 1.0000
+ 5.0410 1.0000
+ 5.2587 1.0000
+ 6.0667 1.0000
+ 9.4049 0.0000
+ 10.2926 0.0000
+ 11.3119 0.0000
+ 13.8752 0.0000
+ 38.4800 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7403 1.0000
+ -30.0384 1.0000
+ -29.9910 1.0000
+ -29.9762 1.0000
+ 1.0012 1.0000
+ 3.0611 1.0000
+ 4.4746 1.0000
+ 4.9804 1.0000
+ 5.2893 1.0000
+ 5.9349 1.0000
+ 9.1205 0.0000
+ 9.8404 0.0000
+ 11.5936 0.0000
+ 13.6823 0.0000
+ 15.1706 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7401 1.0000
+ -30.0461 1.0000
+ -29.9903 1.0000
+ -29.9758 1.0000
+ 1.3562 1.0000
+ 2.7118 1.0000
+ 4.6771 1.0000
+ 4.9797 1.0000
+ 5.3623 1.0000
+ 5.8533 1.0000
+ 8.8711 0.0000
+ 9.4054 0.0000
+ 11.8042 0.0000
+ 14.1600 0.0000
+ 14.8362 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7401 1.0000
+ -30.0504 1.0000
+ -29.9899 1.0000
+ -29.9755 1.0000
+ 1.6624 1.0000
+ 2.4033 1.0000
+ 4.7026 1.0000
+ 5.0589 1.0000
+ 5.5288 1.0000
+ 5.7361 1.0000
+ 8.7332 0.0000
+ 9.1257 0.0000
+ 11.9246 0.0000
+ 14.4000 0.0000
+ 14.8474 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7407 1.0000
+ -30.0089 1.0000
+ -29.9991 1.0000
+ -29.9776 1.0000
+ 0.2750 1.0000
+ 2.9834 1.0000
+ 4.6018 1.0000
+ 5.1861 1.0000
+ 5.2760 1.0000
+ 6.6473 1.0000
+ 9.2218 0.0000
+ 9.9612 0.0000
+ 12.7917 0.0000
+ 14.6660 0.0000
+ 37.0432 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7407 1.0000
+ -30.0087 1.0000
+ -30.0013 1.0000
+ -29.9775 1.0000
+ 0.3237 1.0000
+ 3.0324 1.0000
+ 4.5699 1.0000
+ 5.1962 1.0000
+ 5.2285 1.0000
+ 6.5349 1.0000
+ 9.3249 0.0000
+ 10.0206 0.0000
+ 12.0589 0.0000
+ 13.6356 0.0000
+ 16.3395 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7406 1.0000
+ -30.0082 1.0000
+ -30.0075 1.0000
+ -29.9771 1.0000
+ 0.4629 1.0000
+ 3.1773 1.0000
+ 4.4588 1.0000
+ 5.1107 1.0000
+ 5.2302 1.0000
+ 6.2832 1.0000
+ 9.4510 0.0000
+ 10.2180 0.0000
+ 11.5408 0.0000
+ 13.5178 0.0000
+ 14.9785 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7404 1.0000
+ -30.0167 1.0000
+ -30.0075 1.0000
+ -29.9766 1.0000
+ 0.6833 1.0000
+ 3.4070 1.0000
+ 4.2516 1.0000
+ 4.9747 1.0000
+ 5.2836 1.0000
+ 6.0299 1.0000
+ 9.3115 0.0000
+ 10.5371 0.0000
+ 11.2041 0.0000
+ 13.5198 0.0000
+ 16.1069 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7402 1.0000
+ -30.0271 1.0000
+ -30.0066 1.0000
+ -29.9760 1.0000
+ 0.9662 1.0000
+ 3.6247 1.0000
+ 4.0527 1.0000
+ 4.8364 1.0000
+ 5.3481 1.0000
+ 5.8553 1.0000
+ 8.9510 0.0000
+ 10.5646 0.0000
+ 11.1623 0.0000
+ 13.2954 0.0000
+ 15.4682 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7400 1.0000
+ -30.0371 1.0000
+ -30.0058 1.0000
+ -29.9754 1.0000
+ 1.2872 1.0000
+ 3.4438 1.0000
+ 4.2743 1.0000
+ 4.7030 1.0000
+ 5.4051 1.0000
+ 5.7716 1.0000
+ 8.5488 0.0000
+ 10.0763 0.0000
+ 11.4481 0.0000
+ 13.4035 0.0000
+ 15.3922 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7398 1.0000
+ -30.0450 1.0000
+ -30.0051 1.0000
+ -29.9749 1.0000
+ 1.6159 1.0000
+ 3.1051 1.0000
+ 4.5944 1.0000
+ 4.6676 1.0000
+ 5.4494 1.0000
+ 5.7286 1.0000
+ 8.2204 0.0000
+ 9.5427 0.0000
+ 11.6960 0.0000
+ 13.7216 0.0000
+ 15.3053 0.0000
+
+
+ -91.8805 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7398 1.0000
+ -30.0492 1.0000
+ -30.0047 1.0000
+ -29.9747 1.0000
+ 1.8783 1.0000
+ 2.8300 1.0000
+ 4.5354 1.0000
+ 4.9641 1.0000
+ 5.5125 1.0000
+ 5.6496 1.0000
+ 8.0373 0.0144
+ 9.1984 0.0000
+ 11.8323 0.0000
+ 13.9270 0.0000
+ 15.3527 0.0000
+
+
+ -91.8801 1.0000
+ -91.4252 1.0000
+ -91.2901 1.0000
+ -65.7404 1.0000
+ -30.0228 1.0000
+ -29.9977 1.0000
+ -29.9766 1.0000
+ 0.6424 1.0000
+ 2.6545 1.0000
+ 4.7408 1.0000
+ 5.1925 1.0000
+ 5.4185 1.0000
+ 6.2853 1.0000
+ 9.1528 0.0000
+ 10.1154 0.0000
+ 12.2959 0.0000
+ 12.6644 0.0000
+ 15.1835 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2910 1.0000
+ -65.7404 1.0000
+ -30.0228 1.0000
+ -30.0000 1.0000
+ -29.9766 1.0000
+ 0.6883 1.0000
+ 2.7077 1.0000
+ 4.7264 1.0000
+ 5.2034 1.0000
+ 5.3412 1.0000
+ 6.2150 1.0000
+ 9.2183 0.0000
+ 10.0975 0.0000
+ 11.8514 0.0000
+ 13.2505 0.0000
+ 15.4538 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7403 1.0000
+ -30.0223 1.0000
+ -30.0062 1.0000
+ -29.9762 1.0000
+ 0.8257 1.0000
+ 2.8686 1.0000
+ 4.6756 1.0000
+ 5.1155 1.0000
+ 5.2552 1.0000
+ 6.0553 1.0000
+ 9.2590 0.0000
+ 10.0607 0.0000
+ 11.5620 0.0000
+ 14.3861 0.0000
+ 15.3778 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7401 1.0000
+ -30.0215 1.0000
+ -30.0154 1.0000
+ -29.9757 1.0000
+ 1.0393 1.0000
+ 3.1357 1.0000
+ 4.5429 1.0000
+ 4.8526 1.0000
+ 5.3235 1.0000
+ 5.8912 1.0000
+ 8.9678 0.0000
+ 10.1859 0.0000
+ 11.4775 0.0000
+ 13.5169 0.0000
+ 15.2678 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7399 1.0000
+ -30.0259 1.0000
+ -30.0207 1.0000
+ -29.9751 1.0000
+ 1.3079 1.0000
+ 3.4975 1.0000
+ 4.2537 1.0000
+ 4.6695 1.0000
+ 5.4215 1.0000
+ 5.7678 1.0000
+ 8.4790 0.0000
+ 10.3583 0.0000
+ 11.2562 0.0000
+ 13.7957 0.0000
+ 15.4576 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2903 1.0000
+ -65.7397 1.0000
+ -30.0359 1.0000
+ -30.0199 1.0000
+ -29.9745 1.0000
+ 1.6071 1.0000
+ 3.8504 1.0000
+ 3.9497 1.0000
+ 4.5723 1.0000
+ 5.5290 1.0000
+ 5.6928 1.0000
+ 7.9970 0.0531
+ 10.1882 0.0000
+ 11.0596 0.0000
+ 13.6172 0.0000
+ 15.4580 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7395 1.0000
+ -30.0438 1.0000
+ -30.0193 1.0000
+ -29.9740 1.0000
+ 1.9028 1.0000
+ 3.5236 1.0000
+ 4.2368 1.0000
+ 4.6294 1.0000
+ 5.6020 1.0000
+ 5.6607 1.0000
+ 7.6208 0.9999
+ 9.6622 0.0000
+ 11.1234 0.0000
+ 13.9670 0.0000
+ 15.5268 0.0000
+
+
+ -91.8808 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7395 1.0000
+ -30.0481 1.0000
+ -30.0189 1.0000
+ -29.9738 1.0000
+ 2.1226 1.0000
+ 3.2739 1.0000
+ 4.2868 1.0000
+ 4.8744 1.0000
+ 5.6116 1.0000
+ 5.6455 1.0000
+ 7.4201 1.0000
+ 9.2695 0.0000
+ 11.1923 0.0000
+ 14.0391 0.0000
+ 15.3789 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7402 1.0000
+ -30.0338 1.0000
+ -29.9968 1.0000
+ -29.9759 1.0000
+ 1.0386 1.0000
+ 2.2838 1.0000
+ 4.8741 1.0000
+ 5.1768 1.0000
+ 5.5479 1.0000
+ 6.0278 1.0000
+ 9.2474 0.0000
+ 10.2163 0.0000
+ 11.7129 0.0000
+ 12.5232 0.0000
+ 15.0058 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7401 1.0000
+ -30.0336 1.0000
+ -29.9990 1.0000
+ -29.9758 1.0000
+ 1.0849 1.0000
+ 2.3392 1.0000
+ 4.8595 1.0000
+ 5.1791 1.0000
+ 5.4792 1.0000
+ 5.9945 1.0000
+ 9.2635 0.0000
+ 10.0727 0.0000
+ 11.5584 0.0000
+ 12.9761 0.0000
+ 14.9006 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7400 1.0000
+ -30.0331 1.0000
+ -30.0052 1.0000
+ -29.9755 1.0000
+ 1.2159 1.0000
+ 2.5063 1.0000
+ 4.8118 1.0000
+ 5.1287 1.0000
+ 5.3567 1.0000
+ 5.9132 1.0000
+ 9.1604 0.0000
+ 9.8071 0.0000
+ 11.5723 0.0000
+ 13.7995 0.0000
+ 14.5522 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7399 1.0000
+ -30.0325 1.0000
+ -30.0144 1.0000
+ -29.9750 1.0000
+ 1.4162 1.0000
+ 2.7831 1.0000
+ 4.7111 1.0000
+ 4.9082 1.0000
+ 5.3719 1.0000
+ 5.8226 1.0000
+ 8.6841 0.0000
+ 9.8145 0.0000
+ 11.6802 0.0000
+ 13.7580 0.0000
+ 15.0949 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7397 1.0000
+ -30.0317 1.0000
+ -30.0249 1.0000
+ -29.9744 1.0000
+ 1.6606 1.0000
+ 3.1538 1.0000
+ 4.4685 1.0000
+ 4.7356 1.0000
+ 5.4606 1.0000
+ 5.7551 1.0000
+ 8.0965 0.0013
+ 9.9238 0.0000
+ 11.4526 0.0000
+ 13.4892 0.0000
+ 15.4328 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7394 1.0000
+ -30.0350 1.0000
+ -30.0309 1.0000
+ -29.9738 1.0000
+ 1.9273 1.0000
+ 3.5628 1.0000
+ 4.1380 1.0000
+ 4.6730 1.0000
+ 5.5708 1.0000
+ 5.7308 1.0000
+ 7.5590 1.0000
+ 9.9659 0.0000
+ 10.8523 0.0000
+ 14.1412 0.0000
+ 15.3603 0.0000
+
+
+ -91.8813 1.0000
+ -91.4263 1.0000
+ -91.2912 1.0000
+ -65.7394 1.0000
+ -30.0429 1.0000
+ -30.0304 1.0000
+ -29.9734 1.0000
+ 2.1834 1.0000
+ 3.8283 1.0000
+ 3.8862 1.0000
+ 4.7204 1.0000
+ 5.6527 1.0000
+ 5.7690 1.0000
+ 7.1423 1.0000
+ 9.7054 0.0000
+ 10.4694 0.0000
+ 14.5817 0.0000
+ 17.9482 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2912 1.0000
+ -65.7393 1.0000
+ -30.0472 1.0000
+ -30.0300 1.0000
+ -29.9732 1.0000
+ 2.3655 1.0000
+ 3.6194 1.0000
+ 4.0214 1.0000
+ 4.8461 1.0000
+ 5.7172 1.0000
+ 5.7917 1.0000
+ 6.9188 1.0000
+ 9.3231 0.0000
+ 10.4174 0.0000
+ 14.4421 0.0000
+ 15.8976 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7400 1.0000
+ -30.0397 1.0000
+ -29.9962 1.0000
+ -29.9755 1.0000
+ 1.4380 1.0000
+ 1.9003 1.0000
+ 4.9695 1.0000
+ 5.1428 1.0000
+ 5.6423 1.0000
+ 5.8766 1.0000
+ 9.4326 0.0000
+ 10.2038 0.0000
+ 11.3534 0.0000
+ 12.4003 0.0000
+ 15.1798 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7400 1.0000
+ -30.0396 1.0000
+ -29.9984 1.0000
+ -29.9754 1.0000
+ 1.4775 1.0000
+ 1.9610 1.0000
+ 4.9344 1.0000
+ 5.1436 1.0000
+ 5.6222 1.0000
+ 5.8407 1.0000
+ 9.4328 0.0000
+ 9.9118 0.0000
+ 11.4086 0.0000
+ 12.7786 0.0000
+ 14.7529 0.0000
+
+
+ -91.8802 1.0000
+ -91.4253 1.0000
+ -91.2902 1.0000
+ -65.7399 1.0000
+ -30.0391 1.0000
+ -30.0046 1.0000
+ -29.9751 1.0000
+ 1.5884 1.0000
+ 2.1473 1.0000
+ 4.8263 1.0000
+ 5.1395 1.0000
+ 5.5663 1.0000
+ 5.7671 1.0000
+ 9.1881 0.0000
+ 9.5548 0.0000
+ 11.6103 0.0000
+ 13.5641 0.0000
+ 14.7151 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2902 1.0000
+ -65.7397 1.0000
+ -30.0384 1.0000
+ -30.0138 1.0000
+ -29.9746 1.0000
+ 1.7510 1.0000
+ 2.4554 1.0000
+ 4.6493 1.0000
+ 5.1054 1.0000
+ 5.5016 1.0000
+ 5.7219 1.0000
+ 8.5259 0.0000
+ 9.5738 0.0000
+ 11.7986 0.0000
+ 14.0607 0.0000
+ 14.5081 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2904 1.0000
+ -65.7395 1.0000
+ -30.0377 1.0000
+ -30.0244 1.0000
+ -29.9740 1.0000
+ 1.9503 1.0000
+ 2.8575 1.0000
+ 4.4232 1.0000
+ 5.0190 1.0000
+ 5.4953 1.0000
+ 5.7259 1.0000
+ 7.8787 0.5228
+ 9.6218 0.0000
+ 11.5688 0.0000
+ 13.6440 0.0000
+ 15.2299 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7393 1.0000
+ -30.0369 1.0000
+ -30.0345 1.0000
+ -29.9735 1.0000
+ 2.1724 1.0000
+ 3.2887 1.0000
+ 4.1759 1.0000
+ 4.9222 1.0000
+ 5.5665 1.0000
+ 5.7737 1.0000
+ 7.3144 1.0000
+ 9.6562 0.0000
+ 10.8484 0.0000
+ 13.8758 0.0000
+ 15.6076 0.0000
+
+
+ -91.8813 1.0000
+ -91.4263 1.0000
+ -91.2913 1.0000
+ -65.7392 1.0000
+ -30.0424 1.0000
+ -30.0364 1.0000
+ -29.9731 1.0000
+ 2.3889 1.0000
+ 3.6451 1.0000
+ 3.9430 1.0000
+ 4.8684 1.0000
+ 5.6997 1.0000
+ 5.8611 1.0000
+ 6.8688 1.0000
+ 9.6086 0.0000
+ 10.1393 0.0000
+ 15.1730 0.0000
+ 16.3079 0.0000
+
+
+ -91.8813 1.0000
+ -91.4263 1.0000
+ -91.2913 1.0000
+ -65.7391 1.0000
+ -30.0467 1.0000
+ -30.0360 1.0000
+ -29.9728 1.0000
+ 2.5397 1.0000
+ 3.7856 1.0000
+ 3.8326 1.0000
+ 4.8610 1.0000
+ 5.8430 1.0000
+ 5.9453 1.0000
+ 6.5965 1.0000
+ 9.3465 0.0000
+ 9.8978 0.0000
+ 15.1892 0.0000
+ 16.2199 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2900 1.0000
+ -65.7403 1.0000
+ -30.0144 1.0000
+ -29.9990 1.0000
+ -29.9656 1.0000
+ 0.0785 1.0000
+ 2.7125 1.0000
+ 4.5094 1.0000
+ 4.6940 1.0000
+ 4.9214 1.0000
+ 8.5745 0.0000
+ 10.1269 0.0000
+ 10.5365 0.0000
+ 10.8704 0.0000
+ 13.9768 0.0000
+ 14.6979 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7402 1.0000
+ -30.0143 1.0000
+ -30.0012 1.0000
+ -29.9654 1.0000
+ 0.1273 1.0000
+ 2.6983 1.0000
+ 4.4779 1.0000
+ 4.7369 1.0000
+ 4.9443 1.0000
+ 8.3529 0.0000
+ 10.1419 0.0000
+ 10.4344 0.0000
+ 11.1645 0.0000
+ 13.6110 0.0000
+ 14.5556 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7401 1.0000
+ -30.0140 1.0000
+ -30.0074 1.0000
+ -29.9649 1.0000
+ 0.2683 1.0000
+ 2.6518 1.0000
+ 4.4352 1.0000
+ 4.8169 1.0000
+ 5.0107 1.0000
+ 7.8922 0.4469
+ 10.1231 0.0000
+ 10.2307 0.0000
+ 11.8214 0.0000
+ 13.2548 0.0000
+ 14.5906 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7399 1.0000
+ -30.0165 1.0000
+ -30.0135 1.0000
+ -29.9640 1.0000
+ 0.4880 1.0000
+ 2.5740 1.0000
+ 4.4223 1.0000
+ 4.8957 1.0000
+ 5.1141 1.0000
+ 7.4082 1.0000
+ 9.8145 0.0000
+ 10.2589 0.0000
+ 12.5295 0.0000
+ 12.7207 0.0000
+ 14.5641 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7397 1.0000
+ -30.0269 1.0000
+ -30.0129 1.0000
+ -29.9631 1.0000
+ 0.7614 1.0000
+ 2.4691 1.0000
+ 4.4450 1.0000
+ 4.9606 1.0000
+ 5.2429 1.0000
+ 6.9802 1.0000
+ 9.4992 0.0000
+ 10.2989 0.0000
+ 12.2571 0.0000
+ 12.7704 0.0000
+ 14.6183 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7395 1.0000
+ -30.0369 1.0000
+ -30.0123 1.0000
+ -29.9621 1.0000
+ 1.0553 1.0000
+ 2.3467 1.0000
+ 4.4910 1.0000
+ 5.0061 1.0000
+ 5.3805 1.0000
+ 6.6366 1.0000
+ 9.2609 0.0000
+ 10.3038 0.0000
+ 11.8735 0.0000
+ 12.5601 0.0000
+ 15.5151 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7394 1.0000
+ -30.0447 1.0000
+ -30.0119 1.0000
+ -29.9614 1.0000
+ 1.3266 1.0000
+ 2.2198 1.0000
+ 4.5371 1.0000
+ 5.0314 1.0000
+ 5.5048 1.0000
+ 6.3900 1.0000
+ 9.1261 0.0000
+ 10.2612 0.0000
+ 11.5989 0.0000
+ 12.2895 0.0000
+ 15.2894 0.0000
+
+
+ -91.8792 1.0000
+ -91.4242 1.0000
+ -91.2892 1.0000
+ -65.7392 1.0000
+ -30.0489 1.0000
+ -30.0116 1.0000
+ -29.9610 1.0000
+ 1.5141 1.0000
+ 2.1185 1.0000
+ 4.5650 1.0000
+ 5.0425 1.0000
+ 5.5850 1.0000
+ 6.2547 1.0000
+ 9.0783 0.0000
+ 10.2059 0.0000
+ 11.4660 0.0000
+ 12.1310 0.0000
+ 14.9984 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7402 1.0000
+ -30.0143 1.0000
+ -29.9987 1.0000
+ -29.9687 1.0000
+ 0.1308 1.0000
+ 2.7052 1.0000
+ 4.5062 1.0000
+ 4.7211 1.0000
+ 4.9341 1.0000
+ 8.2944 0.0000
+ 10.1322 0.0000
+ 10.7510 0.0000
+ 10.8939 0.0000
+ 14.0685 0.0000
+ 19.2975 0.0000
+
+
+ -91.8799 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7402 1.0000
+ -30.0141 1.0000
+ -30.0009 1.0000
+ -29.9685 1.0000
+ 0.1799 1.0000
+ 2.6961 1.0000
+ 4.4700 1.0000
+ 4.7546 1.0000
+ 4.9662 1.0000
+ 8.0964 0.0013
+ 10.1465 0.0000
+ 10.7223 0.0000
+ 11.0608 0.0000
+ 13.4843 0.0000
+ 14.7098 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7400 1.0000
+ -30.0138 1.0000
+ -30.0071 1.0000
+ -29.9680 1.0000
+ 0.3214 1.0000
+ 2.6647 1.0000
+ 4.4164 1.0000
+ 4.8132 1.0000
+ 5.0527 1.0000
+ 7.6707 0.9986
+ 10.1672 0.0000
+ 10.4384 0.0000
+ 11.6127 0.0000
+ 13.1255 0.0000
+ 15.0675 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7399 1.0000
+ -30.0163 1.0000
+ -30.0133 1.0000
+ -29.9671 1.0000
+ 0.5403 1.0000
+ 2.6055 1.0000
+ 4.3962 1.0000
+ 4.8703 1.0000
+ 5.1699 1.0000
+ 7.2169 1.0000
+ 9.9996 0.0000
+ 10.2485 0.0000
+ 11.9915 0.0000
+ 13.4963 0.0000
+ 14.9307 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7397 1.0000
+ -30.0266 1.0000
+ -30.0127 1.0000
+ -29.9662 1.0000
+ 0.8138 1.0000
+ 2.5179 1.0000
+ 4.4217 1.0000
+ 4.9184 1.0000
+ 5.2999 1.0000
+ 6.8210 1.0000
+ 9.6472 0.0000
+ 10.2064 0.0000
+ 11.8412 0.0000
+ 13.2636 0.0000
+ 14.4602 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7395 1.0000
+ -30.0366 1.0000
+ -30.0121 1.0000
+ -29.9653 1.0000
+ 1.1061 1.0000
+ 2.4089 1.0000
+ 4.4770 1.0000
+ 4.9499 1.0000
+ 5.4309 1.0000
+ 6.5164 1.0000
+ 9.3564 0.0000
+ 10.0920 0.0000
+ 11.6293 0.0000
+ 13.0657 0.0000
+ 15.1621 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7393 1.0000
+ -30.0444 1.0000
+ -30.0117 1.0000
+ -29.9646 1.0000
+ 1.3737 1.0000
+ 2.2928 1.0000
+ 4.5311 1.0000
+ 4.9651 1.0000
+ 5.5497 1.0000
+ 6.3103 1.0000
+ 9.1728 0.0000
+ 9.9154 0.0000
+ 11.5234 0.0000
+ 12.7770 0.0000
+ 15.3120 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7392 1.0000
+ -30.0487 1.0000
+ -30.0114 1.0000
+ -29.9642 1.0000
+ 1.5535 1.0000
+ 2.2004 1.0000
+ 4.5595 1.0000
+ 4.9718 1.0000
+ 5.6296 1.0000
+ 6.2011 1.0000
+ 9.0958 0.0000
+ 9.7761 0.0000
+ 11.4975 0.0000
+ 12.5932 0.0000
+ 15.0907 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7400 1.0000
+ -30.0138 1.0000
+ -29.9979 1.0000
+ -29.9775 1.0000
+ 0.2825 1.0000
+ 2.6761 1.0000
+ 4.5064 1.0000
+ 4.8000 1.0000
+ 4.9688 1.0000
+ 7.7564 0.9630
+ 10.1137 0.0000
+ 10.4867 0.0000
+ 11.6479 0.0000
+ 13.3919 0.0000
+ 14.4508 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7400 1.0000
+ -30.0137 1.0000
+ -30.0001 1.0000
+ -29.9773 1.0000
+ 0.3313 1.0000
+ 2.6826 1.0000
+ 4.4604 1.0000
+ 4.8061 1.0000
+ 5.0256 1.0000
+ 7.5867 1.0000
+ 10.1283 0.0000
+ 10.6729 0.0000
+ 11.4680 0.0000
+ 13.1394 0.0000
+ 14.3328 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2897 1.0000
+ -65.7398 1.0000
+ -30.0133 1.0000
+ -30.0063 1.0000
+ -29.9768 1.0000
+ 0.4736 1.0000
+ 2.6942 1.0000
+ 4.3753 1.0000
+ 4.8323 1.0000
+ 5.1415 1.0000
+ 7.2084 1.0000
+ 10.1072 0.0000
+ 10.9314 0.0000
+ 11.2329 0.0000
+ 12.9608 0.0000
+ 14.6853 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2900 1.0000
+ -65.7397 1.0000
+ -30.0155 1.0000
+ -30.0128 1.0000
+ -29.9760 1.0000
+ 0.6917 1.0000
+ 2.6939 1.0000
+ 4.3211 1.0000
+ 4.8693 1.0000
+ 5.2665 1.0000
+ 6.8005 1.0000
+ 9.9630 0.0000
+ 10.5675 0.0000
+ 11.4806 0.0000
+ 13.0652 0.0000
+ 14.4338 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7395 1.0000
+ -30.0259 1.0000
+ -30.0122 1.0000
+ -29.9751 1.0000
+ 0.9628 1.0000
+ 2.6633 1.0000
+ 4.3343 1.0000
+ 4.8939 1.0000
+ 5.3859 1.0000
+ 6.4620 1.0000
+ 9.6578 0.0000
+ 10.1908 0.0000
+ 11.5257 0.0000
+ 13.6164 0.0000
+ 15.5505 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7393 1.0000
+ -30.0359 1.0000
+ -30.0116 1.0000
+ -29.9742 1.0000
+ 1.2487 1.0000
+ 2.5974 1.0000
+ 4.4087 1.0000
+ 4.8823 1.0000
+ 5.5018 1.0000
+ 6.2380 1.0000
+ 9.3183 0.0000
+ 9.7979 0.0000
+ 11.5299 0.0000
+ 13.8800 0.0000
+ 14.6587 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7391 1.0000
+ -30.0437 1.0000
+ -30.0112 1.0000
+ -29.9735 1.0000
+ 1.5051 1.0000
+ 2.5119 1.0000
+ 4.4950 1.0000
+ 4.8424 1.0000
+ 5.6205 1.0000
+ 6.1187 1.0000
+ 9.0647 0.0000
+ 9.4200 0.0000
+ 11.5701 0.0000
+ 13.6103 0.0000
+ 15.8073 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7390 1.0000
+ -30.0480 1.0000
+ -30.0110 1.0000
+ -29.9731 1.0000
+ 1.6705 1.0000
+ 2.4419 1.0000
+ 4.5400 1.0000
+ 4.8182 1.0000
+ 5.7164 1.0000
+ 6.0601 1.0000
+ 8.9498 0.0000
+ 9.1654 0.0000
+ 11.6090 0.0000
+ 13.4604 0.0000
+ 15.4612 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7397 1.0000
+ -30.0130 1.0000
+ -29.9967 1.0000
+ -29.9905 1.0000
+ 0.5171 1.0000
+ 2.6203 1.0000
+ 4.5293 1.0000
+ 4.9234 1.0000
+ 5.0169 1.0000
+ 7.2171 1.0000
+ 9.9208 0.0000
+ 10.3388 0.0000
+ 12.4204 0.0000
+ 12.7407 0.0000
+ 14.2892 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7397 1.0000
+ -30.0129 1.0000
+ -29.9989 1.0000
+ -29.9903 1.0000
+ 0.5656 1.0000
+ 2.6459 1.0000
+ 4.4784 1.0000
+ 4.8801 1.0000
+ 5.1125 1.0000
+ 7.0689 1.0000
+ 9.9752 0.0000
+ 10.4280 0.0000
+ 12.5187 0.0000
+ 32.9739 0.0000
+ 35.7387 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7396 1.0000
+ -30.0125 1.0000
+ -30.0051 1.0000
+ -29.9898 1.0000
+ 0.7061 1.0000
+ 2.7176 1.0000
+ 4.3568 1.0000
+ 4.8822 1.0000
+ 5.2415 1.0000
+ 6.7298 1.0000
+ 9.8871 0.0000
+ 10.7646 0.0000
+ 11.4466 0.0000
+ 14.5915 0.0000
+ 38.5493 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2900 1.0000
+ -65.7394 1.0000
+ -30.0143 1.0000
+ -30.0120 1.0000
+ -29.9890 1.0000
+ 0.9230 1.0000
+ 2.8144 1.0000
+ 4.2395 1.0000
+ 4.9255 1.0000
+ 5.3419 1.0000
+ 6.3667 1.0000
+ 9.5538 0.0000
+ 11.0084 0.0000
+ 11.1693 0.0000
+ 13.0107 0.0000
+ 14.8133 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7392 1.0000
+ -30.0248 1.0000
+ -30.0115 1.0000
+ -29.9881 1.0000
+ 1.1884 1.0000
+ 2.8932 1.0000
+ 4.1953 1.0000
+ 4.9555 1.0000
+ 5.3985 1.0000
+ 6.1037 1.0000
+ 9.0980 0.0000
+ 10.5664 0.0000
+ 11.4010 0.0000
+ 13.2814 0.0000
+ 14.7039 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7390 1.0000
+ -30.0349 1.0000
+ -30.0110 1.0000
+ -29.9873 1.0000
+ 1.4648 1.0000
+ 2.9108 1.0000
+ 4.2604 1.0000
+ 4.8930 1.0000
+ 5.4670 1.0000
+ 5.9927 1.0000
+ 8.6547 0.0000
+ 10.0335 0.0000
+ 11.5522 0.0000
+ 13.8640 0.0000
+ 14.7888 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7389 1.0000
+ -30.0427 1.0000
+ -30.0105 1.0000
+ -29.9866 1.0000
+ 1.7087 1.0000
+ 2.8704 1.0000
+ 4.3914 1.0000
+ 4.7599 1.0000
+ 5.6061 1.0000
+ 5.9584 1.0000
+ 8.3087 0.0000
+ 9.5375 0.0000
+ 11.6648 0.0000
+ 14.4457 0.0000
+ 14.7936 0.0000
+
+
+ -91.8810 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7388 1.0000
+ -30.0470 1.0000
+ -30.0104 1.0000
+ -29.9863 1.0000
+ 1.8594 1.0000
+ 2.8218 1.0000
+ 4.4916 1.0000
+ 4.6640 1.0000
+ 5.7708 1.0000
+ 5.9044 1.0000
+ 8.1176 0.0004
+ 9.2281 0.0000
+ 11.7299 0.0000
+ 14.3458 0.0000
+ 15.1540 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7395 1.0000
+ -30.0121 1.0000
+ -30.0053 1.0000
+ -29.9953 1.0000
+ 0.8079 1.0000
+ 2.5334 1.0000
+ 4.5838 1.0000
+ 5.0666 1.0000
+ 5.0783 1.0000
+ 6.7500 1.0000
+ 9.6333 0.0000
+ 10.3108 0.0000
+ 12.2505 0.0000
+ 12.6826 0.0000
+ 14.7554 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7394 1.0000
+ -30.0120 1.0000
+ -30.0051 1.0000
+ -29.9975 1.0000
+ 0.8563 1.0000
+ 2.5778 1.0000
+ 4.5415 1.0000
+ 4.9542 1.0000
+ 5.2219 1.0000
+ 6.6261 1.0000
+ 9.6800 0.0000
+ 10.3030 0.0000
+ 11.8282 0.0000
+ 13.2292 0.0000
+ 14.7293 0.0000
+
+
+ -91.8806 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7393 1.0000
+ -30.0117 1.0000
+ -30.0046 1.0000
+ -30.0037 1.0000
+ 0.9944 1.0000
+ 2.7079 1.0000
+ 4.4058 1.0000
+ 4.9318 1.0000
+ 5.3400 1.0000
+ 6.3377 1.0000
+ 9.5130 0.0000
+ 10.4672 0.0000
+ 11.4998 0.0000
+ 13.8778 0.0000
+ 18.0925 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7391 1.0000
+ -30.0130 1.0000
+ -30.0112 1.0000
+ -30.0039 1.0000
+ 1.2055 1.0000
+ 2.9156 1.0000
+ 4.2276 1.0000
+ 4.9929 1.0000
+ 5.3616 1.0000
+ 6.0549 1.0000
+ 9.0232 0.0000
+ 10.8076 0.0000
+ 11.3166 0.0000
+ 13.1705 0.0000
+ 14.8540 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7389 1.0000
+ -30.0235 1.0000
+ -30.0107 1.0000
+ -30.0030 1.0000
+ 1.4620 1.0000
+ 3.1623 1.0000
+ 4.0828 1.0000
+ 5.0864 1.0000
+ 5.2214 1.0000
+ 5.9363 1.0000
+ 8.4563 0.0000
+ 10.8355 0.0000
+ 11.2520 0.0000
+ 13.1419 0.0000
+ 15.5800 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7387 1.0000
+ -30.0336 1.0000
+ -30.0102 1.0000
+ -30.0022 1.0000
+ 1.7297 1.0000
+ 3.3337 1.0000
+ 4.0790 1.0000
+ 4.9123 1.0000
+ 5.2921 1.0000
+ 5.9385 1.0000
+ 7.9391 0.2131
+ 10.2850 0.0000
+ 11.4643 0.0000
+ 13.4225 0.0000
+ 15.4710 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7386 1.0000
+ -30.0415 1.0000
+ -30.0098 1.0000
+ -30.0016 1.0000
+ 1.9664 1.0000
+ 3.3331 1.0000
+ 4.2564 1.0000
+ 4.6894 1.0000
+ 5.4784 1.0000
+ 5.9482 1.0000
+ 7.5447 1.0000
+ 9.6945 0.0000
+ 11.6252 0.0000
+ 13.7684 0.0000
+ 15.1176 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7385 1.0000
+ -30.0458 1.0000
+ -30.0096 1.0000
+ -30.0012 1.0000
+ 2.1159 1.0000
+ 3.2777 1.0000
+ 4.4136 1.0000
+ 4.5730 1.0000
+ 5.6529 1.0000
+ 5.9143 1.0000
+ 7.3340 1.0000
+ 9.3087 0.0000
+ 11.7152 0.0000
+ 14.2992 0.0000
+ 15.1018 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7391 1.0000
+ -30.0194 1.0000
+ -30.0113 1.0000
+ -29.9940 1.0000
+ 1.1188 1.0000
+ 2.4225 1.0000
+ 4.6599 1.0000
+ 5.1059 1.0000
+ 5.2458 1.0000
+ 6.3781 1.0000
+ 9.4462 0.0000
+ 10.2515 0.0000
+ 11.8462 0.0000
+ 12.3849 0.0000
+ 15.2872 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7391 1.0000
+ -30.0192 1.0000
+ -30.0112 1.0000
+ -29.9962 1.0000
+ 1.1663 1.0000
+ 2.4798 1.0000
+ 4.6338 1.0000
+ 5.0065 1.0000
+ 5.3465 1.0000
+ 6.2884 1.0000
+ 9.4413 0.0000
+ 10.1362 0.0000
+ 11.5983 0.0000
+ 12.9221 0.0000
+ 14.9830 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7390 1.0000
+ -30.0187 1.0000
+ -30.0108 1.0000
+ -30.0025 1.0000
+ 1.2998 1.0000
+ 2.6535 1.0000
+ 4.5224 1.0000
+ 4.9355 1.0000
+ 5.4403 1.0000
+ 6.0847 1.0000
+ 9.1320 0.0000
+ 10.1355 0.0000
+ 11.4935 0.0000
+ 14.1593 0.0000
+ 15.0031 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7388 1.0000
+ -30.0181 1.0000
+ -30.0118 1.0000
+ -30.0103 1.0000
+ 1.5018 1.0000
+ 2.9434 1.0000
+ 4.3332 1.0000
+ 4.9416 1.0000
+ 5.4009 1.0000
+ 5.9358 1.0000
+ 8.5164 0.0000
+ 10.3690 0.0000
+ 11.4796 0.0000
+ 13.6233 0.0000
+ 15.4168 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7386 1.0000
+ -30.0224 1.0000
+ -30.0173 1.0000
+ -30.0098 1.0000
+ 1.7486 1.0000
+ 3.3382 1.0000
+ 4.1257 1.0000
+ 4.9091 1.0000
+ 5.2805 1.0000
+ 5.9294 1.0000
+ 7.8705 0.5687
+ 10.5822 0.0000
+ 11.3190 0.0000
+ 14.4746 0.0000
+ 15.4084 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7384 1.0000
+ -30.0325 1.0000
+ -30.0165 1.0000
+ -30.0094 1.0000
+ 2.0137 1.0000
+ 3.7924 1.0000
+ 3.9366 1.0000
+ 4.7182 1.0000
+ 5.3253 1.0000
+ 5.9653 1.0000
+ 7.2969 1.0000
+ 10.3874 0.0000
+ 11.1648 0.0000
+ 13.7918 0.0000
+ 15.7649 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2910 1.0000
+ -65.7383 1.0000
+ -30.0404 1.0000
+ -30.0159 1.0000
+ -30.0090 1.0000
+ 2.2614 1.0000
+ 3.7478 1.0000
+ 4.2324 1.0000
+ 4.5462 1.0000
+ 5.4530 1.0000
+ 5.9817 1.0000
+ 6.8661 1.0000
+ 9.8164 0.0000
+ 11.2354 0.0000
+ 13.3824 0.0000
+ 15.4946 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7382 1.0000
+ -30.0447 1.0000
+ -30.0156 1.0000
+ -30.0087 1.0000
+ 2.4276 1.0000
+ 3.6308 1.0000
+ 4.3095 1.0000
+ 4.6704 1.0000
+ 5.5414 1.0000
+ 5.9604 1.0000
+ 6.6554 1.0000
+ 9.3847 0.0000
+ 11.2998 0.0000
+ 13.4998 0.0000
+ 15.5406 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7389 1.0000
+ -30.0304 1.0000
+ -30.0107 1.0000
+ -29.9930 1.0000
+ 1.4059 1.0000
+ 2.2991 1.0000
+ 4.7303 1.0000
+ 5.1280 1.0000
+ 5.4014 1.0000
+ 6.1085 1.0000
+ 9.4200 0.0000
+ 10.1068 0.0000
+ 11.5735 0.0000
+ 12.0510 0.0000
+ 15.2640 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7389 1.0000
+ -30.0302 1.0000
+ -30.0105 1.0000
+ -29.9952 1.0000
+ 1.4496 1.0000
+ 2.3666 1.0000
+ 4.7143 1.0000
+ 5.0343 1.0000
+ 5.4738 1.0000
+ 6.0596 1.0000
+ 9.3470 0.0000
+ 9.8894 0.0000
+ 11.4911 0.0000
+ 12.5501 0.0000
+ 15.0042 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7387 1.0000
+ -30.0298 1.0000
+ -30.0102 1.0000
+ -30.0014 1.0000
+ 1.5741 1.0000
+ 2.5692 1.0000
+ 4.6449 1.0000
+ 4.8922 1.0000
+ 5.5587 1.0000
+ 5.9560 1.0000
+ 8.8420 0.0000
+ 9.8198 0.0000
+ 11.5326 0.0000
+ 13.4548 0.0000
+ 15.3070 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2903 1.0000
+ -65.7385 1.0000
+ -30.0291 1.0000
+ -30.0108 1.0000
+ -30.0097 1.0000
+ 1.7645 1.0000
+ 2.9023 1.0000
+ 4.5006 1.0000
+ 4.7818 1.0000
+ 5.5503 1.0000
+ 5.9099 1.0000
+ 8.1185 0.0004
+ 9.9431 0.0000
+ 11.5982 0.0000
+ 14.1559 0.0000
+ 15.5155 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7383 1.0000
+ -30.0283 1.0000
+ -30.0214 1.0000
+ -30.0092 1.0000
+ 2.0055 1.0000
+ 3.3368 1.0000
+ 4.3451 1.0000
+ 4.6481 1.0000
+ 5.4981 1.0000
+ 5.9423 1.0000
+ 7.4143 1.0000
+ 10.0772 0.0000
+ 11.5013 0.0000
+ 14.0698 0.0000
+ 15.1813 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7382 1.0000
+ -30.0316 1.0000
+ -30.0276 1.0000
+ -30.0088 1.0000
+ 2.2811 1.0000
+ 3.7459 1.0000
+ 4.2885 1.0000
+ 4.4782 1.0000
+ 5.5123 1.0000
+ 5.9815 1.0000
+ 6.7976 1.0000
+ 10.1223 0.0000
+ 10.9975 0.0000
+ 13.3162 0.0000
+ 35.4508 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7380 1.0000
+ -30.0395 1.0000
+ -30.0270 1.0000
+ -30.0084 1.0000
+ 2.5605 1.0000
+ 3.8201 1.0000
+ 4.2232 1.0000
+ 4.6720 1.0000
+ 5.5887 1.0000
+ 5.9853 1.0000
+ 6.3304 1.0000
+ 9.8542 0.0000
+ 10.6312 0.0000
+ 13.3008 0.0000
+ 15.9780 0.0000
+
+
+ -91.8815 1.0000
+ -91.4265 1.0000
+ -91.2915 1.0000
+ -65.7380 1.0000
+ -30.0439 1.0000
+ -30.0268 1.0000
+ -30.0082 1.0000
+ 2.7690 1.0000
+ 3.7318 1.0000
+ 4.1082 1.0000
+ 5.0768 1.0000
+ 5.5474 1.0000
+ 5.9652 1.0000
+ 6.1318 1.0000
+ 9.4421 0.0000
+ 10.5773 0.0000
+ 13.3598 0.0000
+ 15.6239 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7388 1.0000
+ -30.0364 1.0000
+ -30.0103 1.0000
+ -29.9924 1.0000
+ 1.6041 1.0000
+ 2.1949 1.0000
+ 4.7707 1.0000
+ 5.1368 1.0000
+ 5.5104 1.0000
+ 5.9515 1.0000
+ 9.5274 0.0000
+ 9.9063 0.0000
+ 11.4475 0.0000
+ 11.8572 0.0000
+ 14.7311 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7387 1.0000
+ -30.0362 1.0000
+ -30.0101 1.0000
+ -29.9946 1.0000
+ 1.6419 1.0000
+ 2.2709 1.0000
+ 4.7507 1.0000
+ 5.0499 1.0000
+ 5.5743 1.0000
+ 5.9294 1.0000
+ 9.4032 0.0000
+ 9.6388 0.0000
+ 11.4753 0.0000
+ 12.3145 0.0000
+ 15.0586 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7386 1.0000
+ -30.0358 1.0000
+ -30.0099 1.0000
+ -30.0009 1.0000
+ 1.7525 1.0000
+ 2.4947 1.0000
+ 4.6872 1.0000
+ 4.8807 1.0000
+ 5.6780 1.0000
+ 5.8786 1.0000
+ 8.6877 0.0000
+ 9.6263 0.0000
+ 11.5761 0.0000
+ 13.1883 0.0000
+ 15.0368 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2909 1.0000
+ -65.7384 1.0000
+ -30.0351 1.0000
+ -30.0103 1.0000
+ -30.0094 1.0000
+ 1.9301 1.0000
+ 2.8492 1.0000
+ 4.5787 1.0000
+ 4.7121 1.0000
+ 5.7281 1.0000
+ 5.8578 1.0000
+ 7.8952 0.4304
+ 9.6755 0.0000
+ 11.6667 0.0000
+ 14.3103 0.0000
+ 38.9176 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7382 1.0000
+ -30.0344 1.0000
+ -30.0209 1.0000
+ -30.0089 1.0000
+ 2.1704 1.0000
+ 3.2839 1.0000
+ 4.4368 1.0000
+ 4.5966 1.0000
+ 5.6971 1.0000
+ 5.9055 1.0000
+ 7.1618 1.0000
+ 9.7305 0.0000
+ 11.5519 0.0000
+ 13.7092 0.0000
+ 15.1518 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7380 1.0000
+ -30.0336 1.0000
+ -30.0310 1.0000
+ -30.0084 1.0000
+ 2.4625 1.0000
+ 3.6552 1.0000
+ 4.2572 1.0000
+ 4.6667 1.0000
+ 5.6659 1.0000
+ 5.9462 1.0000
+ 6.5416 1.0000
+ 9.7701 0.0000
+ 11.0159 0.0000
+ 13.7528 0.0000
+ 15.5596 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7379 1.0000
+ -30.0390 1.0000
+ -30.0331 1.0000
+ -30.0080 1.0000
+ 2.7831 1.0000
+ 3.7889 1.0000
+ 4.0361 1.0000
+ 5.0350 1.0000
+ 5.6638 1.0000
+ 5.9246 1.0000
+ 6.1048 1.0000
+ 9.7327 0.0000
+ 10.2984 0.0000
+ 13.3147 0.0000
+ 15.4211 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2912 1.0000
+ -65.7378 1.0000
+ -30.0434 1.0000
+ -30.0328 1.0000
+ -30.0078 1.0000
+ 3.0626 1.0000
+ 3.7463 1.0000
+ 3.8683 1.0000
+ 5.4341 1.0000
+ 5.6823 1.0000
+ 5.7756 1.0000
+ 5.9556 1.0000
+ 9.4675 0.0000
+ 10.0217 0.0000
+ 13.3491 0.0000
+ 16.1206 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7397 1.0000
+ -30.0332 1.0000
+ -29.9970 1.0000
+ -29.9635 1.0000
+ 0.5736 1.0000
+ 2.1119 1.0000
+ 4.5165 1.0000
+ 4.5676 1.0000
+ 4.7863 1.0000
+ 8.6168 0.0000
+ 10.8092 0.0000
+ 11.1222 0.0000
+ 11.2007 0.0000
+ 14.0197 0.0000
+ 39.2698 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7395 1.0000
+ -30.0330 1.0000
+ -29.9991 1.0000
+ -29.9633 1.0000
+ 0.6291 1.0000
+ 2.0977 1.0000
+ 4.5093 1.0000
+ 4.5944 1.0000
+ 4.8096 1.0000
+ 8.4094 0.0000
+ 10.7035 0.0000
+ 11.1656 0.0000
+ 11.6529 0.0000
+ 14.1405 0.0000
+ 41.5789 0.0000
+
+
+ -91.8796 1.0000
+ -91.4247 1.0000
+ -91.2896 1.0000
+ -65.7394 1.0000
+ -30.0326 1.0000
+ -30.0053 1.0000
+ -29.9627 1.0000
+ 0.7865 1.0000
+ 2.0532 1.0000
+ 4.5078 1.0000
+ 4.6507 1.0000
+ 4.8773 1.0000
+ 7.9670 0.1168
+ 10.4342 0.0000
+ 11.1229 0.0000
+ 12.2041 0.0000
+ 12.2648 0.0000
+ 14.3078 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7392 1.0000
+ -30.0322 1.0000
+ -30.0144 1.0000
+ -29.9619 1.0000
+ 1.0275 1.0000
+ 1.9962 1.0000
+ 4.5159 1.0000
+ 4.7211 1.0000
+ 4.9818 1.0000
+ 7.4959 1.0000
+ 10.0943 0.0000
+ 11.0206 0.0000
+ 11.8767 0.0000
+ 13.0219 0.0000
+ 14.6524 0.0000
+
+
+ -91.8795 1.0000
+ -91.4245 1.0000
+ -91.2895 1.0000
+ -65.7390 1.0000
+ -30.0316 1.0000
+ -30.0249 1.0000
+ -29.9609 1.0000
+ 1.3090 1.0000
+ 1.9542 1.0000
+ 4.5205 1.0000
+ 4.7985 1.0000
+ 5.1102 1.0000
+ 7.0804 1.0000
+ 9.7491 0.0000
+ 10.7814 0.0000
+ 12.7825 0.0000
+ 14.2666 0.0000
+ 40.5060 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7388 1.0000
+ -30.0349 1.0000
+ -30.0311 1.0000
+ -29.9600 1.0000
+ 1.5312 1.0000
+ 1.9991 1.0000
+ 4.5052 1.0000
+ 4.8754 1.0000
+ 5.2431 1.0000
+ 6.7527 1.0000
+ 9.4493 0.0000
+ 10.4582 0.0000
+ 11.6293 0.0000
+ 12.3813 0.0000
+ 15.5445 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7387 1.0000
+ -30.0428 1.0000
+ -30.0307 1.0000
+ -29.9593 1.0000
+ 1.5968 1.0000
+ 2.1802 1.0000
+ 4.4669 1.0000
+ 4.9394 1.0000
+ 5.3556 1.0000
+ 6.5274 1.0000
+ 9.2375 0.0000
+ 10.2067 0.0000
+ 12.0084 0.0000
+ 14.2385 0.0000
+ 36.2448 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2901 1.0000
+ -65.7386 1.0000
+ -30.0470 1.0000
+ -30.0305 1.0000
+ -29.9589 1.0000
+ 1.5982 1.0000
+ 2.3352 1.0000
+ 4.4290 1.0000
+ 4.9767 1.0000
+ 5.4211 1.0000
+ 6.4124 1.0000
+ 9.1302 0.0000
+ 10.0506 0.0000
+ 11.6269 0.0000
+ 11.8418 0.0000
+ 15.0676 0.0000
+
+
+ -91.8800 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7395 1.0000
+ -30.0330 1.0000
+ -29.9966 1.0000
+ -29.9665 1.0000
+ 0.6330 1.0000
+ 2.1018 1.0000
+ 4.5271 1.0000
+ 4.5956 1.0000
+ 4.7951 1.0000
+ 8.3518 0.0000
+ 11.1089 0.0000
+ 11.1684 0.0000
+ 13.7806 0.0000
+ 14.1363 0.0000
+ 19.9386 0.0000
+
+
+ -91.8801 1.0000
+ -91.4251 1.0000
+ -91.2900 1.0000
+ -65.7395 1.0000
+ -30.0328 1.0000
+ -29.9988 1.0000
+ -29.9664 1.0000
+ 0.6878 1.0000
+ 2.0898 1.0000
+ 4.5140 1.0000
+ 4.6007 1.0000
+ 4.8434 1.0000
+ 8.1649 0.0000
+ 10.9818 0.0000
+ 11.1274 0.0000
+ 11.4259 0.0000
+ 13.4427 0.0000
+ 14.6883 0.0000
+
+
+ -91.8794 1.0000
+ -91.4244 1.0000
+ -91.2894 1.0000
+ -65.7393 1.0000
+ -30.0325 1.0000
+ -30.0049 1.0000
+ -29.9658 1.0000
+ 0.8465 1.0000
+ 2.0591 1.0000
+ 4.4969 1.0000
+ 4.6223 1.0000
+ 4.9548 1.0000
+ 7.7541 0.9656
+ 10.6858 0.0000
+ 11.0717 0.0000
+ 11.8125 0.0000
+ 12.3245 0.0000
+ 14.7406 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2898 1.0000
+ -65.7392 1.0000
+ -30.0320 1.0000
+ -30.0142 1.0000
+ -29.9650 1.0000
+ 1.0875 1.0000
+ 2.0159 1.0000
+ 4.4997 1.0000
+ 4.6561 1.0000
+ 5.0929 1.0000
+ 7.3100 1.0000
+ 10.3059 0.0000
+ 10.8388 0.0000
+ 11.7195 0.0000
+ 13.5031 0.0000
+ 14.7149 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2896 1.0000
+ -65.7389 1.0000
+ -30.0315 1.0000
+ -30.0246 1.0000
+ -29.9641 1.0000
+ 1.3668 1.0000
+ 1.9926 1.0000
+ 4.5154 1.0000
+ 4.6963 1.0000
+ 5.2390 1.0000
+ 6.9228 1.0000
+ 9.9077 0.0000
+ 10.4464 0.0000
+ 11.5965 0.0000
+ 13.3203 0.0000
+ 14.3775 0.0000
+
+
+ -91.8799 1.0000
+ -91.4249 1.0000
+ -91.2899 1.0000
+ -65.7388 1.0000
+ -30.0347 1.0000
+ -30.0310 1.0000
+ -29.9632 1.0000
+ 1.5777 1.0000
+ 2.0640 1.0000
+ 4.5124 1.0000
+ 4.7455 1.0000
+ 5.3763 1.0000
+ 6.6315 1.0000
+ 9.5524 0.0000
+ 10.0473 0.0000
+ 12.1279 0.0000
+ 14.4175 0.0000
+ 15.1742 0.0000
+
+
+ -91.8801 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7386 1.0000
+ -30.0425 1.0000
+ -30.0306 1.0000
+ -29.9625 1.0000
+ 1.6379 1.0000
+ 2.2630 1.0000
+ 4.4722 1.0000
+ 4.7995 1.0000
+ 5.4863 1.0000
+ 6.4480 1.0000
+ 9.2884 0.0000
+ 9.7273 0.0000
+ 11.6147 0.0000
+ 12.5272 0.0000
+ 15.4126 0.0000
+
+
+ -91.8798 1.0000
+ -91.4248 1.0000
+ -91.2898 1.0000
+ -65.7385 1.0000
+ -30.0468 1.0000
+ -30.0303 1.0000
+ -29.9621 1.0000
+ 1.6405 1.0000
+ 2.4253 1.0000
+ 4.4262 1.0000
+ 4.8365 1.0000
+ 5.5489 1.0000
+ 6.3631 1.0000
+ 9.1487 0.0000
+ 9.5497 0.0000
+ 11.6341 0.0000
+ 12.3538 0.0000
+ 15.2479 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7394 1.0000
+ -30.0325 1.0000
+ -29.9959 1.0000
+ -29.9755 1.0000
+ 0.8009 1.0000
+ 2.0701 1.0000
+ 4.5572 1.0000
+ 4.6768 1.0000
+ 4.8227 1.0000
+ 7.8284 0.7789
+ 10.7722 0.0000
+ 11.2548 0.0000
+ 12.1273 0.0000
+ 13.8872 0.0000
+ 19.3208 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7393 1.0000
+ -30.0324 1.0000
+ -29.9980 1.0000
+ -29.9752 1.0000
+ 0.8570 1.0000
+ 2.0712 1.0000
+ 4.5273 1.0000
+ 4.6328 1.0000
+ 4.9304 1.0000
+ 7.6670 0.9989
+ 10.9814 0.0000
+ 11.0519 0.0000
+ 11.6948 0.0000
+ 14.0784 0.0000
+ 42.2456 0.0000
+
+
+ -91.8797 1.0000
+ -91.4247 1.0000
+ -91.2896 1.0000
+ -65.7391 1.0000
+ -30.0320 1.0000
+ -30.0042 1.0000
+ -29.9747 1.0000
+ 1.0176 1.0000
+ 2.0713 1.0000
+ 4.4474 1.0000
+ 4.6405 1.0000
+ 5.1016 1.0000
+ 7.2990 1.0000
+ 10.7764 0.0000
+ 11.1820 0.0000
+ 11.3580 0.0000
+ 12.3963 0.0000
+ 14.3579 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2899 1.0000
+ -65.7390 1.0000
+ -30.0316 1.0000
+ -30.0134 1.0000
+ -29.9739 1.0000
+ 1.2586 1.0000
+ 2.0756 1.0000
+ 4.3961 1.0000
+ 4.6691 1.0000
+ 5.2775 1.0000
+ 6.8932 1.0000
+ 10.2551 0.0000
+ 10.7808 0.0000
+ 11.4976 0.0000
+ 12.8877 0.0000
+ 15.8667 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7388 1.0000
+ -30.0310 1.0000
+ -30.0239 1.0000
+ -29.9730 1.0000
+ 1.5255 1.0000
+ 2.1140 1.0000
+ 4.3949 1.0000
+ 4.6822 1.0000
+ 5.4431 1.0000
+ 6.5515 1.0000
+ 9.6939 0.0000
+ 10.3186 0.0000
+ 11.5514 0.0000
+ 13.6887 0.0000
+ 13.9888 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2903 1.0000
+ -65.7386 1.0000
+ -30.0340 1.0000
+ -30.0305 1.0000
+ -29.9721 1.0000
+ 1.7053 1.0000
+ 2.2618 1.0000
+ 4.4314 1.0000
+ 4.6508 1.0000
+ 5.5873 1.0000
+ 6.3317 1.0000
+ 9.2060 0.0000
+ 9.8463 0.0000
+ 11.5922 0.0000
+ 13.7036 0.0000
+ 15.4834 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7384 1.0000
+ -30.0418 1.0000
+ -30.0301 1.0000
+ -29.9715 1.0000
+ 1.7590 1.0000
+ 2.5073 1.0000
+ 4.4571 1.0000
+ 4.5923 1.0000
+ 5.6986 1.0000
+ 6.2426 1.0000
+ 8.8451 0.0000
+ 9.4436 0.0000
+ 11.9279 0.0000
+ 13.5539 0.0000
+ 15.7128 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7384 1.0000
+ -30.0461 1.0000
+ -30.0299 1.0000
+ -29.9711 1.0000
+ 1.7660 1.0000
+ 2.6912 1.0000
+ 4.4142 1.0000
+ 4.5895 1.0000
+ 5.7615 1.0000
+ 6.2306 1.0000
+ 8.6509 0.0000
+ 9.2035 0.0000
+ 11.6476 0.0000
+ 14.2805 0.0000
+ 19.5232 0.0000
+
+
+ -91.8815 1.0000
+ -91.4265 1.0000
+ -91.2914 1.0000
+ -65.7392 1.0000
+ -30.0318 1.0000
+ -29.9947 1.0000
+ -29.9885 1.0000
+ 1.0577 1.0000
+ 2.0304 1.0000
+ 4.6009 1.0000
+ 4.8033 1.0000
+ 4.8693 1.0000
+ 7.2978 1.0000
+ 10.4120 0.0000
+ 10.9345 0.0000
+ 11.8493 0.0000
+ 12.9361 0.0000
+ 14.3082 0.0000
+
+
+ -91.8811 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7391 1.0000
+ -30.0317 1.0000
+ -29.9968 1.0000
+ -29.9883 1.0000
+ 1.1137 1.0000
+ 2.0461 1.0000
+ 4.5591 1.0000
+ 4.6899 1.0000
+ 5.0505 1.0000
+ 7.1547 1.0000
+ 10.5597 0.0000
+ 10.7725 0.0000
+ 11.6641 0.0000
+ 12.9304 0.0000
+ 41.7172 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2904 1.0000
+ -65.7389 1.0000
+ -30.0313 1.0000
+ -30.0030 1.0000
+ -29.9878 1.0000
+ 1.2740 1.0000
+ 2.0929 1.0000
+ 4.4116 1.0000
+ 4.7042 1.0000
+ 5.2624 1.0000
+ 6.8170 1.0000
+ 10.1893 0.0000
+ 11.0104 0.0000
+ 11.7700 0.0000
+ 13.5929 0.0000
+ 14.2934 0.0000
+
+
+ -91.8800 1.0000
+ -91.4250 1.0000
+ -91.2900 1.0000
+ -65.7387 1.0000
+ -30.0309 1.0000
+ -30.0122 1.0000
+ -29.9870 1.0000
+ 1.5073 1.0000
+ 2.1781 1.0000
+ 4.2861 1.0000
+ 4.7582 1.0000
+ 5.4598 1.0000
+ 6.4336 1.0000
+ 9.5343 0.0000
+ 11.2013 0.0000
+ 11.3387 0.0000
+ 13.1060 0.0000
+ 38.3097 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7385 1.0000
+ -30.0304 1.0000
+ -30.0228 1.0000
+ -29.9861 1.0000
+ 1.7426 1.0000
+ 2.3312 1.0000
+ 4.2213 1.0000
+ 4.7949 1.0000
+ 5.6281 1.0000
+ 6.1217 1.0000
+ 8.8998 0.0000
+ 10.7235 0.0000
+ 11.4983 0.0000
+ 13.3139 0.0000
+ 14.5418 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7383 1.0000
+ -30.0329 1.0000
+ -30.0299 1.0000
+ -29.9853 1.0000
+ 1.8915 1.0000
+ 2.5903 1.0000
+ 4.2222 1.0000
+ 4.7435 1.0000
+ 5.7550 1.0000
+ 5.9846 1.0000
+ 8.3534 0.0000
+ 10.1446 0.0000
+ 11.5765 0.0000
+ 14.0941 0.0000
+ 31.5297 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7382 1.0000
+ -30.0408 1.0000
+ -30.0295 1.0000
+ -29.9846 1.0000
+ 1.9545 1.0000
+ 2.8962 1.0000
+ 4.2674 1.0000
+ 4.5842 1.0000
+ 5.8671 1.0000
+ 6.0058 1.0000
+ 7.9444 0.1919
+ 9.6138 0.0000
+ 12.3662 0.0000
+ 14.4968 0.0000
+ 35.5494 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7381 1.0000
+ -30.0451 1.0000
+ -30.0292 1.0000
+ -29.9843 1.0000
+ 1.9749 1.0000
+ 3.1170 1.0000
+ 4.3238 1.0000
+ 4.4181 1.0000
+ 5.9578 1.0000
+ 6.0552 1.0000
+ 7.7216 0.9887
+ 9.2780 0.0000
+ 11.6484 0.0000
+ 14.1912 0.0000
+ 15.2729 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2906 1.0000
+ -65.7387 1.0000
+ -30.0309 1.0000
+ -30.0033 1.0000
+ -29.9932 1.0000
+ 1.3568 1.0000
+ 2.0050 1.0000
+ 4.6470 1.0000
+ 4.9310 1.0000
+ 4.9604 1.0000
+ 6.8399 1.0000
+ 10.0603 0.0000
+ 10.6095 0.0000
+ 11.6789 0.0000
+ 12.7079 0.0000
+ 14.2313 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2910 1.0000
+ -65.7387 1.0000
+ -30.0309 1.0000
+ -30.0032 1.0000
+ -29.9955 1.0000
+ 1.4097 1.0000
+ 2.0396 1.0000
+ 4.6145 1.0000
+ 4.7530 1.0000
+ 5.1891 1.0000
+ 6.7162 1.0000
+ 10.1096 0.0000
+ 10.3876 0.0000
+ 11.6000 0.0000
+ 13.1316 0.0000
+ 37.6273 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7386 1.0000
+ -30.0305 1.0000
+ -30.0027 1.0000
+ -30.0017 1.0000
+ 1.5583 1.0000
+ 2.1490 1.0000
+ 4.4268 1.0000
+ 4.7673 1.0000
+ 5.4207 1.0000
+ 6.4119 1.0000
+ 9.5620 0.0000
+ 10.6052 0.0000
+ 11.5431 0.0000
+ 13.8192 0.0000
+ 14.7273 0.0000
+
+
+ -91.8807 1.0000
+ -91.4258 1.0000
+ -91.2907 1.0000
+ -65.7384 1.0000
+ -30.0301 1.0000
+ -30.0110 1.0000
+ -30.0020 1.0000
+ 1.7596 1.0000
+ 2.3479 1.0000
+ 4.2353 1.0000
+ 4.8561 1.0000
+ 5.6156 1.0000
+ 6.0522 1.0000
+ 8.8319 0.0000
+ 10.9690 0.0000
+ 11.4301 0.0000
+ 13.3676 0.0000
+ 14.5676 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7382 1.0000
+ -30.0296 1.0000
+ -30.0216 1.0000
+ -30.0011 1.0000
+ 1.9573 1.0000
+ 2.6478 1.0000
+ 4.0985 1.0000
+ 4.9571 1.0000
+ 5.6139 1.0000
+ 5.8909 1.0000
+ 8.1389 0.0001
+ 10.9883 0.0000
+ 11.3423 0.0000
+ 13.7094 0.0000
+ 15.7553 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2906 1.0000
+ -65.7380 1.0000
+ -30.0317 1.0000
+ -30.0291 1.0000
+ -30.0003 1.0000
+ 2.1129 1.0000
+ 3.0175 1.0000
+ 4.0379 1.0000
+ 4.9190 1.0000
+ 5.5211 1.0000
+ 5.9990 1.0000
+ 7.5405 1.0000
+ 10.3988 0.0000
+ 11.4577 0.0000
+ 13.7122 0.0000
+ 15.9308 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7379 1.0000
+ -30.0397 1.0000
+ -30.0287 1.0000
+ -29.9997 1.0000
+ 2.2149 1.0000
+ 3.3832 1.0000
+ 4.0564 1.0000
+ 4.6690 1.0000
+ 5.6796 1.0000
+ 6.0916 1.0000
+ 7.0870 1.0000
+ 9.7752 0.0000
+ 11.5424 0.0000
+ 14.3066 0.0000
+ 15.5761 0.0000
+
+
+ -91.8814 1.0000
+ -91.4264 1.0000
+ -91.2914 1.0000
+ -65.7378 1.0000
+ -30.0440 1.0000
+ -30.0285 1.0000
+ -29.9994 1.0000
+ 2.2640 1.0000
+ 3.6435 1.0000
+ 4.1382 1.0000
+ 4.4048 1.0000
+ 5.8558 1.0000
+ 6.1352 1.0000
+ 6.8387 1.0000
+ 9.3618 0.0000
+ 11.5772 0.0000
+ 14.3099 0.0000
+ 14.9653 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2907 1.0000
+ -65.7384 1.0000
+ -30.0302 1.0000
+ -30.0174 1.0000
+ -29.9919 1.0000
+ 1.5922 1.0000
+ 2.0622 1.0000
+ 4.6783 1.0000
+ 4.9977 1.0000
+ 5.1255 1.0000
+ 6.4823 1.0000
+ 9.7866 0.0000
+ 10.2382 0.0000
+ 11.6423 0.0000
+ 12.1724 0.0000
+ 15.1696 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7384 1.0000
+ -30.0300 1.0000
+ -30.0172 1.0000
+ -29.9941 1.0000
+ 1.6356 1.0000
+ 2.1225 1.0000
+ 4.6697 1.0000
+ 4.8109 1.0000
+ 5.3294 1.0000
+ 6.3879 1.0000
+ 9.7035 0.0000
+ 10.0257 0.0000
+ 11.6040 0.0000
+ 12.6587 0.0000
+ 14.9940 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2901 1.0000
+ -65.7382 1.0000
+ -30.0297 1.0000
+ -30.0168 1.0000
+ -30.0004 1.0000
+ 1.7553 1.0000
+ 2.3064 1.0000
+ 4.4915 1.0000
+ 4.7800 1.0000
+ 5.5639 1.0000
+ 6.1473 1.0000
+ 9.0130 0.0000
+ 10.2004 0.0000
+ 11.5878 0.0000
+ 13.4966 0.0000
+ 14.8358 0.0000
+
+
+ -91.8807 1.0000
+ -91.4258 1.0000
+ -91.2907 1.0000
+ -65.7381 1.0000
+ -30.0293 1.0000
+ -30.0162 1.0000
+ -30.0097 1.0000
+ 1.9268 1.0000
+ 2.6143 1.0000
+ 4.2587 1.0000
+ 4.8639 1.0000
+ 5.7056 1.0000
+ 5.8972 1.0000
+ 8.2193 0.0000
+ 10.4809 0.0000
+ 11.5381 0.0000
+ 13.9612 0.0000
+ 14.5546 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7379 1.0000
+ -30.0288 1.0000
+ -30.0204 1.0000
+ -30.0154 1.0000
+ 2.1305 1.0000
+ 3.0221 1.0000
+ 4.0628 1.0000
+ 5.0039 1.0000
+ 5.4474 1.0000
+ 5.9945 1.0000
+ 7.4712 1.0000
+ 10.6874 0.0000
+ 11.3421 0.0000
+ 13.4783 0.0000
+ 15.3783 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2909 1.0000
+ -65.7377 1.0000
+ -30.0306 1.0000
+ -30.0283 1.0000
+ -30.0147 1.0000
+ 2.3416 1.0000
+ 3.4734 1.0000
+ 3.9279 1.0000
+ 5.1088 1.0000
+ 5.2297 1.0000
+ 6.1260 1.0000
+ 6.8189 1.0000
+ 10.4946 0.0000
+ 11.1842 0.0000
+ 13.1952 0.0000
+ 15.7397 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2912 1.0000
+ -65.7376 1.0000
+ -30.0385 1.0000
+ -30.0280 1.0000
+ -30.0141 1.0000
+ 2.5238 1.0000
+ 3.8199 1.0000
+ 3.9375 1.0000
+ 4.8268 1.0000
+ 5.4778 1.0000
+ 6.2123 1.0000
+ 6.3224 1.0000
+ 9.8991 0.0000
+ 11.2407 0.0000
+ 13.1926 0.0000
+ 15.5369 0.0000
+
+
+ -91.8814 1.0000
+ -91.4264 1.0000
+ -91.2914 1.0000
+ -65.7375 1.0000
+ -30.0429 1.0000
+ -30.0278 1.0000
+ -30.0137 1.0000
+ 2.6290 1.0000
+ 3.8380 1.0000
+ 4.2279 1.0000
+ 4.5865 1.0000
+ 5.6574 1.0000
+ 6.0663 1.0000
+ 6.2635 1.0000
+ 9.4409 0.0000
+ 11.2887 0.0000
+ 13.2397 0.0000
+ 15.7505 0.0000
+
+
+ -91.8809 1.0000
+ -91.4259 1.0000
+ -91.2908 1.0000
+ -65.7382 1.0000
+ -30.0295 1.0000
+ -30.0285 1.0000
+ -29.9909 1.0000
+ 1.6678 1.0000
+ 2.2476 1.0000
+ 4.6819 1.0000
+ 5.0573 1.0000
+ 5.2677 1.0000
+ 6.2372 1.0000
+ 9.6320 0.0000
+ 9.9258 0.0000
+ 11.6498 0.0000
+ 11.7641 0.0000
+ 15.1177 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2910 1.0000
+ -65.7382 1.0000
+ -30.0294 1.0000
+ -30.0284 1.0000
+ -29.9931 1.0000
+ 1.7064 1.0000
+ 2.3241 1.0000
+ 4.6780 1.0000
+ 4.8714 1.0000
+ 5.4482 1.0000
+ 6.1821 1.0000
+ 9.3944 0.0000
+ 9.7662 0.0000
+ 11.6283 0.0000
+ 12.2592 0.0000
+ 15.0447 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7380 1.0000
+ -30.0291 1.0000
+ -30.0279 1.0000
+ -29.9994 1.0000
+ 1.8197 1.0000
+ 2.5512 1.0000
+ 4.5747 1.0000
+ 4.7174 1.0000
+ 5.6795 1.0000
+ 6.0408 1.0000
+ 8.5996 0.0000
+ 9.8664 0.0000
+ 11.6305 0.0000
+ 13.1616 0.0000
+ 14.9422 0.0000
+
+
+ -91.8802 1.0000
+ -91.4252 1.0000
+ -91.2902 1.0000
+ -65.7378 1.0000
+ -30.0287 1.0000
+ -30.0272 1.0000
+ -30.0087 1.0000
+ 2.0020 1.0000
+ 2.9149 1.0000
+ 4.3358 1.0000
+ 4.7172 1.0000
+ 5.7999 1.0000
+ 5.9420 1.0000
+ 7.7512 0.9686
+ 10.0198 0.0000
+ 11.6232 0.0000
+ 14.2345 0.0000
+ 15.3681 0.0000
+
+
+ -91.8805 1.0000
+ -91.4255 1.0000
+ -91.2905 1.0000
+ -65.7376 1.0000
+ -30.0283 1.0000
+ -30.0265 1.0000
+ -30.0194 1.0000
+ 2.2449 1.0000
+ 3.3771 1.0000
+ 4.1205 1.0000
+ 4.7396 1.0000
+ 5.6457 1.0000
+ 6.0882 1.0000
+ 6.9514 1.0000
+ 10.1586 0.0000
+ 11.4369 0.0000
+ 13.6407 0.0000
+ 15.4695 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7374 1.0000
+ -30.0297 1.0000
+ -30.0278 1.0000
+ -30.0258 1.0000
+ 2.5344 1.0000
+ 3.8121 1.0000
+ 3.9855 1.0000
+ 4.8087 1.0000
+ 5.5213 1.0000
+ 6.1981 1.0000
+ 6.2633 1.0000
+ 10.2073 0.0000
+ 11.0454 0.0000
+ 13.0519 0.0000
+ 15.5984 0.0000
+
+
+ -91.8811 1.0000
+ -91.4261 1.0000
+ -91.2911 1.0000
+ -65.7373 1.0000
+ -30.0377 1.0000
+ -30.0274 1.0000
+ -30.0252 1.0000
+ 2.8336 1.0000
+ 3.8000 1.0000
+ 4.1712 1.0000
+ 4.9751 1.0000
+ 5.5168 1.0000
+ 5.6776 1.0000
+ 6.3079 1.0000
+ 9.9354 0.0000
+ 10.7127 0.0000
+ 12.8003 0.0000
+ 15.8356 0.0000
+
+
+ -91.8814 1.0000
+ -91.4264 1.0000
+ -91.2914 1.0000
+ -65.7372 1.0000
+ -30.0421 1.0000
+ -30.0272 1.0000
+ -30.0249 1.0000
+ 3.0541 1.0000
+ 3.7465 1.0000
+ 4.2239 1.0000
+ 5.1222 1.0000
+ 5.2997 1.0000
+ 5.6922 1.0000
+ 6.3453 1.0000
+ 9.5016 0.0000
+ 10.6605 0.0000
+ 12.7227 0.0000
+ 15.5675 0.0000
+
+
+ -91.8803 1.0000
+ -91.4253 1.0000
+ -91.2903 1.0000
+ -65.7380 1.0000
+ -30.0345 1.0000
+ -30.0292 1.0000
+ -29.9902 1.0000
+ 1.6740 1.0000
+ 2.4018 1.0000
+ 4.6707 1.0000
+ 5.0946 1.0000
+ 5.3522 1.0000
+ 6.1117 1.0000
+ 9.6010 0.0000
+ 9.7207 0.0000
+ 11.5419 0.0000
+ 11.6546 0.0000
+ 14.9372 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7380 1.0000
+ -30.0344 1.0000
+ -30.0291 1.0000
+ -29.9926 1.0000
+ 1.7129 1.0000
+ 2.4847 1.0000
+ 4.6554 1.0000
+ 4.9171 1.0000
+ 5.5191 1.0000
+ 6.0879 1.0000
+ 9.2253 0.0000
+ 9.6369 0.0000
+ 11.6608 0.0000
+ 12.0478 0.0000
+ 14.9557 0.0000
+
+
+ -91.8807 1.0000
+ -91.4257 1.0000
+ -91.2907 1.0000
+ -65.7379 1.0000
+ -30.0339 1.0000
+ -30.0288 1.0000
+ -29.9989 1.0000
+ 1.8315 1.0000
+ 2.7302 1.0000
+ 4.6082 1.0000
+ 4.6655 1.0000
+ 5.7492 1.0000
+ 6.0255 1.0000
+ 8.3737 0.0000
+ 9.6738 0.0000
+ 11.6583 0.0000
+ 12.9796 0.0000
+ 15.0184 0.0000
+
+
+ -91.8808 1.0000
+ -91.4258 1.0000
+ -91.2908 1.0000
+ -65.7377 1.0000
+ -30.0333 1.0000
+ -30.0284 1.0000
+ -30.0082 1.0000
+ 2.0272 1.0000
+ 3.1247 1.0000
+ 4.4101 1.0000
+ 4.5557 1.0000
+ 5.9249 1.0000
+ 5.9750 1.0000
+ 7.4900 1.0000
+ 9.7287 0.0000
+ 11.6418 0.0000
+ 13.9974 0.0000
+ 15.0437 0.0000
+
+
+ -91.8804 1.0000
+ -91.4254 1.0000
+ -91.2904 1.0000
+ -65.7375 1.0000
+ -30.0326 1.0000
+ -30.0279 1.0000
+ -30.0189 1.0000
+ 2.2989 1.0000
+ 3.6250 1.0000
+ 4.2181 1.0000
+ 4.4835 1.0000
+ 5.8518 1.0000
+ 6.1331 1.0000
+ 6.6571 1.0000
+ 9.7868 0.0000
+ 11.4865 0.0000
+ 14.5147 0.0000
+ 15.4164 0.0000
+
+
+ -91.8806 1.0000
+ -91.4256 1.0000
+ -91.2905 1.0000
+ -65.7373 1.0000
+ -30.0318 1.0000
+ -30.0291 1.0000
+ -30.0275 1.0000
+ 2.6408 1.0000
+ 3.9091 1.0000
+ 4.2522 1.0000
+ 4.5325 1.0000
+ 5.7034 1.0000
+ 5.9787 1.0000
+ 6.2621 1.0000
+ 9.8299 0.0000
+ 11.0556 0.0000
+ 13.0395 0.0000
+ 15.4657 0.0000
+
+
+ -91.8810 1.0000
+ -91.4260 1.0000
+ -91.2910 1.0000
+ -65.7372 1.0000
+ -30.0372 1.0000
+ -30.0313 1.0000
+ -30.0271 1.0000
+ 3.0409 1.0000
+ 3.8298 1.0000
+ 4.2195 1.0000
+ 5.0235 1.0000
+ 5.2301 1.0000
+ 5.8071 1.0000
+ 6.3436 1.0000
+ 9.8006 0.0000
+ 10.3862 0.0000
+ 12.6747 0.0000
+ 15.4656 0.0000
+
+
+ -91.8812 1.0000
+ -91.4262 1.0000
+ -91.2911 1.0000
+ -65.7371 1.0000
+ -30.0416 1.0000
+ -30.0310 1.0000
+ -30.0269 1.0000
+ 3.4531 1.0000
+ 3.7372 1.0000
+ 4.0740 1.0000
+ 4.7709 1.0000
+ 5.5707 1.0000
+ 5.7646 1.0000
+ 6.3738 1.0000
+ 9.5306 0.0000
+ 10.0845 0.0000
+ 12.5702 0.0000
+ 15.4251 0.0000
+
+
+
+
+
+
+ 0.00000000 0.00000000 0.00000000
+
+
+ 7.88278638
+
+
+ gridpoints
+ spin
+ energy
+ total
+ integrated
+
+
+ -98.7492 0.0000 0.0000
+ -98.2456 0.0000 0.0000
+ -97.7420 0.0000 0.0000
+ -97.2383 0.0000 0.0000
+ -96.7347 0.0000 0.0000
+ -96.2311 0.0000 0.0000
+ -95.7275 0.0000 0.0000
+ -95.2239 0.0000 0.0000
+ -94.7203 0.0000 0.0000
+ -94.2166 0.0000 0.0000
+ -93.7130 0.0000 0.0000
+ -93.2094 0.0000 0.0000
+ -92.7058 0.0000 0.0000
+ -92.2022 0.0000 0.0000
+ -91.6986 3.9514 1.9900
+ -91.1949 7.6087 5.8219
+ -90.6913 0.3536 6.0000
+ -90.1877 0.0000 6.0000
+ -89.6841 0.0000 6.0000
+ -89.1805 0.0000 6.0000
+ -88.6769 0.0000 6.0000
+ -88.1732 0.0000 6.0000
+ -87.6696 0.0000 6.0000
+ -87.1660 0.0000 6.0000
+ -86.6624 0.0000 6.0000
+ -86.1588 0.0000 6.0000
+ -85.6552 0.0000 6.0000
+ -85.1515 0.0000 6.0000
+ -84.6479 0.0000 6.0000
+ -84.1443 0.0000 6.0000
+ -83.6407 0.0000 6.0000
+ -83.1371 0.0000 6.0000
+ -82.6335 0.0000 6.0000
+ -82.1299 0.0000 6.0000
+ -81.6262 0.0000 6.0000
+ -81.1226 0.0000 6.0000
+ -80.6190 0.0000 6.0000
+ -80.1154 0.0000 6.0000
+ -79.6118 0.0000 6.0000
+ -79.1082 0.0000 6.0000
+ -78.6045 0.0000 6.0000
+ -78.1009 0.0000 6.0000
+ -77.5973 0.0000 6.0000
+ -77.0937 0.0000 6.0000
+ -76.5901 0.0000 6.0000
+ -76.0865 0.0000 6.0000
+ -75.5828 0.0000 6.0000
+ -75.0792 0.0000 6.0000
+ -74.5756 0.0000 6.0000
+ -74.0720 0.0000 6.0000
+ -73.5684 0.0000 6.0000
+ -73.0648 0.0000 6.0000
+ -72.5611 0.0000 6.0000
+ -72.0575 0.0000 6.0000
+ -71.5539 0.0000 6.0000
+ -71.0503 0.0000 6.0000
+ -70.5467 0.0000 6.0000
+ -70.0431 0.0000 6.0000
+ -69.5394 0.0000 6.0000
+ -69.0358 0.0000 6.0000
+ -68.5322 0.0000 6.0000
+ -68.0286 0.0000 6.0000
+ -67.5250 0.0000 6.0000
+ -67.0214 0.0000 6.0000
+ -66.5178 0.0000 6.0000
+ -66.0141 0.0002 6.0001
+ -65.5105 3.9689 7.9989
+ -65.0069 0.0021 8.0000
+ -64.5033 0.0000 8.0000
+ -63.9997 0.0000 8.0000
+ -63.4961 0.0000 8.0000
+ -62.9924 0.0000 8.0000
+ -62.4888 0.0000 8.0000
+ -61.9852 0.0000 8.0000
+ -61.4816 0.0000 8.0000
+ -60.9780 0.0000 8.0000
+ -60.4744 0.0000 8.0000
+ -59.9707 0.0000 8.0000
+ -59.4671 0.0000 8.0000
+ -58.9635 0.0000 8.0000
+ -58.4599 0.0000 8.0000
+ -57.9563 0.0000 8.0000
+ -57.4527 0.0000 8.0000
+ -56.9490 0.0000 8.0000
+ -56.4454 0.0000 8.0000
+ -55.9418 0.0000 8.0000
+ -55.4382 0.0000 8.0000
+ -54.9346 0.0000 8.0000
+ -54.4310 0.0000 8.0000
+ -53.9273 0.0000 8.0000
+ -53.4237 0.0000 8.0000
+ -52.9201 0.0000 8.0000
+ -52.4165 0.0000 8.0000
+ -51.9129 0.0000 8.0000
+ -51.4093 0.0000 8.0000
+ -50.9057 0.0000 8.0000
+ -50.4020 0.0000 8.0000
+ -49.8984 0.0000 8.0000
+ -49.3948 0.0000 8.0000
+ -48.8912 0.0000 8.0000
+ -48.3876 0.0000 8.0000
+ -47.8840 0.0000 8.0000
+ -47.3803 0.0000 8.0000
+ -46.8767 0.0000 8.0000
+ -46.3731 0.0000 8.0000
+ -45.8695 0.0000 8.0000
+ -45.3659 0.0000 8.0000
+ -44.8623 0.0000 8.0000
+ -44.3586 0.0000 8.0000
+ -43.8550 0.0000 8.0000
+ -43.3514 0.0000 8.0000
+ -42.8478 0.0000 8.0000
+ -42.3442 0.0000 8.0000
+ -41.8406 0.0000 8.0000
+ -41.3369 0.0000 8.0000
+ -40.8333 0.0000 8.0000
+ -40.3297 0.0000 8.0000
+ -39.8261 0.0000 8.0000
+ -39.3225 0.0000 8.0000
+ -38.8189 0.0000 8.0000
+ -38.3152 0.0000 8.0000
+ -37.8116 0.0000 8.0000
+ -37.3080 0.0000 8.0000
+ -36.8044 0.0000 8.0000
+ -36.3008 0.0000 8.0000
+ -35.7972 0.0000 8.0000
+ -35.2936 0.0000 8.0000
+ -34.7899 0.0000 8.0000
+ -34.2863 0.0000 8.0000
+ -33.7827 0.0000 8.0000
+ -33.2791 0.0000 8.0000
+ -32.7755 0.0000 8.0000
+ -32.2719 0.0000 8.0000
+ -31.7682 0.0000 8.0000
+ -31.2646 0.0000 8.0000
+ -30.7610 0.0000 8.0000
+ -30.2574 0.0062 8.0031
+ -29.7538 11.6675 13.8791
+ -29.2502 0.2401 14.0000
+ -28.7465 0.0000 14.0000
+ -28.2429 0.0000 14.0000
+ -27.7393 0.0000 14.0000
+ -27.2357 0.0000 14.0000
+ -26.7321 0.0000 14.0000
+ -26.2285 0.0000 14.0000
+ -25.7248 0.0000 14.0000
+ -25.2212 0.0000 14.0000
+ -24.7176 0.0000 14.0000
+ -24.2140 0.0000 14.0000
+ -23.7104 0.0000 14.0000
+ -23.2068 0.0000 14.0000
+ -22.7031 0.0000 14.0000
+ -22.1995 0.0000 14.0000
+ -21.6959 0.0000 14.0000
+ -21.1923 0.0000 14.0000
+ -20.6887 0.0000 14.0000
+ -20.1851 0.0000 14.0000
+ -19.6815 0.0000 14.0000
+ -19.1778 0.0000 14.0000
+ -18.6742 0.0000 14.0000
+ -18.1706 0.0000 14.0000
+ -17.6670 0.0000 14.0000
+ -17.1634 0.0000 14.0000
+ -16.6598 0.0000 14.0000
+ -16.1561 0.0000 14.0000
+ -15.6525 0.0000 14.0000
+ -15.1489 0.0000 14.0000
+ -14.6453 0.0000 14.0000
+ -14.1417 0.0000 14.0000
+ -13.6381 0.0000 14.0000
+ -13.1344 0.0000 14.0000
+ -12.6308 0.0000 14.0000
+ -12.1272 0.0000 14.0000
+ -11.6236 0.0000 14.0000
+ -11.1200 0.0000 14.0000
+ -10.6164 0.0000 14.0000
+ -10.1127 0.0000 14.0000
+ -9.6091 0.0000 14.0000
+ -9.1055 0.0000 14.0000
+ -8.6019 0.0000 14.0000
+ -8.0983 0.0000 14.0000
+ -7.5947 0.0000 14.0000
+ -7.0910 0.0000 14.0000
+ -6.5874 0.0000 14.0000
+ -6.0838 0.0000 14.0000
+ -5.5802 0.0000 14.0000
+ -5.0766 0.0000 14.0000
+ -4.5730 0.0000 14.0000
+ -4.0694 0.0000 14.0000
+ -3.5657 0.0000 14.0000
+ -3.0621 0.0000 14.0000
+ -2.5585 0.0000 14.0000
+ -2.0549 0.0009 14.0005
+ -1.5513 0.1132 14.0574
+ -1.0477 0.2483 14.1825
+ -0.5440 0.3448 14.3561
+ -0.0404 0.4543 14.5849
+ 0.4632 0.5588 14.8664
+ 0.9668 0.6103 15.1737
+ 1.4704 0.8493 15.6014
+ 1.9740 1.0615 16.1360
+ 2.4777 1.1259 16.7031
+ 2.9813 0.9778 17.1955
+ 3.4849 0.7572 17.5768
+ 3.9885 0.9446 18.0526
+ 4.4921 2.2831 19.2023
+ 4.9957 3.6694 21.0503
+ 5.4994 2.8044 22.4627
+ 6.0030 2.3933 23.6680
+ 6.5066 1.9045 24.6271
+ 7.0102 1.3513 25.3077
+ 7.5138 0.8062 25.7137
+ 8.0174 0.7272 26.0799
+ 8.5211 0.8382 26.5020
+ 9.0247 1.4316 27.2230
+ 9.5283 1.9155 28.1877
+ 10.0319 1.7300 29.0590
+ 10.5355 1.5459 29.8375
+ 11.0391 1.1419 30.4126
+ 11.5427 1.3555 31.0952
+ 12.0464 1.2953 31.7476
+ 12.5500 0.5429 32.0210
+ 13.0536 0.4473 32.2462
+ 13.5572 0.8282 32.6634
+ 14.0608 1.1877 33.2615
+ 14.5644 1.1003 33.8156
+ 15.0681 1.3090 34.4749
+ 15.5717 1.4011 35.1805
+ 16.0753 0.7368 35.5516
+ 16.5789 0.3354 35.7205
+ 17.0825 0.2344 35.8385
+ 17.5861 0.0350 35.8561
+ 18.0898 0.0355 35.8740
+ 18.5934 0.0265 35.8874
+ 19.0970 0.0000 35.8874
+ 19.6006 0.0175 35.8962
+ 20.1042 0.0059 35.8992
+ 20.6078 0.0000 35.8993
+ 21.1115 0.0000 35.8993
+ 21.6151 0.0004 35.8995
+ 22.1187 0.0043 35.9016
+ 22.6223 0.0000 35.9016
+ 23.1259 0.0000 35.9016
+ 23.6295 0.0000 35.9016
+ 24.1332 0.0047 35.9040
+ 24.6368 0.0000 35.9040
+ 25.1404 0.0000 35.9040
+ 25.6440 0.0000 35.9040
+ 26.1476 0.0000 35.9040
+ 26.6512 0.0000 35.9040
+ 27.1548 0.0000 35.9040
+ 27.6585 0.0000 35.9040
+ 28.1621 0.0000 35.9040
+ 28.6657 0.0000 35.9040
+ 29.1693 0.0000 35.9040
+ 29.6729 0.0000 35.9040
+ 30.1765 0.0000 35.9040
+ 30.6802 0.0000 35.9040
+ 31.1838 0.0001 35.9040
+ 31.6874 0.0186 35.9134
+ 32.1910 0.0092 35.9180
+ 32.6946 0.0003 35.9182
+ 33.1982 0.0094 35.9230
+ 33.7019 0.0000 35.9230
+ 34.2055 0.0107 35.9284
+ 34.7091 0.0081 35.9324
+ 35.2127 0.0000 35.9324
+ 35.7163 0.0223 35.9437
+ 36.2199 0.0077 35.9475
+ 36.7236 0.0030 35.9490
+ 37.2272 0.0047 35.9514
+ 37.7308 0.0088 35.9558
+ 38.2344 0.0020 35.9568
+ 38.7380 0.0269 35.9704
+ 39.2416 0.0102 35.9755
+ 39.7453 0.0015 35.9763
+ 40.2489 0.0000 35.9763
+ 40.7525 0.0047 35.9787
+ 41.2561 0.0000 35.9787
+ 41.7597 0.0178 35.9876
+ 42.2633 0.0114 35.9934
+ 42.7670 0.0038 35.9953
+ 43.2706 0.0000 35.9953
+ 43.7742 0.0000 35.9953
+ 44.2778 0.0000 35.9953
+ 44.7814 0.0000 35.9953
+ 45.2850 0.0000 35.9953
+ 45.7886 0.0094 36.0000
+ 46.2923 0.0000 36.0000
+ 46.7959 0.0000 36.0000
+ 47.2995 0.0000 36.0000
+ 47.8031 0.0000 36.0000
+ 48.3067 0.0000 36.0000
+ 48.8103 0.0000 36.0000
+ 49.3140 0.0000 36.0000
+ 49.8176 0.0000 36.0000
+ 50.3212 0.0000 36.0000
+ 50.8248 0.0000 36.0000
+ 51.3284 0.0000 36.0000
+ 51.8320 0.0000 36.0000
+ 52.3357 0.0000 36.0000
+
+
+
+
+
+
+
+
+
+ 3.66961100 0.00000000 0.00000000
+ 0.00000000 3.55744000 0.00000000
+ 0.00000000 0.00000000 3.17678100
+
+ 41.47103646
+
+ 0.27250845 0.00000000 0.00000000
+ 0.00000000 0.28110102 0.00000000
+ 0.00000000 0.00000000 0.31478405
+
+
+
+ 0.00000000 0.00000000 0.00000000
+ 0.00000000 0.50000000 0.50000000
+ 0.50000000 0.00000000 0.50000000
+ 0.50000000 0.50000000 0.00000000
+
+
+
diff --git a/examples/README b/examples/README
index a8dfe63d92..3c9c299819 100644
--- a/examples/README
+++ b/examples/README
@@ -59,6 +59,7 @@ sub-directories:
accelerate: use of all the various accelerator packages
airebo: polyethylene with AIREBO potential
+atm: Axilrod-Teller-Muto potential
balance: dynamic load balancing, 2d system
body: body particles, 2d system
cmap: CMAP 5-body contributions to CHARMM force field
@@ -82,6 +83,7 @@ kim: use of potentials in Knowledge Base for Interatomic Models (KIM)
latte: use of LATTE density-functional tight-binding quantum code
meam: MEAM test for SiC and shear (same as shear examples)
melt: rapid melt of 3d LJ system
+message: client/server coupling of 2 codes
micelle: self-assembly of small lipid-like molecules into 2d bilayers
min: energy minimization of 2d LJ melt
mscg: parameterize a multi-scale coarse-graining (MSCG) model
diff --git a/examples/USER/diffraction/BulkNi.in b/examples/USER/diffraction/BulkNi.in
index 0fa9c1b74c..8315e57750 100644
--- a/examples/USER/diffraction/BulkNi.in
+++ b/examples/USER/diffraction/BulkNi.in
@@ -17,8 +17,9 @@ atom_modify sort 0 0
compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo
-compute SAED all saed 0.0251 Ni Kmax 0.85 Zone 1 0 0 c 0.025 0.025 0.025 &
- dR_Ewald 0.05 echo manual
+compute SAED all saed 0.0251 Ni Kmax 0.85 &
+ Zone 0 0 0 c 0.025 0.025 0.025 &
+ dR_Ewald 0.01 echo manual
fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] &
mode vector file $A.hist.xrd
diff --git a/examples/USER/diffraction/Output/BulkNi.in b/examples/USER/diffraction/Output/BulkNi.in
deleted file mode 100644
index 8315e57750..0000000000
--- a/examples/USER/diffraction/Output/BulkNi.in
+++ /dev/null
@@ -1,35 +0,0 @@
-variable A string bulkNi
-log $A.log
-
-boundary p p p
-
-units metal
-timestep 0.001
-
-lattice fcc 3.52
-region box block 0 20 0 20 0 20
-create_box 1 box
-create_atoms 1 box
-
-pair_style none
-mass * 58.71
-atom_modify sort 0 0
-
-compute XRD all xrd 1.541838 Ni 2Theta 40 80 c 2 2 2 LP 1 echo
-
-compute SAED all saed 0.0251 Ni Kmax 0.85 &
- Zone 0 0 0 c 0.025 0.025 0.025 &
- dR_Ewald 0.01 echo manual
-
-fix 1 all ave/histo/weight 1 1 1 40 80 200 c_XRD[1] c_XRD[2] &
- mode vector file $A.hist.xrd
-
-fix 2 all saed/vtk 1 1 1 c_SAED file $A_001.saed
-
-dump 1 all custom 1 $A.dump id x y z
-run 0
-
-unfix 1
-unfix 2
-uncompute XRD
-uncompute SAED
diff --git a/examples/atm/in.atm b/examples/atm/in.atm
new file mode 100644
index 0000000000..131528dce3
--- /dev/null
+++ b/examples/atm/in.atm
@@ -0,0 +1,31 @@
+# Axilrod-Teller-Muto potential example
+
+variable x index 1
+variable y index 1
+variable z index 1
+
+variable xx equal 10*$x
+variable yy equal 10*$y
+variable zz equal 10*$z
+
+units lj
+atom_style atomic
+
+lattice fcc 0.65
+region box block 0 ${xx} 0 ${yy} 0 ${zz}
+create_box 1 box
+create_atoms 1 box
+
+pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5
+pair_coeff * * lj/cut 1.0 1.0
+pair_coeff * * atm * 0.072
+
+mass * 1.0
+velocity all create 1.033 12345678 loop geom
+
+fix 1 all nvt temp 1.033 1.033 0.05
+
+timestep 0.002
+thermo 5
+
+run 25
diff --git a/examples/atm/log.27Aug18.g++.1 b/examples/atm/log.27Aug18.g++.1
new file mode 100644
index 0000000000..46215e108c
--- /dev/null
+++ b/examples/atm/log.27Aug18.g++.1
@@ -0,0 +1,100 @@
+LAMMPS (22 Aug 2018)
+# Axilrod-Teller-Muto potential example
+
+variable x index 1
+variable y index 1
+variable z index 1
+
+variable xx equal 10*$x
+variable xx equal 10*1
+variable yy equal 10*$y
+variable yy equal 10*1
+variable zz equal 10*$z
+variable zz equal 10*1
+
+units lj
+atom_style atomic
+
+lattice fcc 0.65
+Lattice spacing in x,y,z = 1.83252 1.83252 1.83252
+region box block 0 ${xx} 0 ${yy} 0 ${zz}
+region box block 0 10 0 ${yy} 0 ${zz}
+region box block 0 10 0 10 0 ${zz}
+region box block 0 10 0 10 0 10
+create_box 1 box
+Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 4000 atoms
+ Time spent = 0.00139618 secs
+
+pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5
+pair_coeff * * lj/cut 1.0 1.0
+pair_coeff * * atm * 0.072
+
+mass * 1.0
+velocity all create 1.033 12345678 loop geom
+
+fix 1 all nvt temp 1.033 1.033 0.05
+
+timestep 0.002
+thermo 5
+
+run 25
+Neighbor list info ...
+ update every 1 steps, delay 10 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 4.8
+ ghost atom cutoff = 4.8
+ binsize = 2.4, bins = 8 8 8
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair lj/cut, perpetual, half/full from (2)
+ attributes: half, newton on
+ pair build: halffull/newton
+ stencil: none
+ bin: none
+ (2) pair atm, perpetual
+ attributes: full, newton on
+ pair build: full/bin/atomonly
+ stencil: full/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 11.47 | 11.47 | 11.47 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.033 -4.8404387 0 -3.291326 -4.1332095
+ 5 1.0337247 -4.8402263 0 -3.290027 -4.1207962
+ 10 1.0355935 -4.8425889 0 -3.2895869 -4.0870158
+ 15 1.0376519 -4.84599 0 -3.2899013 -4.0278711
+ 20 1.0382257 -4.8478854 0 -3.2909361 -3.9368052
+ 25 1.0347886 -4.84473 0 -3.2929351 -3.8044469
+Loop time of 15.95 on 1 procs for 25 steps with 4000 atoms
+
+Performance: 270.846 tau/day, 1.567 timesteps/s
+100.0% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 15.946 | 15.946 | 15.946 | 0.0 | 99.97
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0.0015042 | 0.0015042 | 0.0015042 | 0.0 | 0.01
+Output | 0.00013781 | 0.00013781 | 0.00013781 | 0.0 | 0.00
+Modify | 0.0017776 | 0.0017776 | 0.0017776 | 0.0 | 0.01
+Other | | 0.0006771 | | | 0.00
+
+Nlocal: 4000 ave 4000 max 4000 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 10895 ave 10895 max 10895 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 640000 ave 640000 max 640000 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+FullNghs: 1.28e+06 ave 1.28e+06 max 1.28e+06 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 1280000
+Ave neighs/atom = 320
+Neighbor list builds = 0
+Dangerous builds = 0
+
+Please see the log.cite file for references relevant to this simulation
+
+Total wall time: 0:00:16
diff --git a/examples/atm/log.27Aug18.g++.4 b/examples/atm/log.27Aug18.g++.4
new file mode 100644
index 0000000000..d84f17ee2b
--- /dev/null
+++ b/examples/atm/log.27Aug18.g++.4
@@ -0,0 +1,100 @@
+LAMMPS (22 Aug 2018)
+# Axilrod-Teller-Muto potential example
+
+variable x index 1
+variable y index 1
+variable z index 1
+
+variable xx equal 10*$x
+variable xx equal 10*1
+variable yy equal 10*$y
+variable yy equal 10*1
+variable zz equal 10*$z
+variable zz equal 10*1
+
+units lj
+atom_style atomic
+
+lattice fcc 0.65
+Lattice spacing in x,y,z = 1.83252 1.83252 1.83252
+region box block 0 ${xx} 0 ${yy} 0 ${zz}
+region box block 0 10 0 ${yy} 0 ${zz}
+region box block 0 10 0 10 0 ${zz}
+region box block 0 10 0 10 0 10
+create_box 1 box
+Created orthogonal box = (0 0 0) to (18.3252 18.3252 18.3252)
+ 1 by 2 by 2 MPI processor grid
+create_atoms 1 box
+Created 4000 atoms
+ Time spent = 0.000900984 secs
+
+pair_style hybrid/overlay lj/cut 4.5 atm 4.5 2.5
+pair_coeff * * lj/cut 1.0 1.0
+pair_coeff * * atm * 0.072
+
+mass * 1.0
+velocity all create 1.033 12345678 loop geom
+
+fix 1 all nvt temp 1.033 1.033 0.05
+
+timestep 0.002
+thermo 5
+
+run 25
+Neighbor list info ...
+ update every 1 steps, delay 10 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 4.8
+ ghost atom cutoff = 4.8
+ binsize = 2.4, bins = 8 8 8
+ 2 neighbor lists, perpetual/occasional/extra = 2 0 0
+ (1) pair lj/cut, perpetual, half/full from (2)
+ attributes: half, newton on
+ pair build: halffull/newton
+ stencil: none
+ bin: none
+ (2) pair atm, perpetual
+ attributes: full, newton on
+ pair build: full/bin/atomonly
+ stencil: full/bin/3d
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 5.532 | 5.532 | 5.532 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.033 -4.8404387 0 -3.291326 -4.1332095
+ 5 1.0337247 -4.8402263 0 -3.290027 -4.1207962
+ 10 1.0355935 -4.8425889 0 -3.2895869 -4.0870158
+ 15 1.0376519 -4.84599 0 -3.2899013 -4.0278711
+ 20 1.0382257 -4.8478854 0 -3.2909361 -3.9368052
+ 25 1.0347886 -4.84473 0 -3.2929351 -3.8044469
+Loop time of 4.34636 on 4 procs for 25 steps with 4000 atoms
+
+Performance: 993.935 tau/day, 5.752 timesteps/s
+99.6% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 3.9977 | 4.1036 | 4.209 | 4.9 | 94.41
+Neigh | 0 | 0 | 0 | 0.0 | 0.00
+Comm | 0.13588 | 0.24134 | 0.34722 | 20.4 | 5.55
+Output | 0.00013757 | 0.00015104 | 0.00016761 | 0.0 | 0.00
+Modify | 0.00087953 | 0.00091547 | 0.00095582 | 0.0 | 0.02
+Other | | 0.0003656 | | | 0.01
+
+Nlocal: 1000 ave 1000 max 1000 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Nghost: 5835 ave 5835 max 5835 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+Neighs: 160000 ave 160000 max 160000 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+FullNghs: 320000 ave 320000 max 320000 min
+Histogram: 4 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 1280000
+Ave neighs/atom = 320
+Neighbor list builds = 0
+Dangerous builds = 0
+
+Please see the log.cite file for references relevant to this simulation
+
+Total wall time: 0:00:04
diff --git a/examples/message/README b/examples/message/README
new file mode 100644
index 0000000000..6cd99d5c09
--- /dev/null
+++ b/examples/message/README
@@ -0,0 +1,117 @@
+This dir contains scripts that demonstrate how to use LAMMPS as both a
+client and server code to run a simple MD simulation. LAMMPS as a
+client performs the MD timestepping. LAMMPS as a server provides the
+energy and forces between interacting particles. Every timestep the
+LAMMPS client sends a message to the LAMMPS server and receives a
+response message in return.
+
+Another code could replace LAMMPS as the client, e.g. another MD code
+which wants to use a LAMMPS potential. Another code could replace
+LAMMPS as the server, e.g. a quantum code computing quantum forces, so
+that ab initio MD could be performed. See an example of the latter in
+examples/COUPLE/lammps_vasp.
+
+See the doc pages for the "MESSAGE package"
+(Package_details.html#PKG-MESSAGE) and "Howto client/server"
+(Howto_client_server.html) for more details on how client/server
+coupling works in LAMMPS.
+
+--------------
+
+Note that you can adjust the problem size run by these scripts by
+setting "x,y,z" variables when you run LAMMPS. The default problem size
+is x = y = z = 5, which is 500 particles.
+
+lmp_mpi -v x 10 -v y 10 -v z 20 # 8000 particles
+
+This applies to either in.message or in.message.client
+
+You can also run the in.message scripts with an NPT integrator
+instead of NVE, if you comment/uncomment the correct lines.
+
+The client and server script define a "mode" variable
+which can be set to file, zmq, mpi/one, or mpi/two,
+as illustrated below.
+
+--------------
+
+To run this problem in the traditional way (no client/server coupling)
+do one of these:
+
+% lmp_serial < in.message
+% mpirun -np 4 lmp_mpi < in.message
+
+Or run with in.message.tilt.
+
+--------------
+
+To run in client/server mode:
+
+Both the client and server script must use the same messaging mode.
+This can be selected by setting the "mode" variable when you run
+LAMMPS. The default mode = file. The other options for the mode
+variable are zmq, mpione, mpitwo.
+
+Here we assume LAMMPS was built to run in parallel, and the MESSAGE
+package was installed with socket (ZMQ) support. This means any of
+the 4 messaging modes can be used.
+
+The next sections illustrate how to launch LAMMPS twice, once as a
+client, once as a server, for each of the messaging modes.
+
+In all cases, the client should print out thermodynamic info for 50
+steps. The server should print out setup info, print nothing until
+the client exits, at which point the server should also exit.
+
+The examples below show launching LAMMPS twice from the same window
+(or batch script), using the "&" character to launch the first time in
+the background. For all modes except {mpi/one}, you could also launch
+twice in separate windows on your desktop machine. It does not matter
+whether you launch the client or server first.
+
+In these examples either the client or server can be run on one or
+more processors. If running in a non-MPI mode (file or zmq) you can
+launch LAMMPS on a single processor without using mpirun.
+
+IMPORTANT: If you run in mpi/two mode, you must launch LAMMPS both
+times via mpirun, even if one or both of them runs on a single
+processor. This is so that MPI can figure out how to connect both MPI
+processes together to exchange MPI messages between them.
+
+--------------
+
+NOTE: the Script.sh file has comands to perform all the
+runs listed below.
+
+--------------
+
+File or ZMQ or mpi/two modes of messaging:
+
+% mpirun -np 1 lmp_mpi -v mode file -log log.client < in.message.client &
+% mpirun -np 2 lmp_mpi -v mode file -log log.server < in.message.server
+
+% mpirun -np 4 lmp_mpi -v mode zmq -log log.client < in.message.client &
+% mpirun -np 1 lmp_mpi -v mode zmq -log log.server < in.message.server
+
+% mpirun -np 2 lmp_mpi -v mode mpitwo -log log.client < in.message.client &
+% mpirun -np 4 lmp_mpi -v mode mpitwo -log log.server < in.message.server
+
+Or run with in.message.tilt.client/server.
+Don't run the tilt files with the "file" mode; they run too slow.
+
+--------------
+
+Mpi/one mode of messaging:
+
+Launch LAMMPS twice in a single mpirun command:
+
+% mpirun -np 2 lmp_mpi -mpicolor 0 -in in.message.client -v mode mpione -log log.client : -np 4 lmp_mpi -mpicolor 1 -in in.message.server -v mode mpione -log log.server
+
+Or run with in.message.tilt.client/server.
+
+The two -np values determine how many procs the client and the server
+run on.
+
+A LAMMPS executable run in this manner must use the -mpicolor color
+command-line option as its first option, where color is set to one
+integer value for the 1st app, and another value for the 2nd app.
diff --git a/examples/message/Script.sh b/examples/message/Script.sh
new file mode 100644
index 0000000000..fdcd6f1188
--- /dev/null
+++ b/examples/message/Script.sh
@@ -0,0 +1,55 @@
+# sample launch script
+
+# message on 1 proc each
+
+mpirun -np 1 lmp_mpi -log log.message.g++.1 < in.message
+
+mpirun -np 1 lmp_mpi -v mode file -log log.message.client.file.g++.1 < in.message.client &
+mpirun -np 1 lmp_mpi -v mode file -log log.message.server.file.g++.1 < in.message.server
+
+mpirun -np 1 lmp_mpi -v mode zmq -log log.message.client.zmq.g++.1 < in.message.client &
+mpirun -np 1 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.1 < in.message.server
+
+mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.1 < in.message.client &
+mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.1 < in.message.server
+
+mpirun -np 1 lmp_mpi -m 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.1 : -np 1 lmp_mpi -m 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.1
+
+# message on 2/4 procs each
+
+mpirun -np 4 lmp_mpi -log log.message.g++.4 < in.message
+
+mpirun -np 2 lmp_mpi -v mode file -log log.message.client.file.g++.2 < in.message.client &
+mpirun -np 4 lmp_mpi -v mode file -log log.message.server.file.g++.4 < in.message.server
+
+mpirun -np 2 lmp_mpi -v mode zmq -log log.message.client.zmq.g++.2 < in.message.client &
+mpirun -np 4 lmp_mpi -v mode zmq -log log.message.server.zmq.g++.4 < in.message.server
+
+mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.client.mpitwo.g++.2 < in.message.client &
+mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.server.mpitwo.g++.4 < in.message.server
+
+mpirun -np 2 lmp_mpi -m 0 -in in.message.client -v mode mpione -log log.message.client.mpione.g++.2 : -np 4 lmp_mpi -m 1 -in in.message.server -v mode mpione -log log.message.server.mpione.g++.4
+
+# message.tilt on 1 proc each
+
+mpirun -np 1 lmp_mpi -log log.message.tilt.g++.1 < in.message.tilt
+
+mpirun -np 1 lmp_mpi -v mode zmq -log log.message.tilt.client.zmq.g++.1 < in.message.tilt.client &
+mpirun -np 1 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.1 < in.message.tilt.server
+
+mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.1 < in.message.tilt.client &
+mpirun -np 1 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.1 < in.message.tilt.server
+
+mpirun -np 1 lmp_mpi -m 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.1 : -np 1 lmp_mpi -m 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.1
+
+# message.tilt on 2/4 procs each
+
+mpirun -np 1 lmp_mpi -log log.message.tilt.g++.4 < in.message.tilt
+
+mpirun -np 2 lmp_mpi -v mode zmq -log log.message.tilt.client.zmq.g++.2 < in.message.tilt.client &
+mpirun -np 4 lmp_mpi -v mode zmq -log log.message.tilt.server.zmq.g++.4 < in.message.tilt.server
+
+mpirun -np 2 lmp_mpi -v mode mpitwo -log log.message.tilt.client.mpitwo.g++.2 < in.message.tilt.client &
+mpirun -np 4 lmp_mpi -v mode mpitwo -log log.message.tilt.server.mpitwo.g++.4 < in.message.tilt.server
+
+mpirun -np 2 lmp_mpi -m 0 -in in.message.tilt.client -v mode mpione -log log.message.tilt.client.mpione.g++.2 : -np 4 lmp_mpi -m 1 -in in.message.tilt.server -v mode mpione -log log.message.tilt.server.mpione.g++.4
diff --git a/examples/message/in.message b/examples/message/in.message
new file mode 100644
index 0000000000..7fbbffc355
--- /dev/null
+++ b/examples/message/in.message
@@ -0,0 +1,29 @@
+# 3d Lennard-Jones melt - no client/server mode
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+
+lattice fcc 0.8442
+region box block 0 $x 0 $y 0 $z
+create_box 1 box
+create_atoms 1 box
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+thermo 10
+run 50
diff --git a/examples/message/in.message.client b/examples/message/in.message.client
new file mode 100644
index 0000000000..f1ec644a80
--- /dev/null
+++ b/examples/message/in.message.client
@@ -0,0 +1,41 @@
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then &
+ "message client md file tmp.couple" &
+elif "${mode} == zmq" &
+ "message client md zmq localhost:5555" &
+elif "${mode} == mpione" &
+ "message client md mpi/one" &
+elif "${mode} == mpitwo" &
+ "message client md mpi/two tmp.couple"
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+region box block 0 $x 0 $y 0 $z
+create_box 1 box
+create_atoms 1 box
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
diff --git a/examples/message/in.message.server b/examples/message/in.message.server
new file mode 100644
index 0000000000..2fedd2ae00
--- /dev/null
+++ b/examples/message/in.message.server
@@ -0,0 +1,29 @@
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then &
+ "message server md file tmp.couple" &
+elif "${mode} == zmq" &
+ "message server md zmq *:5555" &
+elif "${mode} == mpione" &
+ "message server md mpi/one" &
+elif "${mode} == mpitwo" &
+ "message server md mpi/two tmp.couple"
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+region box block 0 1 0 1 0 1
+create_box 1 box
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
diff --git a/examples/message/in.message.tilt b/examples/message/in.message.tilt
new file mode 100644
index 0000000000..51126eae1e
--- /dev/null
+++ b/examples/message/in.message.tilt
@@ -0,0 +1,30 @@
+# 2d NEMD simulation - no client/server mode
+
+units lj
+atom_style atomic
+dimension 2
+
+lattice sq2 0.8442
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+create_atoms 1 box
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
diff --git a/examples/message/in.message.tilt.client b/examples/message/in.message.tilt.client
new file mode 100644
index 0000000000..b55bc6585b
--- /dev/null
+++ b/examples/message/in.message.tilt.client
@@ -0,0 +1,42 @@
+# 2d NEMD simulation - client script
+
+variable mode index file
+
+if "${mode} == file" then &
+ "message client md file tmp.couple" &
+elif "${mode} == zmq" &
+ "message client md zmq localhost:5555" &
+elif "${mode} == mpione" &
+ "message client md mpi/one" &
+elif "${mode} == mpitwo" &
+ "message client md mpi/two tmp.couple"
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify sort 0 0.0 map yes
+
+lattice sq2 0.8442
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+create_atoms 1 box
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+fix 3 all client/md
+fix_modify 3 energy yes
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
diff --git a/examples/message/in.message.tilt.server b/examples/message/in.message.tilt.server
new file mode 100644
index 0000000000..ba211ed15f
--- /dev/null
+++ b/examples/message/in.message.tilt.server
@@ -0,0 +1,31 @@
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then &
+ "message server md file tmp.couple" &
+elif "${mode} == zmq" &
+ "message server md zmq *:5555" &
+elif "${mode} == mpione" &
+ "message server md mpi/one" &
+elif "${mode} == mpitwo" &
+ "message server md mpi/two tmp.couple"
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify map yes
+
+lattice sq2 0.8442
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+create_atoms 1 box
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
diff --git a/examples/message/log.28Aug18.message.client.file.g++.1 b/examples/message/log.28Aug18.message.client.file.g++.1
new file mode 100644
index 0000000000..bca1d37dd5
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.file.g++.1
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md file tmp.couple
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000752926 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 5.0251 on 1 procs for 50 steps with 500 atoms
+
+Performance: 4298.421 tau/day, 9.950 timesteps/s
+0.1% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 9.7752e-06 | 9.7752e-06 | 9.7752e-06 | 0.0 | 0.00
+Comm | 0.00014925 | 0.00014925 | 0.00014925 | 0.0 | 0.00
+Output | 0.00023127 | 0.00023127 | 0.00023127 | 0.0 | 0.00
+Modify | 5.0242 | 5.0242 | 5.0242 | 0.0 | 99.98
+Other | | 0.0004668 | | | 0.01
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:05
diff --git a/examples/message/log.28Aug18.message.client.file.g++.2 b/examples/message/log.28Aug18.message.client.file.g++.2
new file mode 100644
index 0000000000..1c868dde37
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.file.g++.2
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md file tmp.couple
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 2 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000613928 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 5.02384 on 2 procs for 50 steps with 500 atoms
+
+Performance: 4299.499 tau/day, 9.953 timesteps/s
+50.1% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 1.9073e-06 | 3.3379e-06 | 4.7684e-06 | 0.0 | 0.00
+Comm | 0.00020742 | 0.00021136 | 0.00021529 | 0.0 | 0.00
+Output | 0.00026989 | 0.00048053 | 0.00069118 | 0.0 | 0.01
+Modify | 5.0171 | 5.0199 | 5.0228 | 0.1 | 99.92
+Other | | 0.003203 | | | 0.06
+
+Nlocal: 250 ave 255 max 245 min
+Histogram: 1 0 0 0 0 0 0 0 0 1
+Nghost: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:05
diff --git a/examples/message/log.28Aug18.message.client.mpione.g++.1 b/examples/message/log.28Aug18.message.client.mpione.g++.1
new file mode 100644
index 0000000000..78bee72fdf
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.mpione.g++.1
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/one
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000540018 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 0.0403891 on 1 procs for 50 steps with 500 atoms
+
+Performance: 534798.272 tau/day, 1237.959 timesteps/s
+99.9% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 4.7684e-06 | 4.7684e-06 | 4.7684e-06 | 0.0 | 0.01
+Comm | 6.3181e-05 | 6.3181e-05 | 6.3181e-05 | 0.0 | 0.16
+Output | 9.5367e-05 | 9.5367e-05 | 9.5367e-05 | 0.0 | 0.24
+Modify | 0.040053 | 0.040053 | 0.040053 | 0.0 | 99.17
+Other | | 0.0001726 | | | 0.43
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.client.mpione.g++.2 b/examples/message/log.28Aug18.message.client.mpione.g++.2
new file mode 100644
index 0000000000..7d7af866e3
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.mpione.g++.2
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/one
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 2 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000475883 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 0.0208495 on 2 procs for 50 steps with 500 atoms
+
+Performance: 1035997.740 tau/day, 2398.143 timesteps/s
+99.1% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 3.0994e-06 | 4.53e-06 | 5.9605e-06 | 0.0 | 0.02
+Comm | 0.00012422 | 0.00012457 | 0.00012493 | 0.0 | 0.60
+Output | 5.7697e-05 | 7.987e-05 | 0.00010204 | 0.0 | 0.38
+Modify | 0.020463 | 0.020464 | 0.020466 | 0.0 | 98.15
+Other | | 0.0001761 | | | 0.84
+
+Nlocal: 250 ave 255 max 245 min
+Histogram: 1 0 0 0 0 0 0 0 0 1
+Nghost: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.client.mpitwo.g++.1 b/examples/message/log.28Aug18.message.client.mpitwo.g++.1
new file mode 100644
index 0000000000..ee97e7bd1a
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.mpitwo.g++.1
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/two tmp.couple
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000603914 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 0.069119 on 1 procs for 50 steps with 500 atoms
+
+Performance: 312504.627 tau/day, 723.390 timesteps/s
+42.0% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 7.1526e-06 | 7.1526e-06 | 7.1526e-06 | 0.0 | 0.01
+Comm | 0.0001049 | 0.0001049 | 0.0001049 | 0.0 | 0.15
+Output | 0.00014019 | 0.00014019 | 0.00014019 | 0.0 | 0.20
+Modify | 0.068602 | 0.068602 | 0.068602 | 0.0 | 99.25
+Other | | 0.0002651 | | | 0.38
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.client.mpitwo.g++.2 b/examples/message/log.28Aug18.message.client.mpitwo.g++.2
new file mode 100644
index 0000000000..72db0198d5
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.mpitwo.g++.2
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/two tmp.couple
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 2 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000667095 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 0.0190214 on 2 procs for 50 steps with 500 atoms
+
+Performance: 1135563.588 tau/day, 2628.619 timesteps/s
+58.5% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 1.9073e-06 | 2.861e-06 | 3.8147e-06 | 0.0 | 0.02
+Comm | 0.00017238 | 0.00017989 | 0.0001874 | 0.0 | 0.95
+Output | 0.00012803 | 0.00015497 | 0.00018191 | 0.0 | 0.81
+Modify | 0.018065 | 0.018181 | 0.018297 | 0.1 | 95.58
+Other | | 0.0005029 | | | 2.64
+
+Nlocal: 250 ave 255 max 245 min
+Histogram: 1 0 0 0 0 0 0 0 0 1
+Nghost: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:01
diff --git a/examples/message/log.28Aug18.message.client.zmq.g++.1 b/examples/message/log.28Aug18.message.client.zmq.g++.1
new file mode 100644
index 0000000000..23fa70c1be
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.zmq.g++.1
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md zmq localhost:5555
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000734091 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.303 | 2.303 | 2.303 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 0.0778341 on 1 procs for 50 steps with 500 atoms
+
+Performance: 277513.222 tau/day, 642.392 timesteps/s
+11.4% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 7.8678e-06 | 7.8678e-06 | 7.8678e-06 | 0.0 | 0.01
+Comm | 8.3685e-05 | 8.3685e-05 | 8.3685e-05 | 0.0 | 0.11
+Output | 0.00011373 | 0.00011373 | 0.00011373 | 0.0 | 0.15
+Modify | 0.07734 | 0.07734 | 0.07734 | 0.0 | 99.37
+Other | | 0.0002885 | | | 0.37
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.client.zmq.g++.2 b/examples/message/log.28Aug18.message.client.zmq.g++.2
new file mode 100644
index 0000000000..7833befd21
--- /dev/null
+++ b/examples/message/log.28Aug18.message.client.zmq.g++.2
@@ -0,0 +1,79 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md zmq localhost:5555
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+atom_modify sort 0 0.0 map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 2 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000570059 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+fix 2 all client/md
+fix_modify 2 energy yes
+
+thermo 10
+run 50
+Per MPI rank memory allocation (min/avg/max) = 2.302 | 2.302 | 2.302 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 0 0 -4.6176881 -5.0221006
+ 10 1.1347688 0 0 -4.6166043 -2.6072847
+ 20 0.628166 0 0 -4.62213 1.0186262
+ 30 0.73767593 0 0 -4.6254647 0.49629637
+ 40 0.69517962 0 0 -4.6253506 0.69303877
+ 50 0.70150496 0 0 -4.6259832 0.59551518
+Loop time of 0.0416595 on 2 procs for 50 steps with 500 atoms
+
+Performance: 518489.499 tau/day, 1200.207 timesteps/s
+56.5% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 2.861e-06 | 3.3379e-06 | 3.8147e-06 | 0.0 | 0.01
+Comm | 0.00013399 | 0.00013685 | 0.00013971 | 0.0 | 0.33
+Output | 8.6784e-05 | 0.00011206 | 0.00013733 | 0.0 | 0.27
+Modify | 0.040948 | 0.04103 | 0.041112 | 0.0 | 98.49
+Other | | 0.0003769 | | | 0.90
+
+Nlocal: 250 ave 255 max 245 min
+Histogram: 1 0 0 0 0 0 0 0 0 1
+Nghost: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.g++.1 b/examples/message/log.28Aug18.message.g++.1
new file mode 100644
index 0000000000..c06af4e0d1
--- /dev/null
+++ b/examples/message/log.28Aug18.message.g++.1
@@ -0,0 +1,85 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - no client/server mode
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000682831 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+thermo 10
+run 50
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.143 | 3.143 | 3.143 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7733681 0 -4.6176881 -5.0221006
+ 10 1.1347688 -6.3153532 0 -4.6166043 -2.6072847
+ 20 0.628166 -5.5624945 0 -4.62213 1.0186262
+ 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637
+ 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877
+ 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518
+Loop time of 0.039681 on 1 procs for 50 steps with 500 atoms
+
+Performance: 544341.699 tau/day, 1260.050 timesteps/s
+99.2% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0.029993 | 0.029993 | 0.029993 | 0.0 | 75.59
+Neigh | 0.0073051 | 0.0073051 | 0.0073051 | 0.0 | 18.41
+Comm | 0.0012736 | 0.0012736 | 0.0012736 | 0.0 | 3.21
+Output | 0.00012803 | 0.00012803 | 0.00012803 | 0.0 | 0.32
+Modify | 0.00053287 | 0.00053287 | 0.00053287 | 0.0 | 1.34
+Other | | 0.000448 | | | 1.13
+
+Nlocal: 500 ave 500 max 500 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 1946 ave 1946 max 1946 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 18820 ave 18820 max 18820 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 18820
+Ave neighs/atom = 37.64
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.g++.4 b/examples/message/log.28Aug18.message.g++.4
new file mode 100644
index 0000000000..695b51f166
--- /dev/null
+++ b/examples/message/log.28Aug18.message.g++.4
@@ -0,0 +1,85 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - no client/server mode
+
+variable x index 5
+variable y index 5
+variable z index 5
+
+units lj
+atom_style atomic
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 $x 0 $y 0 $z
+region box block 0 5 0 $y 0 $z
+region box block 0 5 0 5 0 $z
+region box block 0 5 0 5 0 5
+create_box 1 box
+Created orthogonal box = (0 0 0) to (8.39798 8.39798 8.39798)
+ 1 by 2 by 2 MPI processor grid
+create_atoms 1 box
+Created 500 atoms
+ Time spent = 0.000656843 secs
+mass 1 1.0
+
+velocity all create 1.44 87287 loop geom
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nve
+# same with NPT
+#fix 1 all npt temp 1.0 1.0 0.1 iso 1 1 1.0
+
+thermo 10
+run 50
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.109 | 3.109 | 3.109 Mbytes
+Step Temp E_pair E_mol TotEng Press
+ 0 1.44 -6.7733681 0 -4.6176881 -5.0221006
+ 10 1.1347688 -6.3153532 0 -4.6166043 -2.6072847
+ 20 0.628166 -5.5624945 0 -4.62213 1.0186262
+ 30 0.73767593 -5.7297655 0 -4.6254647 0.49629637
+ 40 0.69517962 -5.6660345 0 -4.6253506 0.69303877
+ 50 0.70150496 -5.6761362 0 -4.6259832 0.59551518
+Loop time of 0.0131519 on 4 procs for 50 steps with 500 atoms
+
+Performance: 1642350.242 tau/day, 3801.737 timesteps/s
+97.9% CPU use with 4 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0.006074 | 0.0065379 | 0.0072589 | 0.6 | 49.71
+Neigh | 0.0014219 | 0.0015552 | 0.0017018 | 0.3 | 11.82
+Comm | 0.003546 | 0.0043943 | 0.0049584 | 0.8 | 33.41
+Output | 0.000108 | 0.00012845 | 0.00016999 | 0.0 | 0.98
+Modify | 0.00014353 | 0.00014949 | 0.00015569 | 0.0 | 1.14
+Other | | 0.0003865 | | | 2.94
+
+Nlocal: 125 ave 128 max 121 min
+Histogram: 1 0 0 0 1 0 0 0 1 1
+Nghost: 1091 ave 1094 max 1089 min
+Histogram: 1 0 1 0 1 0 0 0 0 1
+Neighs: 4705 ave 4849 max 4648 min
+Histogram: 2 1 0 0 0 0 0 0 0 1
+
+Total # of neighbors = 18820
+Ave neighs/atom = 37.64
+Neighbor list builds = 4
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.server.file.g++.1 b/examples/message/log.28Aug18.message.server.file.g++.1
new file mode 100644
index 0000000000..cf1418d3c5
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.file.g++.1
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md file tmp.couple
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 1 by 1 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 1 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:05
diff --git a/examples/message/log.28Aug18.message.server.file.g++.4 b/examples/message/log.28Aug18.message.server.file.g++.4
new file mode 100644
index 0000000000..c233bad692
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.file.g++.4
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md file tmp.couple
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 2 by 2 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 2 by 2 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:05
diff --git a/examples/message/log.28Aug18.message.server.mpione.g++.1 b/examples/message/log.28Aug18.message.server.mpione.g++.1
new file mode 100644
index 0000000000..81e04aa923
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.mpione.g++.1
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/one
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 1 by 1 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 1 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.server.mpione.g++.4 b/examples/message/log.28Aug18.message.server.mpione.g++.4
new file mode 100644
index 0000000000..a185cb1c29
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.mpione.g++.4
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/one
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 2 by 2 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 2 by 2 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.server.mpitwo.g++.1 b/examples/message/log.28Aug18.message.server.mpitwo.g++.1
new file mode 100644
index 0000000000..973a08eb6a
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.mpitwo.g++.1
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/two tmp.couple
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 1 by 1 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 1 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.server.mpitwo.g++.4 b/examples/message/log.28Aug18.message.server.mpitwo.g++.4
new file mode 100644
index 0000000000..9e76e52d90
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.mpitwo.g++.4
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/two tmp.couple
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 2 by 2 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 2 by 2 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.server.zmq.g++.1 b/examples/message/log.28Aug18.message.server.zmq.g++.1
new file mode 100644
index 0000000000..ce5729878b
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.zmq.g++.1
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md zmq *:5555
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 1 by 1 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 1 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.server.zmq.g++.4 b/examples/message/log.28Aug18.message.server.zmq.g++.4
new file mode 100644
index 0000000000..b3201da4da
--- /dev/null
+++ b/examples/message/log.28Aug18.message.server.zmq.g++.4
@@ -0,0 +1,44 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md zmq *:5555
+
+units lj
+atom_style atomic
+atom_modify map yes
+
+lattice fcc 0.8442
+Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
+region box block 0 1 0 1 0 1
+create_box 1 box
+Created orthogonal box = (0 0 0) to (1.6796 1.6796 1.6796)
+ 1 by 2 by 2 MPI processor grid
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff 1 1 1.0 1.0 2.5
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 2 by 2 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 2.8
+ ghost atom cutoff = 2.8
+ binsize = 1.4, bins = 6 6 6
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/atomonly/newton
+ stencil: half/bin/3d/newton
+ bin: standard
+Server MD calls = 51
+Server MD reneighborings 5
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1 b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1
new file mode 100644
index 0000000000..a290ec307b
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.1
@@ -0,0 +1,130 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/one
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify sort 0 0.0 map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000485897 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+fix 3 all client/md
+fix_modify 3 energy yes
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 0
+ ghost atom cutoff = 0
+ binsize = 15.3919, bins = 1 1 1
+ 0 neighbor lists, perpetual/occasional/extra = 0 0 0
+Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.0086399 0 1.3760711 6.8772078 0.61567613
+ 2000 1.0707188 0 1.3744107 6.628097 1.2313523
+ 3000 1.0627515 0 1.310096 6.1647179 1.8470284
+ 4000 0.94091054 0 1.268976 6.4723215 2.4627045
+ 5000 1.0218949 0 1.2430242 5.6945977 3.0783806
+ 6000 0.98649481 0 1.1997565 5.2870413 3.6940568
+ 7000 0.9047957 0 1.1461262 5.9291636 4.3097329
+ 8000 0.85697614 0 1.0437412 5.0652097 4.925409
+ 9000 0.84208329 0 1.109218 6.1749808 5.5410852
+ 10000 0.86418108 0 1.1594773 6.2581867 6.1567613
+ 11000 0.95136356 0 1.1650901 5.8389085 6.7724374
+ 12000 0.94571583 0 1.2210342 6.2498816 7.3881135
+ 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135
+ 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374
+ 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613
+ 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852
+ 17000 1.0306843 0 1.3101457 6.4750102 -4.925409
+ 18000 1.071154 0 1.2947547 5.695888 -4.3097329
+ 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568
+ 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806
+ 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045
+ 22000 0.98550707 0 1.1768148 5.019967 -1.8470284
+ 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523
+ 24000 0.94069959 0 1.184119 5.8434876 -0.61567613
+ 25000 0.91569312 0 1.1642118 5.668997 0
+ 26000 0.98882932 0 1.1999248 5.0115507 0.61567613
+ 27000 0.8972608 0 1.2556546 7.0837158 1.2313523
+ 28000 0.93554756 0 1.2221911 5.9302841 1.8470284
+ 29000 0.97894608 0 1.2168736 5.5766766 2.4627045
+ 30000 0.97877055 0 1.2575839 6.4308887 3.0783806
+ 31000 1.0002387 0 1.2338069 5.3873124 3.6940568
+ 32000 0.89608618 0 1.2382021 6.7892204 4.3097329
+ 33000 0.87439302 0 1.2252635 7.078134 4.925409
+ 34000 1.076102 0 1.2991393 5.5556892 5.5410852
+ 35000 1.0018689 0 1.272105 6.1320483 6.1567613
+ 36000 0.93327214 0 1.2428039 7.0030867 6.7724374
+ 37000 1.0770236 0 1.3002931 5.4996076 7.3881135
+ 38000 0.98715132 0 1.215562 5.5958335 -7.3881135
+ 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374
+ 40000 1.0445585 0 1.241151 5.3589806 -6.1567613
+ 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852
+ 42000 0.99231038 0 1.2228781 5.9363471 -4.925409
+ 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329
+ 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568
+ 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806
+ 46000 0.98701623 0 1.170581 4.9719567 -2.4627045
+ 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284
+ 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523
+ 49000 1.0187472 0 1.271608 5.3355092 -0.61567613
+ 50000 1.0194881 0 1.2831094 6.2449759 0
+Loop time of 1.74559 on 1 procs for 50000 steps with 160 atoms
+
+Performance: 12374053.445 tau/day, 28643.642 timesteps/s
+100.0% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0.0020533 | 0.0020533 | 0.0020533 | 0.0 | 0.12
+Comm | 0.015517 | 0.015517 | 0.015517 | 0.0 | 0.89
+Output | 0.00052404 | 0.00052404 | 0.00052404 | 0.0 | 0.03
+Modify | 1.6784 | 1.6784 | 1.6784 | 0.0 | 96.15
+Other | | 0.04905 | | | 2.81
+
+Nlocal: 160 ave 160 max 160 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 5270
+Dangerous builds = 0
+Total wall time: 0:00:01
diff --git a/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2 b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2
new file mode 100644
index 0000000000..0089732355
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.client.mpione.g++.2
@@ -0,0 +1,130 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/one
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify sort 0 0.0 map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 2 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000453949 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+fix 3 all client/md
+fix_modify 3 energy yes
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 0
+ ghost atom cutoff = 0
+ binsize = 15.3919, bins = 1 1 1
+ 0 neighbor lists, perpetual/occasional/extra = 0 0 0
+Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.0876599 0 1.3637783 6.063363 0.61567613
+ 2000 1.0722996 0 1.4108622 7.0518942 1.2313523
+ 3000 1.0580774 0 1.3845895 6.0395275 1.8470284
+ 4000 1.0068006 0 1.3804387 7.0944598 2.4627045
+ 5000 0.95391814 0 1.2578438 6.1878831 3.0783806
+ 6000 0.93492945 0 1.2711287 7.0440517 3.6940568
+ 7000 0.94107853 0 1.2384371 6.1438077 4.3097329
+ 8000 0.89711744 0 1.145748 6.3558305 4.925409
+ 9000 0.90190304 0 1.0860684 4.957098 5.5410852
+ 10000 0.84255749 0 1.0376892 5.2351795 6.1567613
+ 11000 0.90250882 0 1.0497695 4.3844838 6.7724374
+ 12000 0.83461274 0 1.0281949 5.1534361 7.3881135
+ 13000 0.80315331 0 1.0226333 5.757222 -7.3881135
+ 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374
+ 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613
+ 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852
+ 17000 0.98268136 0 1.2086981 5.6302847 -4.925409
+ 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329
+ 19000 1.0795086 0 1.4562691 7.639418 -3.6940568
+ 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806
+ 21000 1.2424296 0 1.6048792 7.959585 -2.4627045
+ 22000 1.297169 0 1.7421262 8.9432388 -1.8470284
+ 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523
+ 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613
+ 25000 1.3339728 0 1.6883255 7.529098 0
+ 26000 1.1483243 0 1.5155578 7.3869994 0.61567613
+ 27000 1.1372606 0 1.4368323 7.0580136 1.2313523
+ 28000 1.0518579 0 1.355311 6.478857 1.8470284
+ 29000 1.0581145 0 1.2535509 5.3697479 2.4627045
+ 30000 0.93612564 0 1.185532 5.5520142 3.0783806
+ 31000 0.94387516 0 1.1716454 5.8655485 3.6940568
+ 32000 0.83953515 0 1.0737746 5.5551953 4.3097329
+ 33000 0.84862926 0 1.0564042 5.7795428 4.925409
+ 34000 0.83621877 0 1.079387 5.7514243 5.5410852
+ 35000 0.86938506 0 1.031783 4.5897825 6.1567613
+ 36000 0.88990609 0 1.0807597 5.3751744 6.7724374
+ 37000 0.89534631 0 1.1238882 5.2400355 7.3881135
+ 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135
+ 39000 0.96737778 0 1.2472934 6.1139 -6.7724374
+ 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613
+ 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852
+ 42000 1.0875422 0 1.3963739 7.1208066 -4.925409
+ 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329
+ 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568
+ 45000 1.1243261 0 1.432186 6.884782 -3.0783806
+ 46000 1.039713 0 1.4389721 7.5585257 -2.4627045
+ 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284
+ 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523
+ 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613
+ 50000 0.92367087 0 1.1875669 6.4685214 0
+Loop time of 2.82785 on 2 procs for 50000 steps with 160 atoms
+
+Performance: 7638300.565 tau/day, 17681.251 timesteps/s
+100.0% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0.0011888 | 0.0012611 | 0.0013335 | 0.2 | 0.04
+Comm | 0.024838 | 0.025075 | 0.025312 | 0.1 | 0.89
+Output | 0.0003581 | 0.00052559 | 0.00069308 | 0.0 | 0.02
+Modify | 2.7209 | 2.7263 | 2.7318 | 0.3 | 96.41
+Other | | 0.07465 | | | 2.64
+
+Nlocal: 80 ave 80 max 80 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 5257
+Dangerous builds = 0
+Total wall time: 0:00:02
diff --git a/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1 b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1
new file mode 100644
index 0000000000..814b3df1aa
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.1
@@ -0,0 +1,130 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/two tmp.couple
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify sort 0 0.0 map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000543118 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+fix 3 all client/md
+fix_modify 3 energy yes
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 0
+ ghost atom cutoff = 0
+ binsize = 15.3919, bins = 1 1 1
+ 0 neighbor lists, perpetual/occasional/extra = 0 0 0
+Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.0086399 0 1.3760711 6.8772078 0.61567613
+ 2000 1.0707188 0 1.3744107 6.628097 1.2313523
+ 3000 1.0627515 0 1.310096 6.1647179 1.8470284
+ 4000 0.94091054 0 1.268976 6.4723215 2.4627045
+ 5000 1.0218949 0 1.2430242 5.6945977 3.0783806
+ 6000 0.98649481 0 1.1997565 5.2870413 3.6940568
+ 7000 0.9047957 0 1.1461262 5.9291636 4.3097329
+ 8000 0.85697614 0 1.0437412 5.0652097 4.925409
+ 9000 0.84208329 0 1.109218 6.1749808 5.5410852
+ 10000 0.86418108 0 1.1594773 6.2581867 6.1567613
+ 11000 0.95136356 0 1.1650901 5.8389085 6.7724374
+ 12000 0.94571583 0 1.2210342 6.2498816 7.3881135
+ 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135
+ 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374
+ 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613
+ 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852
+ 17000 1.0306843 0 1.3101457 6.4750102 -4.925409
+ 18000 1.071154 0 1.2947547 5.695888 -4.3097329
+ 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568
+ 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806
+ 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045
+ 22000 0.98550707 0 1.1768148 5.019967 -1.8470284
+ 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523
+ 24000 0.94069959 0 1.184119 5.8434876 -0.61567613
+ 25000 0.91569312 0 1.1642118 5.668997 0
+ 26000 0.98882932 0 1.1999248 5.0115507 0.61567613
+ 27000 0.8972608 0 1.2556546 7.0837158 1.2313523
+ 28000 0.93554756 0 1.2221911 5.9302841 1.8470284
+ 29000 0.97894608 0 1.2168736 5.5766766 2.4627045
+ 30000 0.97877055 0 1.2575839 6.4308887 3.0783806
+ 31000 1.0002387 0 1.2338069 5.3873124 3.6940568
+ 32000 0.89608618 0 1.2382021 6.7892204 4.3097329
+ 33000 0.87439302 0 1.2252635 7.078134 4.925409
+ 34000 1.076102 0 1.2991393 5.5556892 5.5410852
+ 35000 1.0018689 0 1.272105 6.1320483 6.1567613
+ 36000 0.93327214 0 1.2428039 7.0030867 6.7724374
+ 37000 1.0770236 0 1.3002931 5.4996076 7.3881135
+ 38000 0.98715132 0 1.215562 5.5958335 -7.3881135
+ 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374
+ 40000 1.0445585 0 1.241151 5.3589806 -6.1567613
+ 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852
+ 42000 0.99231038 0 1.2228781 5.9363471 -4.925409
+ 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329
+ 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568
+ 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806
+ 46000 0.98701623 0 1.170581 4.9719567 -2.4627045
+ 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284
+ 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523
+ 49000 1.0187472 0 1.271608 5.3355092 -0.61567613
+ 50000 1.0194881 0 1.2831094 6.2449759 0
+Loop time of 4.80282 on 1 procs for 50000 steps with 160 atoms
+
+Performance: 4497356.047 tau/day, 10410.546 timesteps/s
+50.2% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0.0032325 | 0.0032325 | 0.0032325 | 0.0 | 0.07
+Comm | 0.033613 | 0.033613 | 0.033613 | 0.0 | 0.70
+Output | 0.00089812 | 0.00089812 | 0.00089812 | 0.0 | 0.02
+Modify | 4.6706 | 4.6706 | 4.6706 | 0.0 | 97.25
+Other | | 0.09449 | | | 1.97
+
+Nlocal: 160 ave 160 max 160 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 5270
+Dangerous builds = 0
+Total wall time: 0:00:04
diff --git a/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2 b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2
new file mode 100644
index 0000000000..7c172d3727
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.client.mpitwo.g++.2
@@ -0,0 +1,130 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md mpi/two tmp.couple
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify sort 0 0.0 map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 2 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000574827 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+fix 3 all client/md
+fix_modify 3 energy yes
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 0
+ ghost atom cutoff = 0
+ binsize = 15.3919, bins = 1 1 1
+ 0 neighbor lists, perpetual/occasional/extra = 0 0 0
+Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.0876599 0 1.3637783 6.063363 0.61567613
+ 2000 1.0722996 0 1.4108622 7.0518942 1.2313523
+ 3000 1.0580774 0 1.3845895 6.0395275 1.8470284
+ 4000 1.0068006 0 1.3804387 7.0944598 2.4627045
+ 5000 0.95391814 0 1.2578438 6.1878831 3.0783806
+ 6000 0.93492945 0 1.2711287 7.0440517 3.6940568
+ 7000 0.94107853 0 1.2384371 6.1438077 4.3097329
+ 8000 0.89711744 0 1.145748 6.3558305 4.925409
+ 9000 0.90190304 0 1.0860684 4.957098 5.5410852
+ 10000 0.84255749 0 1.0376892 5.2351795 6.1567613
+ 11000 0.90250882 0 1.0497695 4.3844838 6.7724374
+ 12000 0.83461274 0 1.0281949 5.1534361 7.3881135
+ 13000 0.80315331 0 1.0226333 5.757222 -7.3881135
+ 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374
+ 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613
+ 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852
+ 17000 0.98268136 0 1.2086981 5.6302847 -4.925409
+ 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329
+ 19000 1.0795086 0 1.4562691 7.639418 -3.6940568
+ 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806
+ 21000 1.2424296 0 1.6048792 7.959585 -2.4627045
+ 22000 1.297169 0 1.7421262 8.9432388 -1.8470284
+ 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523
+ 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613
+ 25000 1.3339728 0 1.6883255 7.529098 0
+ 26000 1.1483243 0 1.5155578 7.3869994 0.61567613
+ 27000 1.1372606 0 1.4368323 7.0580136 1.2313523
+ 28000 1.0518579 0 1.355311 6.478857 1.8470284
+ 29000 1.0581145 0 1.2535509 5.3697479 2.4627045
+ 30000 0.93612564 0 1.185532 5.5520142 3.0783806
+ 31000 0.94387516 0 1.1716454 5.8655485 3.6940568
+ 32000 0.83953515 0 1.0737746 5.5551953 4.3097329
+ 33000 0.84862926 0 1.0564042 5.7795428 4.925409
+ 34000 0.83621877 0 1.079387 5.7514243 5.5410852
+ 35000 0.86938506 0 1.031783 4.5897825 6.1567613
+ 36000 0.88990609 0 1.0807597 5.3751744 6.7724374
+ 37000 0.89534631 0 1.1238882 5.2400355 7.3881135
+ 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135
+ 39000 0.96737778 0 1.2472934 6.1139 -6.7724374
+ 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613
+ 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852
+ 42000 1.0875422 0 1.3963739 7.1208066 -4.925409
+ 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329
+ 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568
+ 45000 1.1243261 0 1.432186 6.884782 -3.0783806
+ 46000 1.039713 0 1.4389721 7.5585257 -2.4627045
+ 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284
+ 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523
+ 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613
+ 50000 0.92367087 0 1.1875669 6.4685214 0
+Loop time of 5.66536 on 2 procs for 50000 steps with 160 atoms
+
+Performance: 3812643.232 tau/day, 8825.563 timesteps/s
+48.1% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0.0012836 | 0.0015377 | 0.0017917 | 0.6 | 0.03
+Comm | 0.037211 | 0.037922 | 0.038633 | 0.4 | 0.67
+Output | 0.00052023 | 0.00073683 | 0.00095344 | 0.0 | 0.01
+Modify | 5.5101 | 5.5105 | 5.511 | 0.0 | 97.27
+Other | | 0.1146 | | | 2.02
+
+Nlocal: 80 ave 80 max 80 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 5257
+Dangerous builds = 0
+Total wall time: 0:00:06
diff --git a/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1 b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1
new file mode 100644
index 0000000000..f5e2f220cd
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.1
@@ -0,0 +1,130 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md zmq localhost:5555
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify sort 0 0.0 map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000530005 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+fix 3 all client/md
+fix_modify 3 energy yes
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 0
+ ghost atom cutoff = 0
+ binsize = 15.3919, bins = 1 1 1
+ 0 neighbor lists, perpetual/occasional/extra = 0 0 0
+Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.0086399 0 1.3760711 6.8772078 0.61567613
+ 2000 1.0707188 0 1.3744107 6.628097 1.2313523
+ 3000 1.0627515 0 1.310096 6.1647179 1.8470284
+ 4000 0.94091054 0 1.268976 6.4723215 2.4627045
+ 5000 1.0218949 0 1.2430242 5.6945977 3.0783806
+ 6000 0.98649481 0 1.1997565 5.2870413 3.6940568
+ 7000 0.9047957 0 1.1461262 5.9291636 4.3097329
+ 8000 0.85697614 0 1.0437412 5.0652097 4.925409
+ 9000 0.84208329 0 1.109218 6.1749808 5.5410852
+ 10000 0.86418108 0 1.1594773 6.2581867 6.1567613
+ 11000 0.95136356 0 1.1650901 5.8389085 6.7724374
+ 12000 0.94571583 0 1.2210342 6.2498816 7.3881135
+ 13000 0.95994288 0 1.2172042 5.9608165 -7.3881135
+ 14000 0.99053999 0 1.2925597 6.9994446 -6.7724374
+ 15000 1.0316726 0 1.3346023 6.6902672 -6.1567613
+ 16000 0.99537481 0 1.3227696 7.0301123 -5.5410852
+ 17000 1.0306843 0 1.3101457 6.4750102 -4.925409
+ 18000 1.071154 0 1.2947547 5.695888 -4.3097329
+ 19000 0.97120752 0 1.3035465 7.3945362 -3.6940568
+ 20000 0.97198994 0 1.2244663 6.0047605 -3.0783806
+ 21000 0.97943545 0 1.2393394 6.3871012 -2.4627045
+ 22000 0.98550707 0 1.1768148 5.019967 -1.8470284
+ 23000 0.96920052 0 1.1730698 5.7944947 -1.2313523
+ 24000 0.94069959 0 1.184119 5.8434876 -0.61567613
+ 25000 0.91569312 0 1.1642118 5.668997 0
+ 26000 0.98882932 0 1.1999248 5.0115507 0.61567613
+ 27000 0.8972608 0 1.2556546 7.0837158 1.2313523
+ 28000 0.93554756 0 1.2221911 5.9302841 1.8470284
+ 29000 0.97894608 0 1.2168736 5.5766766 2.4627045
+ 30000 0.97877055 0 1.2575839 6.4308887 3.0783806
+ 31000 1.0002387 0 1.2338069 5.3873124 3.6940568
+ 32000 0.89608618 0 1.2382021 6.7892204 4.3097329
+ 33000 0.87439302 0 1.2252635 7.078134 4.925409
+ 34000 1.076102 0 1.2991393 5.5556892 5.5410852
+ 35000 1.0018689 0 1.272105 6.1320483 6.1567613
+ 36000 0.93327214 0 1.2428039 7.0030867 6.7724374
+ 37000 1.0770236 0 1.3002931 5.4996076 7.3881135
+ 38000 0.98715132 0 1.215562 5.5958335 -7.3881135
+ 39000 0.95028417 0 1.2566706 6.4133713 -6.7724374
+ 40000 1.0445585 0 1.241151 5.3589806 -6.1567613
+ 41000 0.93799713 0 1.2109086 6.4957845 -5.5410852
+ 42000 0.99231038 0 1.2228781 5.9363471 -4.925409
+ 43000 0.97913815 0 1.1854842 5.8837987 -4.3097329
+ 44000 0.86748838 0 1.1616201 6.8991278 -3.6940568
+ 45000 0.96284421 0 1.1549383 5.1226785 -3.0783806
+ 46000 0.98701623 0 1.170581 4.9719567 -2.4627045
+ 47000 0.92618683 0 1.2146576 6.7100075 -1.8470284
+ 48000 1.0092593 0 1.2523988 5.7067864 -1.2313523
+ 49000 1.0187472 0 1.271608 5.3355092 -0.61567613
+ 50000 1.0194881 0 1.2831094 6.2449759 0
+Loop time of 12.9652 on 1 procs for 50000 steps with 160 atoms
+
+Performance: 1666000.147 tau/day, 3856.482 timesteps/s
+23.2% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0.0018659 | 0.0018659 | 0.0018659 | 0.0 | 0.01
+Comm | 0.020679 | 0.020679 | 0.020679 | 0.0 | 0.16
+Output | 0.00052547 | 0.00052547 | 0.00052547 | 0.0 | 0.00
+Modify | 12.871 | 12.871 | 12.871 | 0.0 | 99.28
+Other | | 0.07062 | | | 0.54
+
+Nlocal: 160 ave 160 max 160 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 5270
+Dangerous builds = 0
+Total wall time: 0:00:12
diff --git a/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2 b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2
new file mode 100644
index 0000000000..8fc570f5da
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.client.zmq.g++.2
@@ -0,0 +1,130 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - client script
+
+variable mode index file
+
+if "${mode} == file" then "message client md file tmp.couple" elif "${mode} == zmq" "message client md zmq localhost:5555" elif "${mode} == mpione" "message client md mpi/one" elif "${mode} == mpitwo" "message client md mpi/two tmp.couple"
+message client md zmq localhost:5555
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify sort 0 0.0 map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 2 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000673056 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+fix 3 all client/md
+fix_modify 3 energy yes
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 0
+ ghost atom cutoff = 0
+ binsize = 15.3919, bins = 1 1 1
+ 0 neighbor lists, perpetual/occasional/extra = 0 0 0
+Per MPI rank memory allocation (min/avg/max) = 2.308 | 2.308 | 2.308 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.0876599 0 1.3637783 6.063363 0.61567613
+ 2000 1.0722996 0 1.4108622 7.0518942 1.2313523
+ 3000 1.0580774 0 1.3845895 6.0395275 1.8470284
+ 4000 1.0068006 0 1.3804387 7.0944598 2.4627045
+ 5000 0.95391814 0 1.2578438 6.1878831 3.0783806
+ 6000 0.93492945 0 1.2711287 7.0440517 3.6940568
+ 7000 0.94107853 0 1.2384371 6.1438077 4.3097329
+ 8000 0.89711744 0 1.145748 6.3558305 4.925409
+ 9000 0.90190304 0 1.0860684 4.957098 5.5410852
+ 10000 0.84255749 0 1.0376892 5.2351795 6.1567613
+ 11000 0.90250882 0 1.0497695 4.3844838 6.7724374
+ 12000 0.83461274 0 1.0281949 5.1534361 7.3881135
+ 13000 0.80315331 0 1.0226333 5.757222 -7.3881135
+ 14000 0.81820939 0 0.99276466 4.6943725 -6.7724374
+ 15000 0.8239631 0 1.0408289 5.1669006 -6.1567613
+ 16000 0.88908894 0 1.1554855 6.3510278 -5.5410852
+ 17000 0.98268136 0 1.2086981 5.6302847 -4.925409
+ 18000 1.0098162 0 1.3687676 7.5243587 -4.3097329
+ 19000 1.0795086 0 1.4562691 7.639418 -3.6940568
+ 20000 1.1932155 0 1.5278988 7.0668432 -3.0783806
+ 21000 1.2424296 0 1.6048792 7.959585 -2.4627045
+ 22000 1.297169 0 1.7421262 8.9432388 -1.8470284
+ 23000 1.2863494 0 1.7236774 8.3584973 -1.2313523
+ 24000 1.4084347 0 1.7370339 7.2729078 -0.61567613
+ 25000 1.3339728 0 1.6883255 7.529098 0
+ 26000 1.1483243 0 1.5155578 7.3869994 0.61567613
+ 27000 1.1372606 0 1.4368323 7.0580136 1.2313523
+ 28000 1.0518579 0 1.355311 6.478857 1.8470284
+ 29000 1.0581145 0 1.2535509 5.3697479 2.4627045
+ 30000 0.93612564 0 1.185532 5.5520142 3.0783806
+ 31000 0.94387516 0 1.1716454 5.8655485 3.6940568
+ 32000 0.83953515 0 1.0737746 5.5551953 4.3097329
+ 33000 0.84862926 0 1.0564042 5.7795428 4.925409
+ 34000 0.83621877 0 1.079387 5.7514243 5.5410852
+ 35000 0.86938506 0 1.031783 4.5897825 6.1567613
+ 36000 0.88990609 0 1.0807597 5.3751744 6.7724374
+ 37000 0.89534631 0 1.1238882 5.2400355 7.3881135
+ 38000 0.98545003 0 1.2121125 5.7783854 -7.3881135
+ 39000 0.96737778 0 1.2472934 6.1139 -6.7724374
+ 40000 1.0664194 0 1.2956811 5.7353661 -6.1567613
+ 41000 1.0681494 0 1.3269435 6.3102722 -5.5410852
+ 42000 1.0875422 0 1.3963739 7.1208066 -4.925409
+ 43000 1.0968173 0 1.3388062 6.1704339 -4.3097329
+ 44000 1.1182109 0 1.3773214 7.0872686 -3.6940568
+ 45000 1.1243261 0 1.432186 6.884782 -3.0783806
+ 46000 1.039713 0 1.4389721 7.5585257 -2.4627045
+ 47000 1.0816108 0 1.4100361 6.4611126 -1.8470284
+ 48000 0.97637127 0 1.3605389 7.3992744 -1.2313523
+ 49000 1.0361978 0 1.2721873 5.8166109 -0.61567613
+ 50000 0.92367087 0 1.1875669 6.4685214 0
+Loop time of 13.6129 on 2 procs for 50000 steps with 160 atoms
+
+Performance: 1586733.497 tau/day, 3672.994 timesteps/s
+59.3% CPU use with 2 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0 | 0 | 0 | 0.0 | 0.00
+Neigh | 0.0015125 | 0.0015551 | 0.0015976 | 0.1 | 0.01
+Comm | 0.026598 | 0.028413 | 0.030227 | 1.1 | 0.21
+Output | 0.00046492 | 0.00063884 | 0.00081277 | 0.0 | 0.00
+Modify | 13.465 | 13.483 | 13.501 | 0.5 | 99.04
+Other | | 0.0994 | | | 0.73
+
+Nlocal: 80 ave 80 max 80 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Nghost: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+Neighs: 0 ave 0 max 0 min
+Histogram: 2 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 0
+Ave neighs/atom = 0
+Neighbor list builds = 5257
+Dangerous builds = 0
+Total wall time: 0:00:13
diff --git a/examples/message/log.28Aug18.message.tilt.g++.1 b/examples/message/log.28Aug18.message.tilt.g++.1
new file mode 100644
index 0000000000..3f7cfc9da0
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.g++.1
@@ -0,0 +1,129 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - no client/server mode
+
+units lj
+atom_style atomic
+dimension 2
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000437021 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.1326992 0.25863754 1.3842573 6.0588079 0.61567613
+ 2000 1.0158438 0.33502643 1.3445212 7.2638652 1.2313523
+ 3000 1.0968167 0.3149227 1.4048843 7.0653223 1.8470284
+ 4000 1.0070993 0.40611915 1.4069241 7.7283521 2.4627045
+ 5000 1.1153133 0.2674828 1.3758254 6.2949171 3.0783806
+ 6000 1.0170665 0.25843673 1.2691466 6.049412 3.6940568
+ 7000 1.0224605 0.20974914 1.2258193 5.5104976 4.3097329
+ 8000 0.96149374 0.24035439 1.1958388 5.4179146 4.925409
+ 9000 0.87759014 0.2590493 1.1311545 5.8711239 5.5410852
+ 10000 0.83791968 0.23477897 1.0674617 5.666904 6.1567613
+ 11000 0.87702487 0.22958877 1.1011322 5.9068062 6.7724374
+ 12000 0.81507294 0.26375817 1.0737369 5.9166925 7.3881135
+ 13000 0.85655284 0.24676491 1.0979643 5.6918734 -7.3881135
+ 14000 0.84369293 0.27818471 1.1166046 6.4146184 -6.7724374
+ 15000 0.90052173 0.19836095 1.0932544 5.2690913 -6.1567613
+ 16000 0.83836874 0.26921637 1.1023453 5.9579526 -5.5410852
+ 17000 0.90492897 0.21933098 1.1186041 5.6042194 -4.925409
+ 18000 0.90113412 0.24880908 1.1443111 6.0634846 -4.3097329
+ 19000 1.0160445 0.17252962 1.1822239 5.3149334 -3.6940568
+ 20000 0.96217234 0.2414377 1.1975965 5.476653 -3.0783806
+ 21000 0.98229664 0.27569118 1.2518485 5.9340174 -2.4627045
+ 22000 1.0551763 0.26997615 1.3185576 6.2094112 -1.8470284
+ 23000 1.051999 0.34076639 1.3861904 7.082385 -1.2313523
+ 24000 1.1350071 0.23701844 1.3649317 6.1829742 -0.61567613
+ 25000 1.0946409 0.33366032 1.4214597 7.1907559 0
+ 26000 1.1511799 0.24626808 1.3902531 5.8469984 0.61567613
+ 27000 1.1009203 0.25653085 1.3505704 6.1504287 1.2313523
+ 28000 1.0521302 0.2876798 1.3332342 5.9906187 1.8470284
+ 29000 1.0518465 0.21853 1.2638025 5.6577549 2.4627045
+ 30000 0.97264625 0.28758145 1.2541487 6.5769804 3.0783806
+ 31000 1.0133579 0.31575837 1.3227828 6.6650893 3.6940568
+ 32000 1.0714324 0.28757036 1.3523063 6.2682059 4.3097329
+ 33000 1.0739451 0.28062459 1.3478575 6.6862746 4.925409
+ 34000 1.0056867 0.38289586 1.382297 7.1120131 5.5410852
+ 35000 1.0911349 0.26370939 1.3480247 6.1476048 6.1567613
+ 36000 1.0618618 0.28269593 1.3379211 6.9414608 6.7724374
+ 37000 1.0704991 0.29974994 1.3635585 7.0834346 7.3881135
+ 38000 1.1087507 0.2682201 1.3700411 5.8506019 -7.3881135
+ 39000 1.1303733 0.22362416 1.3469326 5.2500269 -6.7724374
+ 40000 1.0174248 0.28956571 1.3006316 6.4491571 -6.1567613
+ 41000 0.95981887 0.29162143 1.2454414 6.4658646 -5.5410852
+ 42000 0.88302144 0.30432252 1.1818251 6.7401923 -4.925409
+ 43000 0.93164419 0.25110308 1.1769245 5.9067383 -4.3097329
+ 44000 0.98352598 0.23322873 1.2106077 5.5606585 -3.6940568
+ 45000 1.0247245 0.26503082 1.2833508 6.533394 -3.0783806
+ 46000 0.93004532 0.32277782 1.2470104 6.4689179 -2.4627045
+ 47000 1.0653176 0.29185413 1.3505135 6.9534569 -1.8470284
+ 48000 1.0401524 0.3420245 1.3756759 6.8016042 -1.2313523
+ 49000 1.0023407 0.31833091 1.314407 6.7385662 -0.61567613
+ 50000 1.0566272 0.28657142 1.3365947 6.261203 0
+Loop time of 1.15672 on 1 procs for 50000 steps with 160 atoms
+
+Performance: 18673426.371 tau/day, 43225.524 timesteps/s
+99.8% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0.19267 | 0.19267 | 0.19267 | 0.0 | 16.66
+Neigh | 0.15156 | 0.15156 | 0.15156 | 0.0 | 13.10
+Comm | 0.044569 | 0.044569 | 0.044569 | 0.0 | 3.85
+Output | 0.00057936 | 0.00057936 | 0.00057936 | 0.0 | 0.05
+Modify | 0.71051 | 0.71051 | 0.71051 | 0.0 | 61.42
+Other | | 0.05684 | | | 4.91
+
+Nlocal: 160 ave 160 max 160 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 71 ave 71 max 71 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 362 ave 362 max 362 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 362
+Ave neighs/atom = 2.2625
+Neighbor list builds = 5256
+Dangerous builds = 0
+Total wall time: 0:00:01
diff --git a/examples/message/log.28Aug18.message.tilt.g++.4 b/examples/message/log.28Aug18.message.tilt.g++.4
new file mode 100644
index 0000000000..74061463f6
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.g++.4
@@ -0,0 +1,129 @@
+LAMMPS (22 Aug 2018)
+# 2d NEMD simulation - no client/server mode
+
+units lj
+atom_style atomic
+dimension 2
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000396967 secs
+mass * 1.0
+
+velocity all create 1.44 87287 loop geom
+
+region slice block 4 6 INF INF INF INF
+set region slice type 2
+ 40 settings made for type
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
+fix 2 all deform 1 xy erate 0.01 remap v
+
+thermo_style custom step temp epair etotal press xy
+
+thermo 1000
+run 50000
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes
+Step Temp E_pair TotEng Press Xy
+ 0 1.44 0 1.431 1.2080502 0
+ 1000 1.1326992 0.25863754 1.3842573 6.0588079 0.61567613
+ 2000 1.0158438 0.33502643 1.3445212 7.2638652 1.2313523
+ 3000 1.0968167 0.3149227 1.4048843 7.0653223 1.8470284
+ 4000 1.0070993 0.40611915 1.4069241 7.7283521 2.4627045
+ 5000 1.1153133 0.2674828 1.3758254 6.2949171 3.0783806
+ 6000 1.0170665 0.25843673 1.2691466 6.049412 3.6940568
+ 7000 1.0224605 0.20974914 1.2258193 5.5104976 4.3097329
+ 8000 0.96149374 0.24035439 1.1958388 5.4179146 4.925409
+ 9000 0.87759014 0.2590493 1.1311545 5.8711239 5.5410852
+ 10000 0.83791968 0.23477897 1.0674617 5.666904 6.1567613
+ 11000 0.87702487 0.22958877 1.1011322 5.9068062 6.7724374
+ 12000 0.81507294 0.26375817 1.0737369 5.9166925 7.3881135
+ 13000 0.85655284 0.24676491 1.0979643 5.6918734 -7.3881135
+ 14000 0.84369293 0.27818471 1.1166046 6.4146184 -6.7724374
+ 15000 0.90052173 0.19836095 1.0932544 5.2690913 -6.1567613
+ 16000 0.83836874 0.26921637 1.1023453 5.9579526 -5.5410852
+ 17000 0.90492897 0.21933098 1.1186041 5.6042194 -4.925409
+ 18000 0.90113412 0.24880908 1.1443111 6.0634846 -4.3097329
+ 19000 1.0160445 0.17252962 1.1822239 5.3149334 -3.6940568
+ 20000 0.96217234 0.2414377 1.1975965 5.476653 -3.0783806
+ 21000 0.98229664 0.27569118 1.2518485 5.9340174 -2.4627045
+ 22000 1.0551763 0.26997615 1.3185576 6.2094112 -1.8470284
+ 23000 1.051999 0.34076639 1.3861904 7.082385 -1.2313523
+ 24000 1.1350071 0.23701844 1.3649317 6.1829742 -0.61567613
+ 25000 1.0946409 0.33366032 1.4214597 7.1907559 0
+ 26000 1.1511799 0.24626808 1.3902531 5.8469984 0.61567613
+ 27000 1.1009203 0.25653085 1.3505704 6.1504287 1.2313523
+ 28000 1.0521302 0.2876798 1.3332342 5.9906187 1.8470284
+ 29000 1.0518465 0.21853 1.2638025 5.6577549 2.4627045
+ 30000 0.97264625 0.28758145 1.2541487 6.5769804 3.0783806
+ 31000 1.0133579 0.31575837 1.3227828 6.6650893 3.6940568
+ 32000 1.0714324 0.28757036 1.3523063 6.2682059 4.3097329
+ 33000 1.0739451 0.28062459 1.3478575 6.6862746 4.925409
+ 34000 1.0056867 0.38289586 1.382297 7.1120131 5.5410852
+ 35000 1.0911349 0.26370939 1.3480247 6.1476048 6.1567613
+ 36000 1.0618618 0.28269593 1.3379211 6.9414608 6.7724374
+ 37000 1.0704991 0.29974994 1.3635585 7.0834346 7.3881135
+ 38000 1.1087507 0.2682201 1.3700411 5.8506019 -7.3881135
+ 39000 1.1303733 0.22362416 1.3469326 5.2500269 -6.7724374
+ 40000 1.0174248 0.28956571 1.3006316 6.4491571 -6.1567613
+ 41000 0.95981887 0.29162143 1.2454414 6.4658646 -5.5410852
+ 42000 0.88302144 0.30432252 1.1818251 6.7401923 -4.925409
+ 43000 0.93164419 0.25110308 1.1769245 5.9067383 -4.3097329
+ 44000 0.98352598 0.23322873 1.2106077 5.5606585 -3.6940568
+ 45000 1.0247245 0.26503082 1.2833508 6.533394 -3.0783806
+ 46000 0.93004532 0.32277782 1.2470104 6.4689179 -2.4627045
+ 47000 1.0653176 0.29185413 1.3505135 6.9534569 -1.8470284
+ 48000 1.0401524 0.3420245 1.3756759 6.8016042 -1.2313523
+ 49000 1.0023407 0.31833091 1.314407 6.7385662 -0.61567613
+ 50000 1.0566272 0.28657142 1.3365947 6.261203 0
+Loop time of 0.92653 on 1 procs for 50000 steps with 160 atoms
+
+Performance: 23312793.646 tau/day, 53964.800 timesteps/s
+100.0% CPU use with 1 MPI tasks x no OpenMP threads
+
+MPI task timing breakdown:
+Section | min time | avg time | max time |%varavg| %total
+---------------------------------------------------------------
+Pair | 0.15063 | 0.15063 | 0.15063 | 0.0 | 16.26
+Neigh | 0.11869 | 0.11869 | 0.11869 | 0.0 | 12.81
+Comm | 0.035839 | 0.035839 | 0.035839 | 0.0 | 3.87
+Output | 0.00064468 | 0.00064468 | 0.00064468 | 0.0 | 0.07
+Modify | 0.57422 | 0.57422 | 0.57422 | 0.0 | 61.98
+Other | | 0.0465 | | | 5.02
+
+Nlocal: 160 ave 160 max 160 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Nghost: 71 ave 71 max 71 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+Neighs: 362 ave 362 max 362 min
+Histogram: 1 0 0 0 0 0 0 0 0 0
+
+Total # of neighbors = 362
+Ave neighs/atom = 2.2625
+Neighbor list builds = 5256
+Dangerous builds = 0
+Total wall time: 0:00:00
diff --git a/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1 b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1
new file mode 100644
index 0000000000..428ff346ad
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.1
@@ -0,0 +1,48 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/one
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000438929 secs
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 1 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Server MD calls = 50001
+Server MD reneighborings 5073
+Total wall time: 0:00:01
diff --git a/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4 b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4
new file mode 100644
index 0000000000..3da50163ed
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.server.mpione.g++.4
@@ -0,0 +1,48 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/one
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 2 by 2 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000455141 secs
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 2 by 2 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Server MD calls = 50001
+Server MD reneighborings 5066
+Total wall time: 0:00:02
diff --git a/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1 b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1
new file mode 100644
index 0000000000..fc29a6da63
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.1
@@ -0,0 +1,48 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/two tmp.couple
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000521898 secs
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 1 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Server MD calls = 50001
+Server MD reneighborings 5073
+Total wall time: 0:00:04
diff --git a/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4 b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4
new file mode 100644
index 0000000000..758b84fe9d
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.server.mpitwo.g++.4
@@ -0,0 +1,48 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md mpi/two tmp.couple
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 2 by 2 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000378847 secs
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 2 by 2 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Server MD calls = 50001
+Server MD reneighborings 5066
+Total wall time: 0:00:06
diff --git a/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1 b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1
new file mode 100644
index 0000000000..78526ba748
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.1
@@ -0,0 +1,48 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md zmq *:5555
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 1 by 1 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000557184 secs
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 1 by 1 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Server MD calls = 50001
+Server MD reneighborings 5073
+Total wall time: 0:00:12
diff --git a/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4 b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4
new file mode 100644
index 0000000000..b1ad768470
--- /dev/null
+++ b/examples/message/log.28Aug18.message.tilt.server.zmq.g++.4
@@ -0,0 +1,48 @@
+LAMMPS (22 Aug 2018)
+# 3d Lennard-Jones melt - server script
+
+variable mode index file
+
+if "${mode} == file" then "message server md file tmp.couple" elif "${mode} == zmq" "message server md zmq *:5555" elif "${mode} == mpione" "message server md mpi/one" elif "${mode} == mpitwo" "message server md mpi/two tmp.couple"
+message server md zmq *:5555
+
+units lj
+atom_style atomic
+dimension 2
+atom_modify map yes
+
+lattice sq2 0.8442
+Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
+region box prism 0 10 0 8 -0.5 0.5 0 0 0
+create_box 2 box
+Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
+ 2 by 2 by 1 MPI processor grid
+create_atoms 1 box
+Created 160 atoms
+ Time spent = 0.000586987 secs
+mass * 1.0 # masses not used by server
+
+pair_style lj/cut 2.5
+pair_coeff * * 1.0 1.0 1.0
+
+neighbor 0.3 bin
+neigh_modify delay 0 every 1 check yes
+
+server md
+ 2 by 2 by 1 MPI processor grid
+WARNING: No fixes defined, atoms won't move (../verlet.cpp:55)
+Neighbor list info ...
+ update every 1 steps, delay 0 steps, check yes
+ max neighbors/atom: 2000, page size: 100000
+ master list distance cutoff = 1.3
+ ghost atom cutoff = 1.3
+ binsize = 0.65, bins = 24 19 3
+ 1 neighbor lists, perpetual/occasional/extra = 1 0 0
+ (1) pair lj/cut, perpetual
+ attributes: half, newton on
+ pair build: half/bin/newton/tri
+ stencil: half/bin/2d/newton/tri
+ bin: standard
+Server MD calls = 50001
+Server MD reneighborings 5066
+Total wall time: 0:00:13
diff --git a/lib/README b/lib/README
index 3c8f46dd0a..12c27b2a39 100644
--- a/lib/README
+++ b/lib/README
@@ -35,6 +35,8 @@ linalg set of BLAS and LAPACK routines needed by USER-ATC package
from Axel Kohlmeyer (Temple U)
meam modified embedded atom method (MEAM) potential, MEAM package
from Greg Wagner (Sandia)
+message client/server communication library via MPI, sockets, files
+ from Steve Plimpton (Sandia)
molfile hooks to VMD molfile plugins, used by the USER-MOLFILE package
from Axel Kohlmeyer (Temple U) and the VMD development team
mscg hooks to the MSCG library, used by fix_mscg command
diff --git a/lib/message/Install.py b/lib/message/Install.py
new file mode 100644
index 0000000000..d3f31c986f
--- /dev/null
+++ b/lib/message/Install.py
@@ -0,0 +1,118 @@
+#!/usr/bin/env python
+
+# Install.py tool to build the CSlib library
+# used to automate the steps described in the README file in this dir
+
+from __future__ import print_function
+import sys,os,re,subprocess
+
+# help message
+
+help = """
+Syntax from src dir: make lib-message args="-m"
+ or: make lib-message args="-s -z"
+Syntax from lib dir: python Install.py -m
+ or: python Install.py -s -z
+
+specify zero or more options, order does not matter
+
+ -m = parallel build of CSlib library
+ -s = serial build of CSlib library
+ -z = build CSlib library with ZMQ socket support, default = no ZMQ support
+
+Example:
+
+make lib-message args="-m -z" # build parallel CSlib with ZMQ support
+make lib-message args="-s" # build serial CSlib with no ZMQ support
+"""
+
+# print error message or help
+
+def error(str=None):
+ if not str: print(help)
+ else: print("ERROR",str)
+ sys.exit()
+
+# expand to full path name
+# process leading '~' or relative path
+
+def fullpath(path):
+ return os.path.abspath(os.path.expanduser(path))
+
+def which(program):
+ def is_exe(fpath):
+ return os.path.isfile(fpath) and os.access(fpath, os.X_OK)
+
+ fpath, fname = os.path.split(program)
+ if fpath:
+ if is_exe(program):
+ return program
+ else:
+ for path in os.environ["PATH"].split(os.pathsep):
+ path = path.strip('"')
+ exe_file = os.path.join(path, program)
+ if is_exe(exe_file):
+ return exe_file
+
+ return None
+
+# parse args
+
+args = sys.argv[1:]
+nargs = len(args)
+if nargs == 0: error()
+
+mpiflag = False
+serialflag = False
+zmqflag = False
+
+iarg = 0
+while iarg < nargs:
+ if args[iarg] == "-m":
+ mpiflag = True
+ iarg += 1
+ elif args[iarg] == "-s":
+ serialflag = True
+ iarg += 1
+ elif args[iarg] == "-z":
+ zmqflag = True
+ iarg += 1
+ else: error()
+
+if (not mpiflag and not serialflag):
+ error("Must use either -m or -s flag")
+
+if (mpiflag and serialflag):
+ error("Cannot use -m and -s flag at the same time")
+
+# build CSlib
+# copy resulting lib to cslib/src/libmessage.a
+# copy appropriate Makefile.lammps.* to Makefile.lammps
+
+print("Building CSlib ...")
+srcdir = fullpath("./cslib/src")
+
+if mpiflag and zmqflag:
+ cmd = "cd %s; make lib_parallel" % srcdir
+elif mpiflag and not zmqflag:
+ cmd = "cd %s; make lib_parallel zmq=no" % srcdir
+elif not mpiflag and zmqflag:
+ cmd = "cd %s; make lib_serial" % srcdir
+elif not mpiflag and not zmqflag:
+ cmd = "cd %s; make lib_serial zmq=no" % srcdir
+
+print(cmd)
+txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
+print(txt.decode('UTF-8'))
+
+if mpiflag: cmd = "cd %s; cp libcsmpi.a libmessage.a" % srcdir
+else: cmd = "cd %s; cp libcsnompi.a libmessage.a" % srcdir
+print(cmd)
+txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
+print(txt.decode('UTF-8'))
+
+if zmqflag: cmd = "cp Makefile.lammps.zmq Makefile.lammps"
+else: cmd = "cp Makefile.lammps.nozmq Makefile.lammps"
+print(cmd)
+txt = subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
+print(txt.decode('UTF-8'))
diff --git a/lib/message/Makefile.lammps.nozmq b/lib/message/Makefile.lammps.nozmq
new file mode 100644
index 0000000000..1bb10cc988
--- /dev/null
+++ b/lib/message/Makefile.lammps.nozmq
@@ -0,0 +1,5 @@
+# Settings that the LAMMPS build will import when this package library is used
+
+message_SYSINC =
+message_SYSLIB =
+message_SYSPATH =
diff --git a/lib/message/Makefile.lammps.zmq b/lib/message/Makefile.lammps.zmq
new file mode 100644
index 0000000000..759f2ce04b
--- /dev/null
+++ b/lib/message/Makefile.lammps.zmq
@@ -0,0 +1,5 @@
+# Settings that the LAMMPS build will import when this package library is used
+
+message_SYSINC =
+message_SYSLIB = -lzmq
+message_SYSPATH =
diff --git a/lib/message/README b/lib/message/README
new file mode 100644
index 0000000000..dafb94e9ef
--- /dev/null
+++ b/lib/message/README
@@ -0,0 +1,51 @@
+This directory contains the CSlib library which is required
+to use the MESSAGE package and its client/server commands
+in a LAMMPS input script.
+
+The CSlib libary is included in the LAMMPS distribution. A fuller
+version including documentation and test programs is available at
+http://cslib.sandia.gov. It was developed by Steve Plimpton at Sandia
+National Laboratories.
+
+You can type "make lib-message" from the src directory to see help on
+how to build this library via make commands, or you can do the same
+thing by typing "python Install.py" from within this directory, or you
+can do it manually by following the instructions below.
+
+The CSlib can be optionally built with support for sockets using
+the open-source ZeroMQ (ZMQ) library. If it is not installed
+on your system, it is easy to download and install.
+
+Go to the ZMQ website for details: http://zeromq.org
+
+-----------------
+
+Instructions:
+
+1. Compile CSlib from within cslib/src with one of the following:
+ % make lib_parallel # build parallel library with ZMQ socket support
+ % make lib_serial # build serial library with ZMQ support
+ % make lib_parallel zmq=no # build parallel lib with no ZMQ support
+ % make lib_serial zmq=no # build serial lib with no ZMQ support
+
+2. Copy the produced cslib/src/libcsmpi.a or libscnompi.a file to
+ cslib/src/libmessage.a
+
+3. Copy either lib/message/Makefile.lammps.zmq or Makefile.lammps.nozmq
+ to lib/message/Makefile.lammps, depending on whether you
+ build the library with ZMQ support or not.
+ If your ZMQ library is not in a place your shell path finds,
+ you can set the INCLUDE and PATH variables in Makefile.lammps
+ to point to the dirs where the ZMQ include and library files are.
+
+-----------------
+
+When these steps are complete you can build LAMMPS
+with the MESSAGAE package installed:
+
+% cd lammps/src
+% make yes-message
+% make mpi (or whatever target you wish)
+
+Note that if you download and unpack a new LAMMPS tarball, you will
+need to re-build the CSlib in this dir.
diff --git a/lib/message/cslib/LICENSE b/lib/message/cslib/LICENSE
new file mode 100644
index 0000000000..7a36e21daf
--- /dev/null
+++ b/lib/message/cslib/LICENSE
@@ -0,0 +1,32 @@
+Program: CSlib client/server coupling library
+
+Copyright 2018 National Technology & Engineering Solutions of Sandia,
+LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the
+U.S. Government retains certain rights in this software. This
+software is distributed under the modified Berkeley Software
+Distribution (BSD) License.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of Sandia Corporation nor the names of contributors
+ to this software may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/lib/message/cslib/README b/lib/message/cslib/README
new file mode 100644
index 0000000000..37f4a97d54
--- /dev/null
+++ b/lib/message/cslib/README
@@ -0,0 +1,23 @@
+This is the the Client/Server messaging library (CSlib).
+
+Only the source directory and license file are included here as part
+of the LAMMPS distribution. The full CSlib distribution, including
+documentation and test codes, can be found at the website:
+http://cslib.sandia.gov (as of Aug 2018).
+
+The contact author is
+
+Steve Plimpton
+Sandia National Laboratories
+sjplimp@sandia.gov
+http://www.sandia.gov/~sjplimp
+
+The CSlib is distributed as open-source code under the modified
+Berkeley Software Distribution (BSD) License. See the accompanying
+LICENSE file.
+
+This directory contains the following:
+
+README this file
+LICENSE GNU LGPL license
+src source files for library
diff --git a/lib/message/cslib/src/Makefile b/lib/message/cslib/src/Makefile
new file mode 100644
index 0000000000..83cf902220
--- /dev/null
+++ b/lib/message/cslib/src/Makefile
@@ -0,0 +1,107 @@
+# Makefile for CSlib = client/server messaging library
+# type "make help" for options
+
+SHELL = /bin/sh
+
+# ----------------------------------------
+# should only need to change this section
+# compiler/linker settings
+# ----------------------------------------
+
+CC = g++
+CCFLAGS = -g -O3 -DZMQ_$(ZMQ) -DMPI_$(MPI)
+SHFLAGS = -fPIC
+ARCHIVE = ar
+ARCHFLAGS = -rc
+SHLIBFLAGS = -shared
+
+# files
+
+LIB = libcsmpi.a
+SHLIB = libcsmpi.so
+SRC = $(wildcard *.cpp)
+INC = $(wildcard *.h)
+OBJ = $(SRC:.cpp=.o)
+
+# build with ZMQ support or not
+
+zmq = yes
+ZMQ = $(shell echo $(zmq) | tr a-z A-Z)
+
+ifeq ($(ZMQ),YES)
+ ZMQLIB = -lzmq
+else
+ CCFLAGS += -I./STUBS_ZMQ
+endif
+
+# build with MPI support or not
+
+mpi = yes
+MPI = $(shell echo $(mpi) | tr a-z A-Z)
+
+ifeq ($(MPI),YES)
+ CC = mpicxx
+else
+ CCFLAGS += -I./STUBS_MPI
+ LIB = libcsnompi.a
+ SHLIB = libcsnompi.so
+endif
+
+# targets
+
+shlib: shlib_parallel shlib_serial
+
+lib: lib_parallel lib_serial
+
+all: shlib lib
+
+help:
+ @echo 'make default = shlib'
+ @echo 'make shlib build 2 shared CSlibs: parallel & serial'
+ @echo 'make lib build 2 static CSlibs: parallel & serial'
+ @echo 'make all build 4 CSlibs: shlib and lib'
+ @echo 'make shlib_parallel build shared parallel CSlib'
+ @echo 'make shlib_serial build shared serial CSlib'
+ @echo 'make lib_parallel build static parallel CSlib'
+ @echo 'make lib_serial build static serial CSlib'
+ @echo 'make ... zmq=no build w/out ZMQ support'
+ @echo 'make clean remove all *.o files'
+ @echo 'make clean-all remove *.o and lib files'
+ @echo 'make tar create a tarball, 2 levels up'
+
+shlib_parallel:
+ $(MAKE) clean
+ $(MAKE) shared zmq=$(zmq) mpi=yes
+
+shlib_serial:
+ $(MAKE) clean
+ $(MAKE) shared zmq=$(zmq) mpi=no
+
+lib_parallel:
+ $(MAKE) clean
+ $(MAKE) static zmq=$(zmq) mpi=yes
+
+lib_serial:
+ $(MAKE) clean
+ $(MAKE) static zmq=$(zmq) mpi=no
+
+static: $(OBJ)
+ $(ARCHIVE) $(ARCHFLAGS) $(LIB) $(OBJ)
+
+shared: $(OBJ)
+ $(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) -o $(SHLIB) $(OBJ) $(ZMQLIB)
+
+clean:
+ @rm -f *.o *.pyc
+
+clean-all:
+ @rm -f *.o *.pyc lib*.a lib*.so
+
+tar:
+ cd ../..; tar cvf cslib.tar cslib/README cslib/LICENSE \
+ cslib/doc cslib/src cslib/test
+
+# rules
+
+%.o:%.cpp
+ $(CC) $(CCFLAGS) $(SHFLAGS) -c $<
diff --git a/lib/message/cslib/src/STUBS_MPI/mpi.h b/lib/message/cslib/src/STUBS_MPI/mpi.h
new file mode 100644
index 0000000000..2919e4c3a2
--- /dev/null
+++ b/lib/message/cslib/src/STUBS_MPI/mpi.h
@@ -0,0 +1,96 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+// MPI constants and dummy functions
+
+#ifndef MPI_DUMMY_H
+#define MPI_DUMMY_H
+
+#include
+#include
+#include
+
+namespace CSLIB_NS {
+
+typedef int MPI_Comm;
+typedef int MPI_Fint;
+typedef int MPI_Datatype;
+typedef int MPI_Status;
+typedef int MPI_Op;
+typedef int MPI_Info;
+
+#define MPI_COMM_WORLD 0
+#define MPI_MAX_PORT_NAME 0
+#define MPI_INFO_NULL 0
+#define MPI_INT 1
+#define MPI_LONG_LONG 2
+#define MPI_FLOAT 3
+#define MPI_DOUBLE 4
+#define MPI_CHAR 5
+#define MPI_SUM 0
+
+static void MPI_Init(int *, char ***) {}
+static MPI_Comm MPI_Comm_f2c(MPI_Comm world) {return world;}
+static void MPI_Comm_rank(MPI_Comm, int *) {}
+static void MPI_Comm_size(MPI_Comm, int *) {}
+
+static void MPI_Open_port(MPI_Info, char *) {}
+static void MPI_Close_port(const char *) {}
+static void MPI_Comm_accept(const char *, MPI_Info, int,
+ MPI_Comm, MPI_Comm *) {}
+static void MPI_Comm_connect(const char *, MPI_Info, int,
+ MPI_Comm, MPI_Comm *) {}
+
+static void MPI_Comm_split(MPI_Comm, int, int, MPI_Comm *) {}
+static void MPI_Comm_free(MPI_Comm *) {}
+
+static void MPI_Send(const void *, int, MPI_Datatype, int, int, MPI_Comm) {}
+static void MPI_Recv(void *, int, MPI_Datatype, int, int,
+ MPI_Comm, MPI_Status *) {}
+
+static void MPI_Allreduce(const void *in, void *out, int, MPI_Datatype type,
+ MPI_Op op, MPI_Comm)
+{
+ if (type == MPI_INT) *((int *) out) = *((int *) in);
+}
+static void MPI_Scan(const void *in, void *out, int, MPI_Datatype intype,
+ MPI_Op op,MPI_Comm)
+{
+ if (intype == MPI_INT) *((int *) out) = *((int *) in);
+}
+
+static void MPI_Bcast(void *, int, MPI_Datatype, int, MPI_Comm) {}
+static void MPI_Allgather(const void *in, int incount, MPI_Datatype intype,
+ void *out, int, MPI_Datatype, MPI_Comm)
+{
+ // assuming incount = 1
+ if (intype == MPI_INT) *((int *) out) = *((int *) in);
+}
+static void MPI_Allgatherv(const void *in, int incount, MPI_Datatype intype,
+ void *out, const int *, const int *,
+ MPI_Datatype, MPI_Comm)
+{
+ if (intype == MPI_INT) memcpy(out,in,incount*sizeof(int));
+ else if (intype == MPI_LONG_LONG) memcpy(out,in,incount*sizeof(int64_t));
+ else if (intype == MPI_FLOAT) memcpy(out,in,incount*sizeof(float));
+ else if (intype == MPI_DOUBLE) memcpy(out,in,incount*sizeof(double));
+ else if (intype == MPI_CHAR) memcpy(out,in,incount*sizeof(char));
+}
+
+static void MPI_Abort(MPI_Comm, int) {exit(1);}
+static void MPI_Finalize() {}
+
+}
+
+#endif
diff --git a/lib/message/cslib/src/STUBS_ZMQ/zmq.h b/lib/message/cslib/src/STUBS_ZMQ/zmq.h
new file mode 100644
index 0000000000..2f02eb4035
--- /dev/null
+++ b/lib/message/cslib/src/STUBS_ZMQ/zmq.h
@@ -0,0 +1,36 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+// ZMQ constants and dummy functions
+
+#ifndef ZMQ_DUMMY_H
+#define ZMQ_DUMMY_H
+
+namespace CSLIB_NS {
+
+#define ZMQ_REQ 0
+#define ZMQ_REP 0
+
+static void *zmq_ctx_new() {return NULL;}
+static void *zmq_connect(void *, char *) {return NULL;}
+static int zmq_bind(void *, char *) {return 0;}
+static void *zmq_socket(void *,int) {return NULL;}
+static void zmq_close(void *) {}
+static void zmq_ctx_destroy(void *) {}
+static void zmq_send(void *, void *, int, int) {}
+static void zmq_recv(void *, void *, int, int) {}
+
+};
+
+#endif
diff --git a/lib/message/cslib/src/cslib.cpp b/lib/message/cslib/src/cslib.cpp
new file mode 100644
index 0000000000..874333607e
--- /dev/null
+++ b/lib/message/cslib/src/cslib.cpp
@@ -0,0 +1,768 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include
+#include
+#include
+
+#include "cslib.h"
+#include "msg_file.h"
+#include "msg_zmq.h"
+#include "msg_mpi_one.h"
+#include "msg_mpi_two.h"
+
+using namespace CSLIB_NS;
+
+#define MAXTYPE 5 // # of defined field data types
+
+/* ---------------------------------------------------------------------- */
+
+CSlib::CSlib(int csflag, const char *mode, const void *ptr, const void *pcomm)
+{
+ if (pcomm) myworld = (uint64_t) *((MPI_Comm *) pcomm);
+ else myworld = 0;
+
+#ifdef MPI_NO
+ if (pcomm)
+ error_all("constructor(): CSlib invoked with MPI_Comm "
+ "but built w/out MPI support");
+#endif
+#ifdef MPI_YES // NOTE: this could be OK to allow ??
+ // would allow a parallel app to invoke CSlib
+ // in parallel and/or in serial
+ if (!pcomm)
+ error_all("constructor(): CSlib invoked w/out MPI_Comm "
+ "but built with MPI support");
+#endif
+
+ client = server = 0;
+ if (csflag == 0) client = 1;
+ else if (csflag == 1) server = 1;
+ else error_all("constructor(): Invalid client/server arg");
+
+ if (pcomm == NULL) {
+ me = 0;
+ nprocs = 1;
+
+ if (strcmp(mode,"file") == 0) msg = new MsgFile(csflag,ptr);
+ else if (strcmp(mode,"zmq") == 0) msg = new MsgZMQ(csflag,ptr);
+ else if (strcmp(mode,"mpi/one") == 0)
+ error_all("constructor(): No mpi/one mode for serial lib usage");
+ else if (strcmp(mode,"mpi/two") == 0)
+ error_all("constructor(): No mpi/two mode for serial lib usage");
+ else error_all("constructor(): Unknown mode");
+
+ } else if (pcomm) {
+ MPI_Comm world = (MPI_Comm) myworld;
+ MPI_Comm_rank(world,&me);
+ MPI_Comm_size(world,&nprocs);
+
+ if (strcmp(mode,"file") == 0) msg = new MsgFile(csflag,ptr,world);
+ else if (strcmp(mode,"zmq") == 0) msg = new MsgZMQ(csflag,ptr,world);
+ else if (strcmp(mode,"mpi/one") == 0) msg = new MsgMPIOne(csflag,ptr,world);
+ else if (strcmp(mode,"mpi/two") == 0) msg = new MsgMPITwo(csflag,ptr,world);
+ else error_all("constructor(): Unknown mode");
+ }
+
+ maxfield = 0;
+ fieldID = fieldtype = fieldlen = fieldoffset = NULL;
+ maxheader = 0;
+ header = NULL;
+ maxbuf = 0;
+ buf = NULL;
+
+ recvcounts = displs = NULL;
+ maxglobal = 0;
+ allids = NULL;
+ maxfieldbytes = 0;
+ fielddata = NULL;
+
+ pad = "\0\0\0\0\0\0\0"; // just length 7 since will have trailing NULL
+
+ nsend = nrecv = 0;
+}
+
+/* ---------------------------------------------------------------------- */
+
+CSlib::~CSlib()
+{
+ deallocate_fields();
+ sfree(header);
+ sfree(buf);
+
+ sfree(recvcounts);
+ sfree(displs);
+ sfree(allids);
+ sfree(fielddata);
+
+ delete msg;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::send(int msgID_caller, int nfield_caller)
+{
+ if (nfield_caller < 0) error_all("send(): Invalid nfield");
+
+ msgID = msgID_caller;
+ nfield = nfield_caller;
+ allocate_fields();
+
+ fieldcount = 0;
+ nbuf = 0;
+
+ if (fieldcount == nfield) send_message();
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::pack_int(int id, int value)
+{
+ pack(id,1,1,&value);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::pack_int64(int id, int64_t value)
+{
+ pack(id,2,1,&value);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::pack_float(int id, float value)
+{
+ pack(id,3,1,&value);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::pack_double(int id, double value)
+{
+ pack(id,4,1,&value);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::pack_string(int id, char *value)
+{
+ pack(id,5,strlen(value)+1,value);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::pack(int id, int ftype, int flen, void *data)
+{
+ if (find_field(id,fieldcount) >= 0)
+ error_all("pack(): Reuse of field ID");
+ if (ftype < 1 || ftype > MAXTYPE) error_all("pack(): Invalid ftype");
+ if (flen < 0) error_all("pack(): Invalid flen");
+
+ fieldID[fieldcount] = id;
+ fieldtype[fieldcount] = ftype;
+ fieldlen[fieldcount] = flen;
+
+ int nbytes,nbytesround;
+ onefield(ftype,flen,nbytes,nbytesround);
+
+ memcpy(&buf[nbuf],data,nbytes);
+ memcpy(&buf[nbuf+nbytes],pad,nbytesround-nbytes);
+ nbuf += nbytesround;
+
+ fieldcount++;
+ if (fieldcount == nfield) send_message();
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::pack_parallel(int id, int ftype,
+ int nlocal, int *ids, int nper, void *data)
+{
+ int i,j,k,m;
+
+ if (find_field(id,fieldcount) >= 0)
+ error_all("pack_parallel(): Reuse of field ID");
+ if (ftype < 1 || ftype > MAXTYPE) error_all("pack_parallel(): Invalid ftype");
+ if (nlocal < 0) error_all("pack_parallel(): Invalid nlocal");
+ if (nper < 1) error_all("pack_parallel(): Invalid nper");
+
+ MPI_Comm world = (MPI_Comm) myworld;
+
+ // NOTE: check for overflow of maxglobal and flen
+
+ int nglobal;
+ MPI_Allreduce(&nlocal,&nglobal,1,MPI_INT,MPI_SUM,world);
+ int flen = nper*nglobal;
+
+ fieldID[fieldcount] = id;
+ fieldtype[fieldcount] = ftype;
+ fieldlen[fieldcount] = flen;
+
+ // nlocal datums, each of nper length, from all procs
+ // final data in buf = datums for all natoms, ordered by ids
+
+ if (recvcounts == NULL) {
+ recvcounts = (int *) smalloc(nprocs*sizeof(int));
+ displs = (int *) smalloc(nprocs*sizeof(int));
+ }
+
+ MPI_Allgather(&nlocal,1,MPI_INT,recvcounts,1,MPI_INT,world);
+
+ displs[0] = 0;
+ for (int iproc = 1; iproc < nprocs; iproc++)
+ displs[iproc] = displs[iproc-1] + recvcounts[iproc-1];
+
+ if (ids && nglobal > maxglobal) {
+ sfree(allids);
+ maxglobal = nglobal;
+ // NOTE: maxglobal*sizeof(int) could overflow int
+ allids = (int *) smalloc(maxglobal*sizeof(int));
+ }
+
+ MPI_Allgatherv(ids,nlocal,MPI_INT,allids,
+ recvcounts,displs,MPI_INT,world);
+
+ int nlocalsize = nper*nlocal;
+ MPI_Allgather(&nlocalsize,1,MPI_INT,recvcounts,1,MPI_INT,world);
+
+ displs[0] = 0;
+ for (int iproc = 1; iproc < nprocs; iproc++)
+ displs[iproc] = displs[iproc-1] + recvcounts[iproc-1];
+
+ int nbytes,nbytesround;
+ onefield(ftype,flen,nbytes,nbytesround);
+
+ if (ftype == 1) {
+ int *alldata;
+ if (ids) {
+ if (nbytes > maxfieldbytes) {
+ sfree(fielddata);
+ maxfieldbytes = nbytes;
+ fielddata = (char *) smalloc(maxfieldbytes);
+ }
+ alldata = (int *) fielddata;
+ } else alldata = (int *) &buf[nbuf];
+ MPI_Allgatherv(data,nlocalsize,MPI_INT,alldata,
+ recvcounts,displs,MPI_INT,world);
+ if (ids) {
+ int *bufptr = (int *) &buf[nbuf];
+ m = 0;
+ for (i = 0; i < nglobal; i++) {
+ j = (allids[i]-1) * nper;
+ if (nper == 1) bufptr[j] = alldata[m++];
+ else
+ for (k = 0; k < nper; k++)
+ bufptr[j++] = alldata[m++];
+ }
+ }
+
+ } else if (ftype == 2) {
+ int64_t *alldata;
+ if (ids) {
+ if (nbytes > maxfieldbytes) {
+ sfree(fielddata);
+ maxfieldbytes = nbytes;
+ fielddata = (char *) smalloc(maxfieldbytes);
+ }
+ alldata = (int64_t *) fielddata;
+ } else alldata = (int64_t *) &buf[nbuf];
+ // NOTE: may be just MPI_LONG on some machines
+ MPI_Allgatherv(data,nlocalsize,MPI_LONG_LONG,alldata,
+ recvcounts,displs,MPI_LONG_LONG,world);
+ if (ids) {
+ int64_t *bufptr = (int64_t *) &buf[nbuf];
+ m = 0;
+ for (i = 0; i < nglobal; i++) {
+ j = (allids[i]-1) * nper;
+ if (nper == 1) bufptr[j] = alldata[m++];
+ else
+ for (k = 0; k < nper; k++)
+ bufptr[j++] = alldata[m++];
+ }
+ }
+
+ } else if (ftype == 3) {
+ float *alldata;
+ if (ids) {
+ if (nbytes > maxfieldbytes) {
+ sfree(fielddata);
+ maxfieldbytes = nbytes;
+ fielddata = (char *) smalloc(maxfieldbytes);
+ }
+ alldata = (float *) fielddata;
+ } else alldata = (float *) &buf[nbuf];
+ MPI_Allgatherv(data,nlocalsize,MPI_FLOAT,alldata,
+ recvcounts,displs,MPI_FLOAT,world);
+ if (ids) {
+ float *bufptr = (float *) &buf[nbuf];
+ m = 0;
+ for (i = 0; i < nglobal; i++) {
+ j = (allids[i]-1) * nper;
+ if (nper == 1) bufptr[j] = alldata[m++];
+ else
+ for (k = 0; k < nper; k++)
+ bufptr[j++] = alldata[m++];
+ }
+ }
+
+ } else if (ftype == 4) {
+ double *alldata;
+ if (ids) {
+ if (nbytes > maxfieldbytes) {
+ sfree(fielddata);
+ maxfieldbytes = nbytes;
+ fielddata = (char *) smalloc(maxfieldbytes);
+ }
+ alldata = (double *) fielddata;
+ } else alldata = (double *) &buf[nbuf];
+ MPI_Allgatherv(data,nlocalsize,MPI_DOUBLE,alldata,
+ recvcounts,displs,MPI_DOUBLE,world);
+ if (ids) {
+ double *bufptr = (double *) &buf[nbuf];
+ m = 0;
+ for (i = 0; i < nglobal; i++) {
+ j = (allids[i]-1) * nper;
+ if (nper == 1) bufptr[j] = alldata[m++];
+ else
+ for (k = 0; k < nper; k++)
+ bufptr[j++] = alldata[m++];
+ }
+ }
+
+ /* eventually ftype = BYTE, but not yet
+ } else if (ftype == 5) {
+ char *alldata;
+ if (ids) {
+ if (nbytes > maxfieldbytes) {
+ sfree(fielddata);
+ maxfieldbytes = nbytes;
+ fielddata = (char *) smalloc(maxfieldbytes);
+ }
+ alldata = (char *) fielddata;
+ } else alldata = (char *) &buf[nbuf];
+ MPI_Allgatherv(data,nlocalsize,MPI_CHAR,alldata,
+ recvcounts,displs,MPI_CHAR,world);
+ if (ids) {
+ char *bufptr = (char *) &buf[nbuf];
+ m = 0;
+ for (i = 0; i < nglobal; i++) {
+ j = (allids[i]-1) * nper;
+ memcpy(&bufptr[j],&alldata[m],nper);
+ m += nper;
+ }
+ }
+ */
+ }
+
+ memcpy(&buf[nbuf+nbytes],pad,nbytesround-nbytes);
+ nbuf += nbytesround;
+
+ fieldcount++;
+ if (fieldcount == nfield) send_message();
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::send_message()
+{
+ // setup header message
+
+ int m = 0;
+ header[m++] = msgID;
+ header[m++] = nfield;
+ for (int ifield = 0; ifield < nfield; ifield++) {
+ header[m++] = fieldID[ifield];
+ header[m++] = fieldtype[ifield];
+ header[m++] = fieldlen[ifield];
+ }
+
+ msg->send(nheader,header,nbuf,buf);
+ nsend++;
+}
+
+/* ---------------------------------------------------------------------- */
+
+int CSlib::recv(int &nfield_caller, int *&fieldID_caller,
+ int *&fieldtype_caller, int *&fieldlen_caller)
+{
+ msg->recv(maxheader,header,maxbuf,buf);
+ nrecv++;
+
+ // unpack header message
+
+ int m = 0;
+ msgID = header[m++];
+ nfield = header[m++];
+ allocate_fields();
+
+ int nbytes,nbytesround;
+
+ nbuf = 0;
+ for (int ifield = 0; ifield < nfield; ifield++) {
+ fieldID[ifield] = header[m++];
+ fieldtype[ifield] = header[m++];
+ fieldlen[ifield] = header[m++];
+ fieldoffset[ifield] = nbuf;
+ onefield(fieldtype[ifield],fieldlen[ifield],nbytes,nbytesround);
+ nbuf += nbytesround;
+ }
+
+ // return message parameters
+
+ nfield_caller = nfield;
+ fieldID_caller = fieldID;
+ fieldtype_caller = fieldtype;
+ fieldlen_caller = fieldlen;
+
+ return msgID;
+}
+
+/* ---------------------------------------------------------------------- */
+
+int CSlib::unpack_int(int id)
+{
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack_int(): Unknown field ID");
+ if (fieldtype[ifield] != 1) error_all("unpack_int(): Mis-match of ftype");
+ if (fieldlen[ifield] != 1) error_all("unpack_int(): Flen is not 1");
+
+ int *ptr = (int *) unpack(id);
+ return *ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+int64_t CSlib::unpack_int64(int id)
+{
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack_int64(): Unknown field ID");
+ if (fieldtype[ifield] != 2) error_all("unpack_int64(): Mis-match of ftype");
+ if (fieldlen[ifield] != 1) error_all("unpack_int64(): Flen is not 1");
+
+ int64_t *ptr = (int64_t *) unpack(id);
+ return *ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+float CSlib::unpack_float(int id)
+{
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack_float(): Unknown field ID");
+ if (fieldtype[ifield] != 3) error_all("unpack_float(): Mis-match of ftype");
+ if (fieldlen[ifield] != 1) error_all("unpack_float(): Flen is not 1");
+
+ float *ptr = (float *) unpack(id);
+ return *ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+double CSlib::unpack_double(int id)
+{
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack_double(): Unknown field ID");
+ if (fieldtype[ifield] != 4) error_all("unpack_double(): Mis-match of ftype");
+ if (fieldlen[ifield] != 1) error_all("unpack_double(): Flen is not 1");
+
+ double *ptr = (double *) unpack(id);
+ return *ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+char *CSlib::unpack_string(int id)
+{
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack_string(): Unknown field ID");
+ if (fieldtype[ifield] != 5) error_all("unpack_string(): Mis-match of ftype");
+
+ char *ptr = (char *) unpack(id);
+ return ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void *CSlib::unpack(int id)
+{
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack(): Unknown field ID");
+ return &buf[fieldoffset[ifield]];
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::unpack(int id, void *data)
+{
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack(): Unknown field ID");
+
+ int ftype = fieldtype[ifield];
+ int nbytes = fieldlen[ifield];
+ if (ftype == 1) nbytes *= sizeof(int);
+ else if (ftype == 2) nbytes *= sizeof(int64_t);
+ else if (ftype == 3) nbytes *= sizeof(float);
+ else if (ftype == 4) nbytes *= sizeof(double);
+ memcpy(data,&buf[fieldoffset[ifield]],nbytes);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::unpack_parallel(int id, int nlocal, int *ids, int nper, void *data)
+{
+ int i,j,k,m;
+
+ int ifield = find_field(id,nfield);
+ if (ifield < 0) error_all("unpack_parallel(): Unknown field ID");
+ if (nlocal < 0) error_all("unpack_parallel(): Invalid nlocal");
+ if (nper < 1) error_all("pack_parallel(): Invalid nper");
+
+ MPI_Comm world = (MPI_Comm) myworld;
+
+ int upto;
+ if (!ids) {
+ MPI_Scan(&nlocal,&upto,1,MPI_INT,MPI_SUM,world);
+ upto -= nlocal;
+ }
+
+ if (fieldtype[ifield] == 1) {
+ int *local = (int *) data;
+ int *global = (int *) &buf[fieldoffset[ifield]];
+ if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(int));
+ else {
+ m = 0;
+ for (i = 0; i < nlocal; i++) {
+ j = (ids[i]-1) * nper;
+ if (nper == 1) local[m++] = global[j];
+ else
+ for (k = 0; k < nper; k++)
+ local[m++] = global[j++];
+ }
+ }
+
+ } else if (fieldtype[ifield] == 2) {
+ int64_t *local = (int64_t *) data;
+ int64_t *global = (int64_t *) &buf[fieldoffset[ifield]];
+ if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(int64_t));
+ else {
+ m = 0;
+ for (i = 0; i < nlocal; i++) {
+ j = (ids[i]-1) * nper;
+ if (nper == 1) local[m++] = global[j];
+ else
+ for (k = 0; k < nper; k++)
+ local[m++] = global[j++];
+ }
+ }
+
+ } else if (fieldtype[ifield] == 3) {
+ float *local = (float *) data;
+ float *global = (float *) &buf[fieldoffset[ifield]];
+ if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(float));
+ else {
+ m = 0;
+ for (i = 0; i < nlocal; i++) {
+ j = (ids[i]-1) * nper;
+ if (nper == 1) local[m++] = global[j];
+ else
+ for (k = 0; k < nper; k++)
+ local[m++] = global[j++];
+ }
+ }
+
+ } else if (fieldtype[ifield] == 4) {
+ double *local = (double *) data;
+ double *global = (double *) &buf[fieldoffset[ifield]];
+ if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(double));
+ else {
+ m = 0;
+ for (i = 0; i < nlocal; i++) {
+ j = (ids[i]-1) * nper;
+ if (nper == 1) local[m++] = global[j];
+ else
+ for (k = 0; k < nper; k++)
+ local[m++] = global[j++];
+ }
+ }
+
+ /* eventually ftype = BYTE, but not yet
+ } else if (fieldtype[ifield] == 5) {
+ char *local = (char *) data;
+ char *global = (char *) &buf[fieldoffset[ifield]];
+ if (!ids) memcpy(local,&global[nper*upto],nper*nlocal*sizeof(char));
+ else {
+ m = 0;
+ for (i = 0; i < nlocal; i++) {
+ j = (ids[i]-1) * nper;
+ memcpy(&local[m],&global[j],nper);
+ m += nper;
+ }
+ }
+ */
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+int CSlib::extract(int flag)
+{
+ if (flag == 1) return nsend;
+ if (flag == 2) return nrecv;
+ error_all("extract(): Invalid flag");
+ return 0;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::onefield(int ftype, int flen, int &nbytes, int &nbytesround)
+{
+ int64_t bigbytes,bigbytesround;
+ int64_t biglen = flen;
+
+ if (ftype == 1) bigbytes = biglen * sizeof(int);
+ else if (ftype == 2) bigbytes = biglen * sizeof(int64_t);
+ else if (ftype == 3) bigbytes = biglen * sizeof(float);
+ else if (ftype == 4) bigbytes = biglen * sizeof(double);
+ else if (ftype == 5) bigbytes = biglen * sizeof(char);
+ bigbytesround = roundup(bigbytes,8);
+
+ if (nbuf + bigbytesround > INT_MAX)
+ error_all("pack(): Message size exceeds 32-bit integer limit");
+
+ nbytes = (int) bigbytes;
+ nbytesround = (int) bigbytesround;
+ if (nbuf + nbytesround > maxbuf) {
+ maxbuf = nbuf + nbytesround;
+ buf = (char *) srealloc(buf,maxbuf);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+int CSlib::find_field(int id, int n)
+{
+ int ifield;
+ for (ifield = 0; ifield < n; ifield++)
+ if (id == fieldID[ifield]) return ifield;
+ return -1;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::allocate_fields()
+{
+ int64_t bigbytes = (2 + 3*((int64_t) nfield)) * sizeof(int);
+ if (bigbytes > INT_MAX)
+ error_all("send(): Message header size exceeds 32-bit integer limit");
+
+ nheader = 2;
+ nheader += 3 * nfield;
+
+ if (nfield > maxfield) {
+ deallocate_fields();
+ maxfield = nfield;
+ fieldID = new int[maxfield];
+ fieldtype = new int[maxfield];
+ fieldlen = new int[maxfield];
+ fieldoffset = new int[maxfield];
+ }
+
+ if (nheader > maxheader) {
+ sfree(header);
+ maxheader = nheader;
+ header = (int *) smalloc(maxheader*sizeof(int));
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::deallocate_fields()
+{
+ delete [] fieldID;
+ delete [] fieldtype;
+ delete [] fieldlen;
+ delete [] fieldoffset;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void *CSlib::smalloc(int nbytes)
+{
+ if (nbytes == 0) return NULL;
+ void *ptr = malloc(nbytes);
+ if (ptr == NULL) {
+ char str[128];
+ sprintf(str,"malloc(): Failed to allocate %d bytes",nbytes);
+ error_one(str);
+ }
+ return ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void *CSlib::srealloc(void *ptr, int nbytes)
+{
+ if (nbytes == 0) {
+ sfree(ptr);
+ return NULL;
+ }
+
+ ptr = realloc(ptr,nbytes);
+ if (ptr == NULL) {
+ char str[128];
+ sprintf(str,"realloc(): Failed to reallocate %d bytes",nbytes);
+ error_one(str);
+ }
+ return ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::sfree(void *ptr)
+{
+ if (ptr == NULL) return;
+ free(ptr);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::error_all(const char *str)
+{
+ if (me == 0) printf("CSlib ERROR: %s\n",str);
+ MPI_Comm world = (MPI_Comm) myworld;
+ MPI_Abort(world,1);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void CSlib::error_one(const char *str)
+{
+ printf("CSlib ERROR: %s\n",str);
+ MPI_Comm world = (MPI_Comm) myworld;
+ MPI_Abort(world,1);
+}
+
+/* ----------------------------------------------------------------------
+ round N up to multiple of nalign and return it
+ NOTE: see mapreduce/src/keyvalue.cpp for doing this as uint64_t
+------------------------------------------------------------------------- */
+
+int64_t CSlib::roundup(int64_t n, int nalign)
+{
+ if (n % nalign == 0) return n;
+ n = (n/nalign + 1) * nalign;
+ return n;
+}
diff --git a/lib/message/cslib/src/cslib.h b/lib/message/cslib/src/cslib.h
new file mode 100644
index 0000000000..b4da968026
--- /dev/null
+++ b/lib/message/cslib/src/cslib.h
@@ -0,0 +1,87 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#ifndef CSLIB_H
+#define CSLIB_H
+
+#include
+
+namespace CSLIB_NS {
+
+class CSlib {
+ public:
+ int nsend,nrecv;
+
+ CSlib(int, const char *, const void *, const void *);
+ ~CSlib();
+
+ void send(int, int);
+
+ void pack_int(int, int);
+ void pack_int64(int, int64_t);
+ void pack_float(int, float);
+ void pack_double(int, double);
+ void pack_string(int, char *);
+ void pack(int, int, int, void *);
+ void pack_parallel(int, int, int, int *, int, void *);
+
+ int recv(int &, int *&, int *&, int *&);
+
+ int unpack_int(int);
+ int64_t unpack_int64(int);
+ float unpack_float(int);
+ double unpack_double(int);
+ char *unpack_string(int);
+ void *unpack(int);
+ void unpack(int, void *);
+ void unpack_parallel(int, int, int *, int, void *);
+
+ int extract(int);
+
+ private:
+ uint64_t myworld; // really MPI_Comm, but avoids use of mpi.h in this file
+ // so apps can include this file w/ no MPI on system
+ int me,nprocs;
+ int client,server;
+ int nfield,maxfield;
+ int msgID,fieldcount;
+ int nheader,maxheader;
+ int nbuf,maxbuf;
+ int maxglobal,maxfieldbytes;
+ int *fieldID,*fieldtype,*fieldlen,*fieldoffset;
+ int *header;
+ int *recvcounts,*displs; // nprocs size for Allgathers
+ int *allids; // nglobal size for pack_parallel()
+ char *buf; // maxbuf size for msg with all fields
+ char *fielddata; // maxfieldbytes size for one global field
+ const char *pad;
+
+ class Msg *msg;
+
+ void send_message();
+ void onefield(int, int, int &, int &);
+ int find_field(int, int);
+ void allocate_fields();
+ void deallocate_fields();
+ int64_t roundup(int64_t, int);
+ void *smalloc(int);
+ void *srealloc(void *, int);
+ void sfree(void *);
+ void error_all(const char *);
+ void error_one(const char *);
+};
+
+}
+
+#endif
diff --git a/lib/message/cslib/src/cslib.py b/lib/message/cslib/src/cslib.py
new file mode 100644
index 0000000000..0ba3516255
--- /dev/null
+++ b/lib/message/cslib/src/cslib.py
@@ -0,0 +1,362 @@
+# ------------------------------------------------------------------------
+# CSlib - Client/server library for code coupling
+# http://cslib.sandia.gov, Sandia National Laboratories
+# Steve Plimpton, sjplimp@sandia.gov
+#
+# Copyright 2018 National Technology & Engineering Solutions of
+# Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+# NTESS, the U.S. Government retains certain rights in this software.
+# This software is distributed under the modified Berkeley Software
+# Distribution (BSD) License.
+#
+# See the README file in the top-level CSlib directory.
+# -------------------------------------------------------------------------
+
+# Python wrapper on CSlib library via ctypes
+
+# ctypes and Numpy data types:
+# 32-bit int = c_int = np.intc = np.int32
+# 64-bit int = c_longlong = np.int64
+# 32-bit floating point = c_float = np.float32
+# 64-bit floating point = c_double = np.float = np.float64
+
+import sys,traceback
+from ctypes import *
+
+# Numpy and mpi4py packages may not exist
+
+try:
+ import numpy as np
+ numpyflag = 1
+except:
+ numpyflag = 0
+
+try:
+ from mpi4py import MPI
+ mpi4pyflag = 1
+except:
+ mpi4pyflag = 0
+
+# wrapper class
+
+class CSlib:
+
+ # instantiate CSlib thru its C-interface
+
+ def __init__(self,csflag,mode,ptr,comm):
+
+ # load libcslib.so
+
+ try:
+ if comm: self.lib = CDLL("libcsmpi.so",RTLD_GLOBAL)
+ else: self.lib = CDLL("libcsnompi.so",RTLD_GLOBAL)
+ except:
+ etype,value,tb = sys.exc_info()
+ traceback.print_exception(etype,value,tb)
+ raise OSError,"Could not load CSlib dynamic library"
+
+ # define ctypes API for each library method
+
+ self.lib.cslib_open.argtypes = [c_int,c_char_p,c_void_p,c_void_p,
+ POINTER(c_void_p)]
+ self.lib.cslib_open.restype = None
+
+ self.lib.cslib_close.argtypes = [c_void_p]
+ self.lib.cslib_close.restype = None
+
+ self.lib.cslib_send.argtypes = [c_void_p,c_int,c_int]
+ self.lib.cslib_send.restype = None
+
+ self.lib.cslib_pack_int.argtypes = [c_void_p,c_int,c_int]
+ self.lib.cslib_pack_int.restype = None
+
+ self.lib.cslib_pack_int64.argtypes = [c_void_p,c_int,c_longlong]
+ self.lib.cslib_pack_int64.restype = None
+
+ self.lib.cslib_pack_float.argtypes = [c_void_p,c_int,c_float]
+ self.lib.cslib_pack_float.restype = None
+
+ self.lib.cslib_pack_double.argtypes = [c_void_p,c_int,c_double]
+ self.lib.cslib_pack_double.restype = None
+
+ self.lib.cslib_pack_string.argtypes = [c_void_p,c_int,c_char_p]
+ self.lib.cslib_pack_string.restype = None
+
+ self.lib.cslib_pack.argtypes = [c_void_p,c_int,c_int,c_int,c_void_p]
+ self.lib.cslib_pack.restype = None
+
+ self.lib.cslib_pack_parallel.argtypes = [c_void_p,c_int,c_int,c_int,
+ POINTER(c_int),c_int,c_void_p]
+ self.lib.cslib_pack_parallel.restype = None
+
+ self.lib.cslib_recv.argtypes = [c_void_p,POINTER(c_int),
+ POINTER(POINTER(c_int)),
+ POINTER(POINTER(c_int)),
+ POINTER(POINTER(c_int))]
+ self.lib.cslib_recv.restype = c_int
+
+ self.lib.cslib_unpack_int.argtypes = [c_void_p,c_int]
+ self.lib.cslib_unpack_int.restype = c_int
+
+ self.lib.cslib_unpack_int64.argtypes = [c_void_p,c_int]
+ self.lib.cslib_unpack_int64.restype = c_longlong
+
+ self.lib.cslib_unpack_float.argtypes = [c_void_p,c_int]
+ self.lib.cslib_unpack_float.restype = c_float
+
+ self.lib.cslib_unpack_double.argtypes = [c_void_p,c_int]
+ self.lib.cslib_unpack_double.restype = c_double
+
+ self.lib.cslib_unpack_string.argtypes = [c_void_p,c_int]
+ self.lib.cslib_unpack_string.restype = c_char_p
+
+ # override return in unpack()
+ self.lib.cslib_unpack.argtypes = [c_void_p,c_int]
+ self.lib.cslib_unpack.restype = c_void_p
+
+ self.lib.cslib_unpack_data.argtypes = [c_void_p,c_int,c_void_p]
+ self.lib.cslib_unpack_data.restype = None
+
+ # override last arg in unpack_parallel()
+ self.lib.cslib_unpack_parallel.argtypes = [c_void_p,c_int,c_int,
+ POINTER(c_int),c_int,c_void_p]
+ self.lib.cslib_unpack_parallel.restype = None
+
+ self.lib.cslib_extract.argtypes = [c_void_p,c_int]
+ self.lib.cslib_extract.restype = c_int
+
+ # create an instance of CSlib with or w/out MPI communicator
+
+ self.cs = c_void_p()
+
+ if not comm:
+ self.lib.cslib_open(csflag,mode,ptr,None,byref(self.cs))
+ elif not mpi4pyflag:
+ print "Cannot pass MPI communicator to CSlib w/out mpi4py package"
+ sys.exit()
+ else:
+ address = MPI._addressof(comm)
+ comm_ptr = c_void_p(address)
+ if mode == "mpi/one":
+ address = MPI._addressof(ptr)
+ ptrcopy = c_void_p(address)
+ else: ptrcopy = ptr
+ self.lib.cslib_open(csflag,mode,ptrcopy,comm_ptr,byref(self.cs))
+
+ # destroy instance of CSlib
+
+ def __del__(self):
+ if self.cs: self.lib.cslib_close(self.cs)
+
+ def close(self):
+ self.lib.cslib_close(self.cs)
+ self.lib = None
+
+ # send a message
+
+ def send(self,msgID,nfield):
+ self.nfield = nfield
+ self.lib.cslib_send(self.cs,msgID,nfield)
+
+ # pack one field of message
+
+ def pack_int(self,id,value):
+ self.lib.cslib_pack_int(self.cs,id,value)
+
+ def pack_int64(self,id,value):
+ self.lib.cslib_pack_int64(self.cs,id,value)
+
+ def pack_float(self,id,value):
+ self.lib.cslib_pack_float(self.cs,id,value)
+
+ def pack_double(self,id,value):
+ self.lib.cslib_pack_double(self.cs,id,value)
+
+ def pack_string(self,id,value):
+ self.lib.cslib_pack_string(self.cs,id,value)
+
+ def pack(self,id,ftype,flen,data):
+ cdata = self.data_convert(ftype,flen,data)
+ self.lib.cslib_pack(self.cs,id,ftype,flen,cdata)
+
+ def pack_parallel(self,id,ftype,nlocal,ids,nper,data):
+ cids = self.data_convert(1,nlocal,ids)
+ cdata = self.data_convert(ftype,nper*nlocal,data)
+ self.lib.cslib_pack_parallel(self.cs,id,ftype,nlocal,cids,nper,cdata)
+
+ # convert input data to a ctypes vector to pass to CSlib
+
+ def data_convert(self,ftype,flen,data):
+
+ # tflag = type of data
+ # tflag = 1 if data is list or tuple
+ # tflag = 2 if data is Numpy array
+ # tflag = 3 if data is ctypes vector
+ # same usage of tflag as in unpack function
+
+ txttype = str(type(data))
+ if "numpy" in txttype: tflag = 2
+ elif "c_" in txttype: tflag = 3
+ else: tflag = 1
+
+ # create ctypes vector out of data to pass to lib
+ # cdata = ctypes vector to return
+ # NOTE: error check on ftype and tflag everywhere, also flen
+
+ if ftype == 1:
+ if tflag == 1: cdata = (flen * c_int)(*data)
+ elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_int))
+ elif tflag == 3: cdata = data
+ elif ftype == 2:
+ if tflag == 1: cdata = (flen * c_longlong)(*data)
+ elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_longlong))
+ elif tflag == 3: cdata = data
+ elif ftype == 3:
+ if tflag == 1: cdata = (flen * c_float)(*data)
+ elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_float))
+ elif tflag == 3: cdata = data
+ elif ftype == 4:
+ if tflag == 1: cdata = (flen * c_double)(*data)
+ elif tflag == 2: cdata = data.ctypes.data_as(POINTER(c_double))
+ elif tflag == 3: cdata = data
+
+ return cdata
+
+ # receive a message
+
+ def recv(self):
+ self.lib.cslib_recv.restype = c_int
+ nfield = c_int()
+ fieldID = POINTER(c_int)()
+ fieldtype = POINTER(c_int)()
+ fieldlen = POINTER(c_int)()
+ msgID = self.lib.cslib_recv(self.cs,byref(nfield),
+ byref(fieldID),byref(fieldtype),byref(fieldlen))
+
+ # copy returned C args to native Python int and lists
+ # store them in class so unpack() methods can access the info
+
+ self.nfield = nfield = nfield.value
+ self.fieldID = fieldID[:nfield]
+ self.fieldtype = fieldtype[:nfield]
+ self.fieldlen = fieldlen[:nfield]
+
+ return msgID,self.nfield,self.fieldID,self.fieldtype,self.fieldlen
+
+ # unpack one field of message
+ # tflag = type of data to return
+ # 3 = ctypes vector is default, since no conversion required
+
+ def unpack_int(self,id):
+ return self.lib.cslib_unpack_int(self.cs,id)
+
+ def unpack_int64(self,id):
+ return self.lib.cslib_unpack_int64(self.cs,id)
+
+ def unpack_float(self,id):
+ return self.lib.cslib_unpack_float(self.cs,id)
+
+ def unpack_double(self,id):
+ return self.lib.cslib_unpack_double(self.cs,id)
+
+ def unpack_string(self,id):
+ return self.lib.cslib_unpack_string(self.cs,id)
+
+ def unpack(self,id,tflag=3):
+ index = self.fieldID.index(id)
+
+ # reset data type of return so can morph by tflag
+ # cannot do this for the generic c_void_p returned by CSlib
+
+ if self.fieldtype[index] == 1:
+ self.lib.cslib_unpack.restype = POINTER(c_int)
+ elif self.fieldtype[index] == 2:
+ self.lib.cslib_unpack.restype = POINTER(c_longlong)
+ elif self.fieldtype[index] == 3:
+ self.lib.cslib_unpack.restype = POINTER(c_float)
+ elif self.fieldtype[index] == 4:
+ self.lib.cslib_unpack.restype = POINTER(c_double)
+ #elif self.fieldtype[index] == 5:
+ # self.lib.cslib_unpack.restype = POINTER(c_char)
+
+ cdata = self.lib.cslib_unpack(self.cs,id)
+
+ # tflag = user-requested type of data to return
+ # tflag = 1 to return data as list
+ # tflag = 2 to return data as Numpy array
+ # tflag = 3 to return data as ctypes vector
+ # same usage of tflag as in pack functions
+ # tflag = 2,3 should NOT perform a data copy
+
+ if tflag == 1:
+ data = cdata[:self.fieldlen[index]]
+ elif tflag == 2:
+ if numpyflag == 0:
+ print "Cannot return Numpy array w/out numpy package"
+ sys.exit()
+ data = np.ctypeslib.as_array(cdata,shape=(self.fieldlen[index],))
+ elif tflag == 3:
+ data = cdata
+
+ return data
+
+ # handle data array like pack() or unpack_parallel() ??
+
+ def unpack_data(self,id,tflag=3):
+ index = self.fieldID.index(id)
+
+ # unpack one field of message in parallel
+ # tflag = type of data to return
+ # 3 = ctypes vector is default, since no conversion required
+ # NOTE: allow direct use of user array (e.g. Numpy), if user provides data arg?
+ # as opposed to creating this cdata
+ # does that make any performance difference ?
+ # e.g. should we allow CSlib to populate an existing Numpy array's memory
+
+ def unpack_parallel(self,id,nlocal,ids,nper,tflag=3):
+ cids = self.data_convert(1,nlocal,ids)
+
+ # allocate memory for the returned data
+ # pass cdata ptr to the memory to CSlib unpack_parallel()
+ # this resets data type of last unpack_parallel() arg
+
+ index = self.fieldID.index(id)
+ if self.fieldtype[index] == 1: cdata = (nper*nlocal * c_int)()
+ elif self.fieldtype[index] == 2: cdata = (nlocal*nper * c_longlong)()
+ elif self.fieldtype[index] == 3: cdata = (nlocal*nper * c_float)()
+ elif self.fieldtype[index] == 4: cdata = (nlocal*nper * c_double)()
+ #elif self.fieldtype[index] == 5: cdata = (nlocal*nper * c_char)()
+
+ self.lib.cslib_unpack_parallel(self.cs,id,nlocal,cids,nper,cdata)
+
+ # tflag = user-requested type of data to return
+ # tflag = 1 to return data as list
+ # tflag = 2 to return data as Numpy array
+ # tflag = 3 to return data as ctypes vector
+ # same usage of tflag as in pack functions
+
+ if tflag == 1:
+ data = cdata[:nper*nlocal]
+ elif tflag == 2:
+ if numpyflag == 0:
+ print "Cannot return Numpy array w/out numpy package"
+ sys.exit()
+ # NOTE: next line gives ctypes warning for fieldtype = 2 = 64-bit int
+ # not sure why, reported as bug between ctypes and Numpy here:
+ # https://stackoverflow.com/questions/4964101/pep-3118-
+ # warning-when-using-ctypes-array-as-numpy-array
+ # but why not same warning when just using unpack() ??
+ # in Python these lines give same warning:
+ # >>> import ctypes,numpy
+ # >>> a = (10 * ctypes.c_longlong)()
+ # >>> b = numpy.ctypeslib.as_array(a)
+ data = np.ctypeslib.as_array(cdata,shape=(nlocal*nper,))
+ elif tflag == 3:
+ data = cdata
+
+ return data
+
+ # extract a library value
+
+ def extract(self,flag):
+ return self.lib.cslib_extract(self.cs,flag)
diff --git a/lib/message/cslib/src/cslib_wrap.cpp b/lib/message/cslib/src/cslib_wrap.cpp
new file mode 100644
index 0000000000..c2d69eaf0d
--- /dev/null
+++ b/lib/message/cslib/src/cslib_wrap.cpp
@@ -0,0 +1,239 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+// C style library interface to CSlib class
+
+#include
+#include
+#include
+#include
+#include
+
+#include "cslib_wrap.h"
+#include "cslib.h"
+
+using namespace CSLIB_NS;
+
+// ----------------------------------------------------------------------
+
+void cslib_open(int csflag, const char *mode, const void *ptr,
+ const void *pcomm, void **csptr)
+{
+ CSlib *cs = new CSlib(csflag,mode,ptr,pcomm);
+ *csptr = (void *) cs;
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_open_fortran(int csflag, const char *mode, const char *str,
+ const void *pcomm, void **csptr)
+{
+ MPI_Comm ccomm;
+ void *pccomm = NULL;
+
+ if (pcomm) {
+ MPI_Fint *fcomm = (MPI_Fint *) pcomm;
+ ccomm = MPI_Comm_f2c(*fcomm);
+ pccomm = &ccomm;
+ }
+
+ CSlib *cs = new CSlib(csflag,mode,str,pccomm);
+ *csptr = (void *) cs;
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_open_fortran_mpi_one(int csflag, const char *mode,
+ const void *pboth, const void *pcomm,
+ void **csptr)
+{
+ MPI_Comm ccomm,cboth;
+ void *pccomm,*pcboth;
+
+ MPI_Fint *fcomm = (MPI_Fint *) pcomm;
+ ccomm = MPI_Comm_f2c(*fcomm);
+ pccomm = &ccomm;
+
+ MPI_Fint *fboth = (MPI_Fint *) pboth;
+ cboth = MPI_Comm_f2c(*fboth);
+ pcboth = &cboth;
+
+ CSlib *cs = new CSlib(csflag,mode,pcboth,pccomm);
+ *csptr = (void *) cs;
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_close(void *ptr)
+{
+ CSlib *cs = (CSlib *) ptr;
+ delete cs;
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_send(void *ptr, int msgID, int nfield)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->send(msgID,nfield);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_pack_int(void *ptr, int id, int value)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->pack_int(id,value);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_pack_int64(void *ptr, int id, int64_t value)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->pack_int64(id,value);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_pack_float(void *ptr, int id, float value)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->pack_float(id,value);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_pack_double(void *ptr, int id, double value)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->pack_double(id,value);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_pack_string(void *ptr, int id, char *value)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->pack_string(id,value);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_pack(void *ptr, int id, int ftype, int flen, void *data)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->pack(id,ftype,flen,data);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_pack_parallel(void *ptr, int id, int ftype,
+ int nlocal, int *ids, int nper, void *data)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->pack_parallel(id,ftype,nlocal,ids,nper,data);
+}
+
+// ----------------------------------------------------------------------
+
+int cslib_recv(void *ptr, int *nfield_caller,
+ int **fieldID_caller, int **fieldtype_caller,
+ int **fieldlen_caller)
+{
+ CSlib *cs = (CSlib *) ptr;
+
+ int nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+ int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+
+ *nfield_caller = nfield;
+ *fieldID_caller = fieldID;
+ *fieldtype_caller = fieldtype;
+ *fieldlen_caller = fieldlen;
+
+ return msgID;
+}
+
+// ----------------------------------------------------------------------
+
+int cslib_unpack_int(void *ptr, int id)
+{
+ CSlib *cs = (CSlib *) ptr;
+ return cs->unpack_int(id);
+}
+// ----------------------------------------------------------------------
+
+int64_t cslib_unpack_int64(void *ptr, int id)
+{
+ CSlib *cs = (CSlib *) ptr;
+ return cs->unpack_int64(id);
+}
+
+// ----------------------------------------------------------------------
+
+float cslib_unpack_float(void *ptr, int id)
+{
+ CSlib *cs = (CSlib *) ptr;
+ return cs->unpack_float(id);
+}
+
+// ----------------------------------------------------------------------
+
+double cslib_unpack_double(void *ptr, int id)
+{
+ CSlib *cs = (CSlib *) ptr;
+ return cs->unpack_double(id);
+}
+
+// ----------------------------------------------------------------------
+
+char *cslib_unpack_string(void *ptr, int id)
+{
+ CSlib *cs = (CSlib *) ptr;
+ return cs->unpack_string(id);
+}
+
+// ----------------------------------------------------------------------
+
+void *cslib_unpack(void *ptr, int id)
+{
+ CSlib *cs = (CSlib *) ptr;
+ return cs->unpack(id);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_unpack_data(void *ptr, int id, void *data)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->unpack(id,data);
+}
+
+// ----------------------------------------------------------------------
+
+void cslib_unpack_parallel(void *ptr, int id, int nlocal, int *ids,
+ int nper, void *data)
+{
+ CSlib *cs = (CSlib *) ptr;
+ cs->unpack_parallel(id,nlocal,ids,nper,data);
+}
+
+// ----------------------------------------------------------------------
+
+int cslib_extract(void *ptr, int flag)
+{
+ CSlib *cs = (CSlib *) ptr;
+ return cs->extract(flag);
+}
diff --git a/lib/message/cslib/src/cslib_wrap.f90 b/lib/message/cslib/src/cslib_wrap.f90
new file mode 100644
index 0000000000..cd2e058b78
--- /dev/null
+++ b/lib/message/cslib/src/cslib_wrap.f90
@@ -0,0 +1,147 @@
+! ISO_C_binding wrapper on CSlib C interface
+
+module cslib_wrap
+
+interface
+ subroutine cslib_open_fortran(csflag,mode,str,pcomm,ptr) bind(c)
+ use iso_c_binding
+ integer(c_int), value :: csflag
+ character(c_char) :: mode(*),str(*)
+ type(c_ptr), value :: pcomm
+ type(c_ptr) :: ptr
+ end subroutine cslib_open_fortran
+
+ subroutine cslib_open_fortran_mpi_one(csflag,mode,pboth,pcomm,ptr) bind(c)
+ use iso_c_binding
+ integer(c_int), value :: csflag
+ character(c_char) :: mode(*)
+ type(c_ptr), value :: pboth,pcomm
+ type(c_ptr) :: ptr
+ end subroutine cslib_open_fortran_mpi_one
+
+ subroutine cslib_close(ptr) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ end subroutine cslib_close
+
+ subroutine cslib_send(ptr,msgID,nfield) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: msgID,nfield
+ end subroutine cslib_send
+
+ subroutine cslib_pack_int(ptr,id,value) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ integer(c_int), value :: value
+ end subroutine cslib_pack_int
+
+ subroutine cslib_pack_int64(ptr,id,value) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ integer(c_int64_t), value :: value
+ end subroutine cslib_pack_int64
+
+ subroutine cslib_pack_float(ptr,id,value) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ real(c_float), value :: value
+ end subroutine cslib_pack_float
+
+ subroutine cslib_pack_double(ptr,id,value) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ real(c_double), value :: value
+ end subroutine cslib_pack_double
+
+ subroutine cslib_pack_string(ptr,id,value) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ character(c_char) :: value(*)
+ end subroutine cslib_pack_string
+
+ subroutine cslib_pack(ptr,id,ftype,flen,data) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id,ftype,flen
+ type(c_ptr), value :: data
+ end subroutine cslib_pack
+
+ subroutine cslib_pack_parallel(ptr,id,ftype,nlocal,ids,nper,data) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id,ftype,nlocal,nper
+ type(c_ptr), value :: ids,data
+ end subroutine cslib_pack_parallel
+
+ function cslib_recv(ptr,nfield,fieldID,fieldtype,fieldlen) bind(c)
+ use iso_c_binding
+ integer(c_int) :: cslib_recv
+ type(c_ptr), value :: ptr
+ integer(c_int) :: nfield
+ type(c_ptr) :: fieldID,fieldtype,fieldlen
+ end function cslib_recv
+
+ function cslib_unpack_int(ptr,id) bind(c)
+ use iso_c_binding
+ integer(c_int) :: cslib_unpack_int
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ end function cslib_unpack_int
+
+ function cslib_unpack_int64(ptr,id) bind(c)
+ use iso_c_binding
+ integer(c_int64_t) :: cslib_unpack_int64
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ end function cslib_unpack_int64
+
+ function cslib_unpack_float(ptr,id) bind(c)
+ use iso_c_binding
+ real(c_float) :: cslib_unpack_float
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ end function cslib_unpack_float
+
+ function cslib_unpack_double(ptr,id) bind(c)
+ use iso_c_binding
+ real(c_double) :: cslib_unpack_double
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ end function cslib_unpack_double
+
+ function cslib_unpack_string(ptr,id) bind(c)
+ use iso_c_binding
+ type(c_ptr) :: cslib_unpack_string
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ end function cslib_unpack_string
+
+ function cslib_unpack(ptr,id) bind(c)
+ use iso_c_binding
+ type(c_ptr) :: cslib_unpack
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id
+ end function cslib_unpack
+
+ subroutine cslib_unpack_parallel(ptr,id,nlocal,ids,nper,data) bind(c)
+ use iso_c_binding
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: id,nlocal,nper
+ type(c_ptr), value :: ids,data
+ end subroutine cslib_unpack_parallel
+
+ function cslib_extract(ptr,flag) bind(c)
+ use iso_c_binding
+ integer(c_int) :: cslib_extract
+ type(c_ptr), value :: ptr
+ integer(c_int), value :: flag
+ end function cslib_extract
+end interface
+
+end module cslib_wrap
diff --git a/lib/message/cslib/src/cslib_wrap.h b/lib/message/cslib/src/cslib_wrap.h
new file mode 100644
index 0000000000..bf7df029c3
--- /dev/null
+++ b/lib/message/cslib/src/cslib_wrap.h
@@ -0,0 +1,54 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+/* C style library interface to CSlib class
+ ifdefs allow this file to be included in a C program
+*/
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+void cslib_open(int, const char *, const void *, const void *, void **);
+void cslib_open_fortran(int, const char *, const char *, const void *, void **);
+void cslib_open_fortran_mpi_one(int, const char *, const void *,
+ const void *, void **);
+void cslib_close(void *);
+
+void cslib_send(void *, int, int);
+
+void cslib_pack_int(void *, int, int);
+void cslib_pack_int64(void *, int, int64_t);
+void cslib_pack_float(void *, int, float);
+void cslib_pack_double(void *, int, double);
+void cslib_pack_string(void *, int, char *);
+void cslib_pack(void *, int, int, int, void *);
+void cslib_pack_parallel(void *, int, int, int, int *, int, void *);
+
+int cslib_recv(void *, int *, int **, int **, int **);
+
+int cslib_unpack_int(void *, int);
+int64_t cslib_unpack_int64(void *, int);
+float cslib_unpack_float(void *, int);
+double cslib_unpack_double(void *, int);
+char *cslib_unpack_string(void *, int);
+void *cslib_unpack(void *, int);
+void cslib_unpack_data(void *, int, void *);
+void cslib_unpack_parallel(void *, int, int, int *, int, void *);
+
+int cslib_extract(void *, int);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/lib/message/cslib/src/msg.cpp b/lib/message/cslib/src/msg.cpp
new file mode 100644
index 0000000000..c67e4a5c8c
--- /dev/null
+++ b/lib/message/cslib/src/msg.cpp
@@ -0,0 +1,110 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include
+#include
+
+#include "msg.h"
+
+using namespace CSLIB_NS;
+
+/* ---------------------------------------------------------------------- */
+
+Msg::Msg(int csflag, const void *ptr, MPI_Comm cworld)
+{
+ world = cworld;
+ MPI_Comm_rank(world,&me);
+ MPI_Comm_size(world,&nprocs);
+
+ init(csflag);
+}
+
+/* ---------------------------------------------------------------------- */
+
+Msg::Msg(int csflag, const void *ptr)
+{
+ world = 0;
+ me = 0;
+ nprocs = 1;
+
+ init(csflag);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void Msg::init(int csflag)
+{
+ client = server = 0;
+ if (csflag == 0) client = 1;
+ else if (csflag == 1) server = 1;
+
+ nsend = nrecv = 0;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void Msg::allocate(int nheader, int &maxheader, int *&header,
+ int nbuf, int &maxbuf, char *&buf)
+{
+ if (nheader > maxheader) {
+ sfree(header);
+ maxheader = nheader;
+ header = (int *) smalloc(maxheader*sizeof(int));
+ }
+
+ if (nbuf > maxbuf) {
+ sfree(buf);
+ maxbuf = nbuf;
+ buf = (char *) smalloc(maxbuf*sizeof(char));
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void *Msg::smalloc(int nbytes)
+{
+ if (nbytes == 0) return NULL;
+ void *ptr = (void *) malloc(nbytes);
+ if (ptr == NULL) {
+ char str[128];
+ sprintf(str,"Failed to allocate %d bytes",nbytes);
+ }
+ return ptr;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void Msg::sfree(void *ptr)
+{
+ if (ptr == NULL) return;
+ free(ptr);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void Msg::error_all(const char *str)
+{
+ if (me == 0) printf("CSlib ERROR: %s\n",str);
+ MPI_Abort(world,1);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void Msg::error_one(const char *str)
+{
+ printf("CSlib ERROR: %s\n",str);
+ MPI_Abort(world,1);
+}
diff --git a/lib/message/cslib/src/msg.h b/lib/message/cslib/src/msg.h
new file mode 100644
index 0000000000..f75942b027
--- /dev/null
+++ b/lib/message/cslib/src/msg.h
@@ -0,0 +1,52 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#ifndef MSG_H
+#define MSG_H
+
+#include
+
+namespace CSLIB_NS {
+
+class Msg {
+ public:
+ int nsend,nrecv;
+ MPI_Comm world;
+
+ Msg(int, const void *, MPI_Comm);
+ Msg(int, const void *);
+ virtual ~Msg() {}
+ virtual void send(int, int *, int, char *) = 0;
+ virtual void recv(int &, int *&, int &, char *&) = 0;
+
+ protected:
+ int me,nprocs;
+ int client,server;
+
+ int nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+ int lengths[2];
+
+ void init(int);
+ void allocate(int, int &, int *&, int, int &, char *&);
+ void *smalloc(int);
+ void sfree(void *);
+ void error_all(const char *);
+ void error_one(const char *);
+};
+
+
+}
+
+#endif
diff --git a/lib/message/cslib/src/msg_file.cpp b/lib/message/cslib/src/msg_file.cpp
new file mode 100644
index 0000000000..d97e249fad
--- /dev/null
+++ b/lib/message/cslib/src/msg_file.cpp
@@ -0,0 +1,143 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "msg_file.h"
+
+using namespace CSLIB_NS;
+
+#define MAXLINE 256
+#define SLEEP 0.1 // delay in CPU secs to check for message file
+
+/* ---------------------------------------------------------------------- */
+
+MsgFile::MsgFile(int csflag, const void *ptr, MPI_Comm cworld) :
+ Msg(csflag, ptr, cworld)
+{
+ char *filename = (char *) ptr;
+ init(filename);
+}
+
+/* ---------------------------------------------------------------------- */
+
+MsgFile::MsgFile(int csflag, const void *ptr) : Msg(csflag, ptr)
+{
+ char *filename = (char *) ptr;
+ init(filename);
+}
+
+/* ---------------------------------------------------------------------- */
+
+MsgFile::~MsgFile()
+{
+ delete [] fileroot;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgFile::init(char *filename)
+{
+ int n = strlen(filename) + 1;
+ fileroot = new char[n];
+ strcpy(fileroot,filename);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgFile::send(int nheader, int *header, int nbuf, char *buf)
+{
+ char filename[MAXLINE];
+
+ lengths[0] = nheader;
+ lengths[1] = nbuf;
+
+ if (me == 0) {
+ if (client) sprintf(filename,"%s.%s",fileroot,"client");
+ else if (server) sprintf(filename,"%s.%s",fileroot,"server");
+
+ fp = fopen(filename,"wb");
+ if (!fp) error_one("send(): Could not open send message file");
+ fwrite(lengths,sizeof(int),2,fp);
+ fwrite(header,sizeof(int),nheader,fp);
+ fwrite(buf,1,nbuf,fp);
+ fclose(fp);
+ }
+
+ // create empty signal file
+
+ if (me == 0) {
+ if (client) sprintf(filename,"%s.%s",fileroot,"client.signal");
+ else if (server) sprintf(filename,"%s.%s",fileroot,"server.signal");
+ fp = fopen(filename,"w");
+ fclose(fp);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgFile::recv(int &maxheader, int *&header, int &maxbuf, char *&buf)
+{
+ char filename[MAXLINE];
+
+ // wait until signal file exists to open message file
+
+ if (me == 0) {
+ if (client) sprintf(filename,"%s.%s",fileroot,"server.signal");
+ else if (server) sprintf(filename,"%s.%s",fileroot,"client.signal");
+
+ int delay = (int) (1000000 * SLEEP);
+ while (1) {
+ fp = fopen(filename,"r");
+ if (fp) break;
+ usleep(delay);
+ }
+ fclose(fp);
+
+ if (client) sprintf(filename,"%s.%s",fileroot,"server");
+ else if (server) sprintf(filename,"%s.%s",fileroot,"client");
+ fp = fopen(filename,"rb");
+ if (!fp) error_one("recv(): Could not open recv message file");
+ }
+
+ // read and broadcast data
+
+ if (me == 0) fread(lengths,sizeof(int),2,fp);
+ if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world);
+
+ int nheader = lengths[0];
+ int nbuf = lengths[1];
+ allocate(nheader,maxheader,header,nbuf,maxbuf,buf);
+
+ if (me == 0) fread(header,sizeof(int),nheader,fp);
+ if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world);
+
+ if (me == 0) fread(buf,1,nbuf,fp);
+ if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world);
+
+ // delete both message and signal file
+
+ if (me == 0) {
+ fclose(fp);
+ unlink(filename);
+ if (client) sprintf(filename,"%s.%s",fileroot,"server.signal");
+ else if (server) sprintf(filename,"%s.%s",fileroot,"client.signal");
+ unlink(filename);
+ }
+}
diff --git a/lib/message/cslib/src/msg_file.h b/lib/message/cslib/src/msg_file.h
new file mode 100644
index 0000000000..d6bd802607
--- /dev/null
+++ b/lib/message/cslib/src/msg_file.h
@@ -0,0 +1,40 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#ifndef MSG_FILE_H
+#define MSG_FILE_H
+
+#include
+#include "msg.h"
+
+namespace CSLIB_NS {
+
+class MsgFile : public Msg {
+ public:
+ MsgFile(int, const void *, MPI_Comm);
+ MsgFile(int, const void *);
+ ~MsgFile();
+ void send(int, int *, int, char *);
+ void recv(int &, int *&, int &, char *&);
+
+ private:
+ char *fileroot;
+ FILE *fp;
+
+ void init(char *);
+};
+
+}
+
+#endif
diff --git a/lib/message/cslib/src/msg_mpi_one.cpp b/lib/message/cslib/src/msg_mpi_one.cpp
new file mode 100644
index 0000000000..db11735b27
--- /dev/null
+++ b/lib/message/cslib/src/msg_mpi_one.cpp
@@ -0,0 +1,82 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "msg_mpi_one.h"
+
+using namespace CSLIB_NS;
+
+/* ---------------------------------------------------------------------- */
+
+MsgMPIOne::MsgMPIOne(int csflag, const void *ptr, MPI_Comm cworld) :
+ Msg(csflag, ptr, cworld)
+{
+ // NOTE: ideally would skip this call if mpi/two
+ init(ptr);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgMPIOne::init(const void *ptr)
+{
+ MPI_Comm *pbothcomm = (MPI_Comm *) ptr;
+ bothcomm = *pbothcomm;
+
+ if (client) {
+ MPI_Comm_size(world,&nprocs);
+ otherroot = nprocs;
+ } else if (server) {
+ otherroot = 0;
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgMPIOne::send(int nheader, int *header, int nbuf, char *buf)
+{
+ lengths[0] = nheader;
+ lengths[1] = nbuf;
+
+ if (me == 0) {
+ MPI_Send(lengths,2,MPI_INT,otherroot,0,bothcomm);
+ MPI_Send(header,nheader,MPI_INT,otherroot,0,bothcomm);
+ MPI_Send(buf,nbuf,MPI_CHAR,otherroot,0,bothcomm);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgMPIOne::recv(int &maxheader, int *&header, int &maxbuf, char *&buf)
+{
+ MPI_Status status;
+
+ if (me == 0) MPI_Recv(lengths,2,MPI_INT,otherroot,0,bothcomm,&status);
+ if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world);
+
+ int nheader = lengths[0];
+ int nbuf = lengths[1];
+ allocate(nheader,maxheader,header,nbuf,maxbuf,buf);
+
+ if (me == 0) MPI_Recv(header,nheader,MPI_INT,otherroot,0,bothcomm,&status);
+ if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world);
+
+ if (me == 0) MPI_Recv(buf,nbuf,MPI_CHAR,otherroot,0,bothcomm,&status);
+ if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world);
+}
diff --git a/lib/message/cslib/src/msg_mpi_one.h b/lib/message/cslib/src/msg_mpi_one.h
new file mode 100644
index 0000000000..4b4140a3f7
--- /dev/null
+++ b/lib/message/cslib/src/msg_mpi_one.h
@@ -0,0 +1,38 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#ifndef MSG_MPI_ONE_H
+#define MSG_MPI_ONE_H
+
+#include "msg.h"
+
+namespace CSLIB_NS {
+
+class MsgMPIOne : public Msg {
+ public:
+ MsgMPIOne(int, const void *, MPI_Comm);
+ virtual ~MsgMPIOne() {}
+ void send(int, int *, int, char *);
+ void recv(int &, int *&, int &, char *&);
+
+ protected:
+ MPI_Comm bothcomm;
+ int otherroot;
+
+ void init(const void *);
+};
+
+}
+
+#endif
diff --git a/lib/message/cslib/src/msg_mpi_two.cpp b/lib/message/cslib/src/msg_mpi_two.cpp
new file mode 100644
index 0000000000..e9a9e87eeb
--- /dev/null
+++ b/lib/message/cslib/src/msg_mpi_two.cpp
@@ -0,0 +1,81 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "msg_mpi_two.h"
+
+using namespace CSLIB_NS;
+
+/* ---------------------------------------------------------------------- */
+
+MsgMPITwo::MsgMPITwo(int csflag, const void *ptr, MPI_Comm cworld) :
+ MsgMPIOne(csflag, ptr, cworld)
+{
+ char *filename = (char *) ptr;
+ init(filename);
+}
+
+/* ---------------------------------------------------------------------- */
+
+MsgMPITwo::~MsgMPITwo()
+{
+ // free the inter comm that spans both client and server
+
+ MPI_Comm_free(&bothcomm);
+ MPI_Close_port(port);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgMPITwo::init(char *filename)
+{
+ if (client) {
+ if (me == 0) {
+ FILE *fp = NULL;
+ while (!fp) {
+ fp = fopen(filename,"r");
+ if (!fp) sleep(1);
+ }
+ fgets(port,MPI_MAX_PORT_NAME,fp);
+ //printf("Client port: %s\n",port);
+ fclose(fp);
+ }
+
+ MPI_Bcast(port,MPI_MAX_PORT_NAME,MPI_CHAR,0,world);
+ MPI_Comm_connect(port,MPI_INFO_NULL,0,world,&bothcomm);
+ //if (me == 0) printf("CLIENT comm connect\n");
+ if (me == 0) unlink(filename);
+
+ } else if (server) {
+ MPI_Open_port(MPI_INFO_NULL,port);
+
+ if (me == 0) {
+ //printf("Server name: %s\n",port);
+ FILE *fp = fopen(filename,"w");
+ fprintf(fp,"%s",port);
+ fclose(fp);
+ }
+
+ MPI_Comm_accept(port,MPI_INFO_NULL,0,world,&bothcomm);
+ //if (me == 0) printf("SERVER comm accept\n");
+ }
+
+ otherroot = 0;
+}
diff --git a/lib/message/cslib/src/msg_mpi_two.h b/lib/message/cslib/src/msg_mpi_two.h
new file mode 100644
index 0000000000..7b31db5a63
--- /dev/null
+++ b/lib/message/cslib/src/msg_mpi_two.h
@@ -0,0 +1,35 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#ifndef MSG_MPI_TWO_H
+#define MSG_MPI_TWO_H
+
+#include "msg_mpi_one.h"
+
+namespace CSLIB_NS {
+
+class MsgMPITwo : public MsgMPIOne {
+ public:
+ MsgMPITwo(int, const void *, MPI_Comm);
+ ~MsgMPITwo();
+
+ private:
+ char port[MPI_MAX_PORT_NAME];
+
+ void init(char *);
+};
+
+}
+
+#endif
diff --git a/lib/message/cslib/src/msg_zmq.cpp b/lib/message/cslib/src/msg_zmq.cpp
new file mode 100644
index 0000000000..c2d408f3a5
--- /dev/null
+++ b/lib/message/cslib/src/msg_zmq.cpp
@@ -0,0 +1,140 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "msg_zmq.h"
+
+using namespace CSLIB_NS;
+
+/* ---------------------------------------------------------------------- */
+
+MsgZMQ::MsgZMQ(int csflag, const void *ptr, MPI_Comm cworld) :
+ Msg(csflag, ptr, cworld)
+{
+ char *port = (char *) ptr;
+ init(port);
+}
+
+MsgZMQ::MsgZMQ(int csflag, const void *ptr) : Msg(csflag, ptr)
+{
+ char *port = (char *) ptr;
+ init(port);
+}
+
+/* ---------------------------------------------------------------------- */
+
+MsgZMQ::~MsgZMQ()
+{
+ if (me == 0) {
+ zmq_close(socket);
+ zmq_ctx_destroy(context);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void MsgZMQ::init(char *port)
+{
+#ifdef ZMQ_NO
+ error_all("constructor(): Library not built with ZMQ support");
+#endif
+
+ if (me == 0) {
+ int n = strlen(port) + 8;
+ char *socket_name = new char[n];
+ strcpy(socket_name,"tcp://");
+ strcat(socket_name,port);
+
+ if (client) {
+ context = zmq_ctx_new();
+ socket = zmq_socket(context,ZMQ_REQ);
+ zmq_connect(socket,socket_name);
+ } else if (server) {
+ context = zmq_ctx_new();
+ socket = zmq_socket(context,ZMQ_REP);
+ int rc = zmq_bind(socket,socket_name);
+ if (rc) error_one("constructor(): Server could not make socket connection");
+ }
+
+ delete [] socket_name;
+ }
+}
+
+/* ----------------------------------------------------------------------
+ client/server sockets (REQ/REP) must follow this protocol:
+ client sends request (REQ) which server receives
+ server sends response (REP) which client receives
+ every exchange is of this form, server cannot initiate a send
+ thus each ZMQ send below has a following ZMQ recv, except last one
+ if client calls send(), it will next call recv()
+ if server calls send(), it will next call recv() from its wait loop
+ in either case, recv() issues a ZMQ recv to match last ZMQ send here
+------------------------------------------------------------------------- */
+
+void MsgZMQ::send(int nheader, int *header, int nbuf, char *buf)
+{
+ lengths[0] = nheader;
+ lengths[1] = nbuf;
+
+ if (me == 0) {
+ zmq_send(socket,lengths,2*sizeof(int),0);
+ zmq_recv(socket,NULL,0,0);
+ }
+
+ if (me == 0) {
+ zmq_send(socket,header,nheader*sizeof(int),0);
+ zmq_recv(socket,NULL,0,0);
+ }
+
+ if (me == 0) zmq_send(socket,buf,nbuf,0);
+}
+
+/* ----------------------------------------------------------------------
+ client/server sockets (REQ/REP) must follow this protocol:
+ client sends request (REQ) which server receives
+ server sends response (REP) which client receives
+ every exchange is of this form, server cannot initiate a send
+ thus each ZMQ recv below has a following ZMQ send, except last one
+ if client calls recv(), it will next call send() to ping server again,
+ if server calls recv(), it will next call send() to respond to client
+ in either case, send() issues a ZMQ send to match last ZMQ recv here
+------------------------------------------------------------------------- */
+
+void MsgZMQ::recv(int &maxheader, int *&header, int &maxbuf, char *&buf)
+{
+ if (me == 0) {
+ zmq_recv(socket,lengths,2*sizeof(int),0);
+ zmq_send(socket,NULL,0,0);
+ }
+ if (nprocs > 1) MPI_Bcast(lengths,2,MPI_INT,0,world);
+
+ int nheader = lengths[0];
+ int nbuf = lengths[1];
+ allocate(nheader,maxheader,header,nbuf,maxbuf,buf);
+
+ if (me == 0) {
+ zmq_recv(socket,header,nheader*sizeof(int),0);
+ zmq_send(socket,NULL,0,0);
+ }
+ if (nprocs > 1) MPI_Bcast(header,nheader,MPI_INT,0,world);
+
+ if (me == 0) zmq_recv(socket,buf,nbuf,0);
+ if (nprocs > 1) MPI_Bcast(buf,nbuf,MPI_CHAR,0,world);
+}
diff --git a/lib/message/cslib/src/msg_zmq.h b/lib/message/cslib/src/msg_zmq.h
new file mode 100644
index 0000000000..c0621a26ff
--- /dev/null
+++ b/lib/message/cslib/src/msg_zmq.h
@@ -0,0 +1,38 @@
+/* ----------------------------------------------------------------------
+ CSlib - Client/server library for code coupling
+ http://cslib.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright 2018 National Technology & Engineering Solutions of
+ Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
+ NTESS, the U.S. Government retains certain rights in this software.
+ This software is distributed under the modified Berkeley Software
+ Distribution (BSD) License.
+
+ See the README file in the top-level CSlib directory.
+------------------------------------------------------------------------- */
+
+#ifndef MSG_ZMQ_H
+#define MSG_ZMQ_H
+
+#include "msg.h"
+
+namespace CSLIB_NS {
+
+class MsgZMQ : public Msg {
+ public:
+ MsgZMQ(int, const void *, MPI_Comm);
+ MsgZMQ(int, const void *);
+ ~MsgZMQ();
+ void send(int, int *, int, char *);
+ void recv(int &, int *&, int &, char *&);
+
+ private:
+ void *context,*socket;
+
+ void init(char *);
+};
+
+}
+
+#endif
diff --git a/src/ASPHERE/fix_nve_asphere.cpp b/src/ASPHERE/fix_nve_asphere.cpp
index a33848f1a1..61e3c35293 100644
--- a/src/ASPHERE/fix_nve_asphere.cpp
+++ b/src/ASPHERE/fix_nve_asphere.cpp
@@ -62,7 +62,7 @@ void FixNVEAsphere::init()
/* ---------------------------------------------------------------------- */
-void FixNVEAsphere::initial_integrate(int vflag)
+void FixNVEAsphere::initial_integrate(int /*vflag*/)
{
double dtfm;
double inertia[3],omega[3];
diff --git a/src/ASPHERE/fix_nve_asphere_noforce.cpp b/src/ASPHERE/fix_nve_asphere_noforce.cpp
index d944b68f35..9cc430592a 100644
--- a/src/ASPHERE/fix_nve_asphere_noforce.cpp
+++ b/src/ASPHERE/fix_nve_asphere_noforce.cpp
@@ -64,7 +64,7 @@ void FixNVEAsphereNoforce::init()
/* ---------------------------------------------------------------------- */
-void FixNVEAsphereNoforce::initial_integrate(int vflag)
+void FixNVEAsphereNoforce::initial_integrate(int /*vflag*/)
{
AtomVecEllipsoid::Bonus *bonus;
if (avec) bonus = avec->bonus;
diff --git a/src/ASPHERE/fix_nve_line.cpp b/src/ASPHERE/fix_nve_line.cpp
index c145e99fcb..51a502df89 100644
--- a/src/ASPHERE/fix_nve_line.cpp
+++ b/src/ASPHERE/fix_nve_line.cpp
@@ -81,7 +81,7 @@ void FixNVELine::init()
/* ---------------------------------------------------------------------- */
-void FixNVELine::initial_integrate(int vflag)
+void FixNVELine::initial_integrate(int /*vflag*/)
{
double dtfm,dtirotate,length,theta;
diff --git a/src/ASPHERE/fix_nve_tri.cpp b/src/ASPHERE/fix_nve_tri.cpp
index d06063d905..fb9bf64c58 100644
--- a/src/ASPHERE/fix_nve_tri.cpp
+++ b/src/ASPHERE/fix_nve_tri.cpp
@@ -75,7 +75,7 @@ void FixNVETri::init()
/* ---------------------------------------------------------------------- */
-void FixNVETri::initial_integrate(int vflag)
+void FixNVETri::initial_integrate(int /*vflag*/)
{
double dtfm;
double omega[3];
diff --git a/src/BODY/body_nparticle.cpp b/src/BODY/body_nparticle.cpp
index 684e5768da..10529ad3af 100644
--- a/src/BODY/body_nparticle.cpp
+++ b/src/BODY/body_nparticle.cpp
@@ -195,7 +195,7 @@ void BodyNparticle::data_body(int ibonus, int ninteger, int ndouble,
called by Molecule class which needs single body size
------------------------------------------------------------------------- */
-double BodyNparticle::radius_body(int ninteger, int ndouble,
+double BodyNparticle::radius_body(int /*ninteger*/, int ndouble,
int *ifile, double *dfile)
{
int nsub = ifile[0];
@@ -258,7 +258,7 @@ void BodyNparticle::output(int ibonus, int m, double *values)
/* ---------------------------------------------------------------------- */
-int BodyNparticle::image(int ibonus, double flag1, double flag2,
+int BodyNparticle::image(int ibonus, double flag1, double /*flag2*/,
int *&ivec, double **&darray)
{
double p[3][3];
diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp
index 1e232f0f3f..00a09c912d 100644
--- a/src/BODY/body_rounded_polygon.cpp
+++ b/src/BODY/body_rounded_polygon.cpp
@@ -323,7 +323,7 @@ void BodyRoundedPolygon::data_body(int ibonus, int ninteger, int ndouble,
called by Molecule class which needs single body size
------------------------------------------------------------------------- */
-double BodyRoundedPolygon::radius_body(int ninteger, int ndouble,
+double BodyRoundedPolygon::radius_body(int /*ninteger*/, int ndouble,
int *ifile, double *dfile)
{
int nsub = ifile[0];
@@ -392,7 +392,7 @@ void BodyRoundedPolygon::output(int ibonus, int m, double *values)
/* ---------------------------------------------------------------------- */
-int BodyRoundedPolygon::image(int ibonus, double flag1, double flag2,
+int BodyRoundedPolygon::image(int ibonus, double flag1, double /*flag2*/,
int *&ivec, double **&darray)
{
int j;
diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp
index 6a9b97ae23..0e2ebbed83 100644
--- a/src/BODY/body_rounded_polyhedron.cpp
+++ b/src/BODY/body_rounded_polyhedron.cpp
@@ -96,7 +96,7 @@ int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus)
{
int nvertices = bonus->ivalue[0];
int nedges = bonus->ivalue[1];
- int nfaces = bonus->ivalue[2];
+ //int nfaces = bonus->ivalue[2];
if (nvertices == 1) return 0;
else if (nvertices == 2) return 1;
return nedges; //(nvertices+nfaces-2); // Euler's polyon formula: V-E+F=2
@@ -381,7 +381,7 @@ void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble,
called by Molecule class which needs single body size
------------------------------------------------------------------------- */
-double BodyRoundedPolyhedron::radius_body(int ninteger, int ndouble,
+double BodyRoundedPolyhedron::radius_body(int /*ninteger*/, int ndouble,
int *ifile, double *dfile)
{
int nsub = ifile[0];
@@ -460,10 +460,10 @@ void BodyRoundedPolyhedron::output(int ibonus, int m, double *values)
/* ---------------------------------------------------------------------- */
-int BodyRoundedPolyhedron::image(int ibonus, double flag1, double flag2,
+int BodyRoundedPolyhedron::image(int ibonus, double flag1, double /*flag2*/,
int *&ivec, double **&darray)
{
- int j, nelements;
+ int nelements;
double p[3][3];
double *x, rrad;
@@ -488,7 +488,7 @@ int BodyRoundedPolyhedron::image(int ibonus, double flag1, double flag2,
nelements = nvertices;
} else {
- int nfaces = bonus->ivalue[2];
+ //int nfaces = bonus->ivalue[2];
int nedges = bonus->ivalue[1]; //nvertices + nfaces - 2;
if (nvertices == 2) nedges = 1; // special case: rods
double* edge_ends = &bonus->dvalue[3*nvertices];
diff --git a/src/BODY/fix_nve_body.cpp b/src/BODY/fix_nve_body.cpp
index 0606723cb7..0c74facf34 100644
--- a/src/BODY/fix_nve_body.cpp
+++ b/src/BODY/fix_nve_body.cpp
@@ -54,7 +54,7 @@ void FixNVEBody::init()
/* ---------------------------------------------------------------------- */
-void FixNVEBody::initial_integrate(int vflag)
+void FixNVEBody::initial_integrate(int /*vflag*/)
{
double dtfm;
double omega[3];
diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp
index 0e7aaea1e1..3f8c08b6bd 100644
--- a/src/BODY/fix_wall_body_polygon.cpp
+++ b/src/BODY/fix_wall_body_polygon.cpp
@@ -204,7 +204,7 @@ void FixWallBodyPolygon::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWallBodyPolygon::post_force(int vflag)
+void FixWallBodyPolygon::post_force(int /*vflag*/)
{
double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos;
int i,ni,npi,ifirst,nei,iefirst,side;
@@ -310,9 +310,6 @@ void FixWallBodyPolygon::post_force(int vflag)
rsq = dx*dx + dy*dy + dz*dz;
if (rsq > radius[i]*radius[i]) continue;
- double r = sqrt(rsq);
- double rsqinv = 1.0 / rsq;
-
if (dnum[i] == 0) body2space(i);
npi = dnum[i];
ifirst = dfirst[i];
@@ -475,12 +472,11 @@ void FixWallBodyPolygon::body2space(int i)
int FixWallBodyPolygon::vertex_against_wall(int i, double wall_pos,
double** x, double** f, double** torque, int side,
- Contact* contact_list, int &num_contacts, double* facc)
+ Contact* contact_list, int &num_contacts, double* /*facc*/)
{
int ni, npi, ifirst, interact;
- double xpi[3], xpj[3], dist, eradi, rradi;
- double fx, fy, fz, rx, ry, rz;
- int nlocal = atom->nlocal;
+ double xpi[3], eradi, rradi;
+ double fx, fy, fz;
npi = dnum[i];
ifirst = dfirst[i];
@@ -499,9 +495,9 @@ int FixWallBodyPolygon::vertex_against_wall(int i, double wall_pos,
xpi[1] = x[i][1] + discrete[ifirst+ni][1];
xpi[2] = x[i][2] + discrete[ifirst+ni][2];
- int mode, contact, p2vertex;
- double d, R, hi[3], t, delx, dely, delz, fpair, shift;
- double xj[3], rij;
+ int mode, contact;
+ double d, R, hi[3], delx, dely, delz, fpair;
+ double rij;
// compute the distance from the vertex xpi to the wall
@@ -671,7 +667,7 @@ void FixWallBodyPolygon::contact_forces(Contact& contact, double j_a,
double** x, double** v, double** angmom, double** f,
double** torque, double* vwall, double* facc)
{
- int ibody,ibonus,ifirst, jefirst, ni;
+ int ibody,ibonus,ifirst, ni;
double fx,fy,fz,delx,dely,delz,rsq,rsqinv;
double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3;
double fn[3],ft[3],vi[3];
diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp
index 17e9f0b8b5..9504e256b4 100644
--- a/src/BODY/fix_wall_body_polyhedron.cpp
+++ b/src/BODY/fix_wall_body_polyhedron.cpp
@@ -211,9 +211,9 @@ void FixWallBodyPolyhedron::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWallBodyPolyhedron::post_force(int vflag)
+void FixWallBodyPolyhedron::post_force(int /*vflag*/)
{
- double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos;
+ double vwall[3],dx,dy,dz,del1,del2,rsq,eradi,rradi,wall_pos;
int i,ni,npi,ifirst,nei,iefirst,nfi,iffirst,side;
double facc[3];
@@ -325,9 +325,6 @@ void FixWallBodyPolyhedron::post_force(int vflag)
rsq = dx*dx + dy*dy + dz*dz;
if (rsq > radius[i]*radius[i]) continue;
- double r = sqrt(rsq);
- double rsqinv = 1.0 / rsq;
-
if (dnum[i] == 0) body2space(i);
npi = dnum[i];
ifirst = dfirst[i];
@@ -359,8 +356,7 @@ void FixWallBodyPolyhedron::post_force(int vflag)
edge[iefirst+ni][5] = 0;
}
- int interact, num_contacts, done;
- double delta_a, delta_ua, j_a;
+ int interact, num_contacts;
Contact contact_list[MAX_CONTACTS];
num_contacts = 0;
@@ -485,7 +481,7 @@ void FixWallBodyPolyhedron::body2space(int i)
---------------------------------------------------------------------- */
int FixWallBodyPolyhedron::sphere_against_wall(int i, double wall_pos,
- int side, double* vwall, double** x, double** v, double** f,
+ int /*side*/, double* vwall, double** x, double** v, double** f,
double** angmom, double** torque)
{
int mode;
@@ -545,12 +541,11 @@ int FixWallBodyPolyhedron::sphere_against_wall(int i, double wall_pos,
---------------------------------------------------------------------- */
int FixWallBodyPolyhedron::edge_against_wall(int i, double wall_pos,
- int side, double* vwall, double** x, double** f, double** torque,
- Contact* contact_list, int &num_contacts, double* facc)
+ int side, double* vwall, double** x, double** /*f*/, double** /*torque*/,
+ Contact* /*contact_list*/, int &/*num_contacts*/, double* /*facc*/)
{
int ni, nei, mode, contact;
double rradi;
- int nlocal = atom->nlocal;
nei = ednum[i];
rradi = rounded_radius[i];
@@ -584,7 +579,7 @@ int FixWallBodyPolyhedron::edge_against_wall(int i, double wall_pos,
int FixWallBodyPolyhedron::compute_distance_to_wall(int ibody, int edge_index,
double *xmi, double rounded_radius_i, double wall_pos,
- int side, double* vwall, int &contact)
+ int /*side*/, double* vwall, int &contact)
{
int mode,ifirst,iefirst,npi1,npi2;
double d1,d2,xpi1[3],xpi2[3],hi[3];
@@ -698,14 +693,14 @@ int FixWallBodyPolyhedron::compute_distance_to_wall(int ibody, int edge_index,
------------------------------------------------------------------------- */
void FixWallBodyPolyhedron::contact_forces(int ibody,
- double j_a, double *xi, double *xj, double delx, double dely, double delz,
+ double j_a, double *xi, double * /*xj*/, double delx, double dely, double delz,
double fx, double fy, double fz, double** x, double** v, double** angmom,
double** f, double** torque, double* vwall)
{
- int ibonus,jbonus;
+ int ibonus;
double fxt,fyt,fzt,rsq,rsqinv;
double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3;
- double fn[3],ft[3],vi[3],vj[3];
+ double fn[3],ft[3],vi[3];
double *quat, *inertia;
AtomVecBody::Bonus *bonus;
@@ -787,7 +782,7 @@ void FixWallBodyPolyhedron::contact_forces(Contact& contact, double j_a,
double** x, double** v, double** angmom, double** f,
double** torque, double* vwall, double* facc)
{
- int ibody,ibonus,ifirst, jefirst, ni;
+ int ibody,ibonus,ifirst,ni;
double fx,fy,fz,delx,dely,delz,rsq,rsqinv;
double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3;
double fn[3],ft[3],vi[3];
diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp
index 14ef70f476..6a176f1083 100644
--- a/src/BODY/pair_body_rounded_polygon.cpp
+++ b/src/BODY/pair_body_rounded_polygon.cpp
@@ -105,10 +105,9 @@ void PairBodyRoundedPolygon::compute(int eflag, int vflag)
int i,j,ii,jj,inum,jnum,itype,jtype;
int ni,nj,npi,npj,ifirst,jfirst;
int nei,nej,iefirst,jefirst;
- double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fx,fy,fz;
+ double xtmp,ytmp,ztmp,delx,dely,delz,evdwl;
double rsq,rsqinv,r,radi,radj,eradi,eradj,rradi,rradj,k_nij,k_naij;
- double xi[3],xj[3],fi[3],fj[3],ti[3],tj[3],facc[3];
- double *dxi,*dxj;
+ double xi[3],xj[3],facc[3];
int *ilist,*jlist,*numneigh,**firstneigh;
evdwl = 0.0;
@@ -598,7 +597,7 @@ void PairBodyRoundedPolygon::body2space(int i)
void PairBodyRoundedPolygon::sphere_against_sphere(int i, int j,
double delx, double dely, double delz, double rsq,
- double k_n, double k_na, double** x, double** v,
+ double k_n, double k_na, double** /*x*/, double** v,
double** f, int evflag)
{
double eradi,eradj,rradi,rradj;
@@ -709,9 +708,8 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j,
int ni, npi, ifirst, nei, iefirst;
int nj, npj, jfirst, nej, jefirst;
double xpi[3], xpj[3], dist, eradi, eradj, rradi, rradj;
- double fx, fy, fz, rx, ry, rz, energy;
+ double fx, fy, fz, energy;
int interact;
- int nlocal = atom->nlocal;
npi = dnum[i];
ifirst = dfirst[i];
@@ -758,7 +756,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j,
int mode, contact, p2vertex;
double d, R, hi[3], t, delx, dely, delz, fpair, shift;
- double xj[3], rij;
+ double rij;
// loop through body j's edges
@@ -781,6 +779,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j,
if (mode == VERTEXI) p2vertex = edge[jefirst+nj][0];
else if (mode == VERTEXJ) p2vertex = edge[jefirst+nj][1];
+ // double xj[3];
// p2.body2space(p2vertex, xj);
xpj[0] = x[j][0] + discrete[jfirst+p2vertex][0];
xpj[1] = x[j][1] + discrete[jfirst+p2vertex][1];
@@ -1166,7 +1165,7 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody,
void PairBodyRoundedPolygon::contact_forces(Contact& contact, double j_a,
double** x, double** v, double** angmom, double** f,
- double** torque, double &evdwl, double* facc)
+ double** torque, double &/*evdwl*/, double* facc)
{
int ibody,jbody,ibonus,jbonus,ifirst,jefirst,ni,nj;
double fx,fy,fz,delx,dely,delz,rsq,rsqinv;
diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp
index 051be762e5..eea2aa3724 100644
--- a/src/BODY/pair_body_rounded_polyhedron.cpp
+++ b/src/BODY/pair_body_rounded_polyhedron.cpp
@@ -603,7 +603,7 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody,
{
double rradi,rradj,contact_dist;
double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3;
- double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,shift,energy;
+ double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,energy;
int nlocal = atom->nlocal;
int newton_pair = force->newton_pair;
@@ -685,7 +685,7 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody,
{
int ni,nei,ifirst,iefirst,npi1,npi2,ibonus;
double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t;
- double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy;
+ double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,energy;
double rradi,rradj,contact_dist;
double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3;
double *quat, *inertia;
@@ -835,7 +835,7 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody,
{
int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp;
double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d;
- double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy;
+ double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,energy;
double rradi,rradj,contact_dist;
double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3;
double *quat, *inertia;
@@ -988,7 +988,7 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody,
int itype, int jtype, double** x, Contact* contact_list, int &num_contacts,
double &evdwl, double* facc)
{
- int ni,nei,nj,nej,contact,interact;
+ int ni,nei,nj,nej,interact;
double rradi,rradj,energy;
nei = ednum[ibody];
@@ -1045,7 +1045,7 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody,
int itype, int jtype, double** x, Contact* contact_list, int &num_contacts,
double &evdwl, double* facc)
{
- int ni,nei,nj,nfj,contact,interact;
+ int ni,nei,nj,nfj,interact;
double rradi,rradj,energy;
nei = ednum[ibody];
@@ -1118,7 +1118,7 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody,
int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact;
double xi1[3],xi2[3],xpj1[3],xpj2[3];
double r,t1,t2,h1[3],h2[3];
- double contact_dist, shift;
+ double contact_dist;
double** x = atom->x;
double** v = atom->v;
@@ -1314,7 +1314,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody,
// determine the intersection of the edge to the face
- double hi1[3], hi2[3], d1, d2, contact_dist, shift;
+ double hi1[3], hi2[3], d1, d2, contact_dist;
int inside1 = 0;
int inside2 = 0;
@@ -2345,9 +2345,8 @@ void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list,
void PairBodyRoundedPolyhedron::sanity_check()
{
- double x1[3],x2[3],x3[3],x4[3],h_a[3],h_b[3],d_a,d_b,u[3],v[3],n[3];
+ double x1[3],x2[3],x3[3],x4[3],h_a[3],h_b[3],d_a,d_b;
double a[3],b[3],t_a,t_b;
- int inside_a, inside_b;
x1[0] = 0; x1[1] = 3; x1[2] = 0;
x2[0] = 3; x2[1] = 0; x2[2] = 0;
@@ -2364,9 +2363,11 @@ void PairBodyRoundedPolyhedron::sanity_check()
h_a[0], h_a[1], h_a[2], h_b[0], h_b[1], h_b[2], t_a, t_b, d_a, d_b);
*/
/*
+ int inside_a, inside_b;
int mode = edge_face_intersect(x1, x2, x3, a, b, h_a, h_b, d_a, d_b,
inside_a, inside_b);
+ double u[3],v[3],n[3];
MathExtra::sub3(x2, x1, u);
MathExtra::sub3(x3, x1, v);
MathExtra::cross3(u, v, n);
diff --git a/src/CLASS2/bond_class2.cpp b/src/CLASS2/bond_class2.cpp
index c3dc09715c..af20313e0a 100644
--- a/src/CLASS2/bond_class2.cpp
+++ b/src/CLASS2/bond_class2.cpp
@@ -209,7 +209,7 @@ void BondClass2::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondClass2::single(int type, double rsq, int i, int j, double &fforce)
+double BondClass2::single(int type, double rsq, int /*i*/, int /*j*/, double &fforce)
{
double r = sqrt(rsq);
double dr = r - r0[type];
diff --git a/src/CLASS2/improper_class2.cpp b/src/CLASS2/improper_class2.cpp
index 3b3811584d..77f594af9d 100644
--- a/src/CLASS2/improper_class2.cpp
+++ b/src/CLASS2/improper_class2.cpp
@@ -633,7 +633,7 @@ void ImproperClass2::read_restart(FILE *fp)
angle-angle interactions within improper
------------------------------------------------------------------------- */
-void ImproperClass2::angleangle(int eflag, int vflag)
+void ImproperClass2::angleangle(int eflag, int /*vflag*/)
{
int i1,i2,i3,i4,i,j,k,n,type;
double eimproper;
diff --git a/src/CLASS2/pair_lj_class2.cpp b/src/CLASS2/pair_lj_class2.cpp
index e255807ab6..6451921dc5 100644
--- a/src/CLASS2/pair_lj_class2.cpp
+++ b/src/CLASS2/pair_lj_class2.cpp
@@ -377,8 +377,8 @@ void PairLJClass2::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJClass2::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairLJClass2::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,rinv,r3inv,r6inv,forcelj,philj;
diff --git a/src/COLLOID/pair_colloid.cpp b/src/COLLOID/pair_colloid.cpp
index 4448d6e110..c16dbf41af 100644
--- a/src/COLLOID/pair_colloid.cpp
+++ b/src/COLLOID/pair_colloid.cpp
@@ -469,8 +469,8 @@ void PairColloid::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairColloid::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairColloid::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double K[9],h[4],g[4];
diff --git a/src/COLLOID/pair_lubricate.cpp b/src/COLLOID/pair_lubricate.cpp
index f0f7ce8c14..de53d91818 100644
--- a/src/COLLOID/pair_lubricate.cpp
+++ b/src/COLLOID/pair_lubricate.cpp
@@ -749,7 +749,7 @@ void PairLubricate::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
int PairLubricate::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
@@ -797,7 +797,7 @@ void PairLubricate::unpack_forward_comm(int n, int first, double *buf)
if type pair setting, return -2 if no type pairs are set
------------------------------------------------------------------------- */
-int PairLubricate::pre_adapt(char *name, int ilo, int ihi, int jlo, int jhi)
+int PairLubricate::pre_adapt(char *name, int /*ilo*/, int /*ihi*/, int /*jlo*/, int /*jhi*/)
{
if (strcmp(name,"mu") == 0) return 0;
return -1;
@@ -809,7 +809,7 @@ int PairLubricate::pre_adapt(char *name, int ilo, int ihi, int jlo, int jhi)
if type pair setting, set I-J and J-I coeffs
------------------------------------------------------------------------- */
-void PairLubricate::adapt(int which, int ilo, int ihi, int jlo, int jhi,
+void PairLubricate::adapt(int /*which*/, int /*ilo*/, int /*ihi*/, int /*jlo*/, int /*jhi*/,
double value)
{
mu = value;
diff --git a/src/COLLOID/pair_lubricateU.cpp b/src/COLLOID/pair_lubricateU.cpp
index 11fb213157..35fe33c84e 100644
--- a/src/COLLOID/pair_lubricateU.cpp
+++ b/src/COLLOID/pair_lubricateU.cpp
@@ -2010,7 +2010,7 @@ void PairLubricateU::copy_uo_vec(int inum, double **f, double **torque,
/* ---------------------------------------------------------------------- */
int PairLubricateU::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/COLLOID/pair_yukawa_colloid.cpp b/src/COLLOID/pair_yukawa_colloid.cpp
index 5965fd3aa8..d21bc43524 100644
--- a/src/COLLOID/pair_yukawa_colloid.cpp
+++ b/src/COLLOID/pair_yukawa_colloid.cpp
@@ -160,9 +160,9 @@ double PairYukawaColloid::init_one(int i, int j)
/* ---------------------------------------------------------------------- */
-double PairYukawaColloid::single(int i, int j, int itype, int jtype,
+double PairYukawaColloid::single(int /*i*/, int /*j*/, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,rinv,screening,forceyukawa,phi;
diff --git a/src/GRANULAR/fix_freeze.cpp b/src/GRANULAR/fix_freeze.cpp
index 0f581be01c..73c1c9fc11 100644
--- a/src/GRANULAR/fix_freeze.cpp
+++ b/src/GRANULAR/fix_freeze.cpp
@@ -83,7 +83,7 @@ void FixFreeze::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixFreeze::post_force(int vflag)
+void FixFreeze::post_force(int /*vflag*/)
{
double **f = atom->f;
double **torque = atom->torque;
@@ -110,7 +110,7 @@ void FixFreeze::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixFreeze::post_force_respa(int vflag, int ilevel, int iloop)
+void FixFreeze::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/)
{
post_force(vflag);
}
diff --git a/src/GRANULAR/fix_wall_gran.cpp b/src/GRANULAR/fix_wall_gran.cpp
index 368ff99fb7..f0957423f9 100644
--- a/src/GRANULAR/fix_wall_gran.cpp
+++ b/src/GRANULAR/fix_wall_gran.cpp
@@ -302,7 +302,7 @@ void FixWallGran::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWallGran::post_force(int vflag)
+void FixWallGran::post_force(int /*vflag*/)
{
int i,j;
double dx,dy,dz,del1,del2,delxy,delr,rsq,rwall,meff;
@@ -446,7 +446,7 @@ void FixWallGran::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWallGran::post_force_respa(int vflag, int ilevel, int iloop)
+void FixWallGran::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
@@ -1041,7 +1041,7 @@ void FixWallGran::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixWallGran::copy_arrays(int i, int j, int delflag)
+void FixWallGran::copy_arrays(int i, int j, int /*delflag*/)
{
if (history)
for (int m = 0; m < sheardim; m++)
@@ -1136,7 +1136,7 @@ int FixWallGran::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixWallGran::size_restart(int nlocal)
+int FixWallGran::size_restart(int /*nlocal*/)
{
if (!history) return 0;
return 1 + sheardim;
diff --git a/src/GRANULAR/fix_wall_gran_region.cpp b/src/GRANULAR/fix_wall_gran_region.cpp
index 12fa25714c..4a6be5f3c9 100644
--- a/src/GRANULAR/fix_wall_gran_region.cpp
+++ b/src/GRANULAR/fix_wall_gran_region.cpp
@@ -130,7 +130,7 @@ void FixWallGranRegion::init()
/* ---------------------------------------------------------------------- */
-void FixWallGranRegion::post_force(int vflag)
+void FixWallGranRegion::post_force(int /*vflag*/)
{
int i,m,nc,iwall;
double dx,dy,dz,rsq,meff;
@@ -347,7 +347,7 @@ void FixWallGranRegion::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixWallGranRegion::copy_arrays(int i, int j, int delflag)
+void FixWallGranRegion::copy_arrays(int i, int j, int /*delflag*/)
{
int m,n,iwall;
diff --git a/src/GRANULAR/pair_gran_hertz_history.cpp b/src/GRANULAR/pair_gran_hertz_history.cpp
index 9d4f5c1a9b..d1f3c7bbe1 100644
--- a/src/GRANULAR/pair_gran_hertz_history.cpp
+++ b/src/GRANULAR/pair_gran_hertz_history.cpp
@@ -306,9 +306,9 @@ void PairGranHertzHistory::settings(int narg, char **arg)
/* ---------------------------------------------------------------------- */
-double PairGranHertzHistory::single(int i, int j, int itype, int jtype,
+double PairGranHertzHistory::single(int i, int j, int /*itype*/, int /*jtype*/,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
double radi,radj,radsum;
diff --git a/src/GRANULAR/pair_gran_hooke.cpp b/src/GRANULAR/pair_gran_hooke.cpp
index 4937c2fe8b..5244396ead 100644
--- a/src/GRANULAR/pair_gran_hooke.cpp
+++ b/src/GRANULAR/pair_gran_hooke.cpp
@@ -219,8 +219,8 @@ void PairGranHooke::compute(int eflag, int vflag)
/* ---------------------------------------------------------------------- */
-double PairGranHooke::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairGranHooke::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq,
+ double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
double radi,radj,radsum,r,rinv,rsqinv;
diff --git a/src/GRANULAR/pair_gran_hooke_history.cpp b/src/GRANULAR/pair_gran_hooke_history.cpp
index d70c7391e2..c014510fca 100644
--- a/src/GRANULAR/pair_gran_hooke_history.cpp
+++ b/src/GRANULAR/pair_gran_hooke_history.cpp
@@ -587,9 +587,9 @@ void PairGranHookeHistory::reset_dt()
/* ---------------------------------------------------------------------- */
-double PairGranHookeHistory::single(int i, int j, int itype, int jtype,
+double PairGranHookeHistory::single(int i, int j, int /*itype*/, int /*jtype*/,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
double radi,radj,radsum;
@@ -746,7 +746,7 @@ double PairGranHookeHistory::single(int i, int j, int itype, int jtype,
/* ---------------------------------------------------------------------- */
int PairGranHookeHistory::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/KSPACE/msm.cpp b/src/KSPACE/msm.cpp
index 9f3221449b..efa2c87296 100644
--- a/src/KSPACE/msm.cpp
+++ b/src/KSPACE/msm.cpp
@@ -177,7 +177,7 @@ void MSM::init()
if (sizeof(FFT_SCALAR) != 8)
error->all(FLERR,"Cannot (yet) use single precision with MSM "
- "(remove -DFFT_SINGLE from Makefile and recompile)");
+ "(remove -DFFT_SINGLE from Makefile and re-compile)");
// extract short-range Coulombic cutoff from pair style
@@ -419,7 +419,7 @@ void MSM::setup()
boxlo = domain->boxlo_lamda;
// ghost grid points depend on direct sum interaction limits,
- // so need to recompute local grid
+ // so need to re-compute local grid
set_grid_local();
diff --git a/src/KSPACE/pair_coul_long.cpp b/src/KSPACE/pair_coul_long.cpp
index 4b10782ee6..8db5979b39 100644
--- a/src/KSPACE/pair_coul_long.cpp
+++ b/src/KSPACE/pair_coul_long.cpp
@@ -338,9 +338,9 @@ void PairCoulLong::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairCoulLong::single(int i, int j, int itype, int jtype,
+double PairCoulLong::single(int i, int j, int /*itype*/, int /*jtype*/,
double rsq,
- double factor_coul, double factor_lj,
+ double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r2inv,r,grij,expm2,t,erfc,prefactor;
diff --git a/src/KSPACE/pair_coul_msm.cpp b/src/KSPACE/pair_coul_msm.cpp
index f5cd9a0445..ab59dfa4c1 100644
--- a/src/KSPACE/pair_coul_msm.cpp
+++ b/src/KSPACE/pair_coul_msm.cpp
@@ -169,9 +169,9 @@ void PairCoulMSM::compute(int eflag, int vflag)
/* ---------------------------------------------------------------------- */
-double PairCoulMSM::single(int i, int j, int itype, int jtype,
+double PairCoulMSM::single(int i, int j, int /*itype*/, int /*jtype*/,
double rsq,
- double factor_coul, double factor_lj,
+ double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r2inv,r,egamma,fgamma,prefactor;
diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp
index aea57da326..b8cd52c5fe 100644
--- a/src/KSPACE/pppm_disp.cpp
+++ b/src/KSPACE/pppm_disp.cpp
@@ -8052,7 +8052,7 @@ void PPPMDisp::compute_rho_coeff(FFT_SCALAR **coeff , FFT_SCALAR **dcoeff,
extended to non-neutral systems (J. Chem. Phys. 131, 094107).
------------------------------------------------------------------------- */
-void PPPMDisp::slabcorr(int eflag)
+void PPPMDisp::slabcorr(int /*eflag*/)
{
// compute local contribution to global dipole moment
diff --git a/src/KSPACE/remap.cpp b/src/KSPACE/remap.cpp
index 81dd692f4f..26541f121e 100644
--- a/src/KSPACE/remap.cpp
+++ b/src/KSPACE/remap.cpp
@@ -234,7 +234,7 @@ struct remap_plan_3d *remap_3d_create_plan(
int in_klo, int in_khi,
int out_ilo, int out_ihi, int out_jlo, int out_jhi,
int out_klo, int out_khi,
- int nqty, int permute, int memory, int precision, int usecollective)
+ int nqty, int permute, int memory, int /*precision*/, int usecollective)
{
diff --git a/src/LATTE/fix_latte.cpp b/src/LATTE/fix_latte.cpp
index 18502dd013..a89be57bed 100644
--- a/src/LATTE/fix_latte.cpp
+++ b/src/LATTE/fix_latte.cpp
@@ -189,7 +189,7 @@ void FixLatte::init()
/* ---------------------------------------------------------------------- */
-void FixLatte::init_list(int id, NeighList *ptr)
+void FixLatte::init_list(int /*id*/, NeighList * /*ptr*/)
{
// list = ptr;
}
@@ -223,13 +223,13 @@ void FixLatte::setup_pre_reverse(int eflag, int vflag)
integrate electronic degrees of freedom
------------------------------------------------------------------------- */
-void FixLatte::initial_integrate(int vflag) {}
+void FixLatte::initial_integrate(int /*vflag*/) {}
/* ----------------------------------------------------------------------
store eflag, so can use it in post_force to tally per-atom energies
------------------------------------------------------------------------- */
-void FixLatte::pre_reverse(int eflag, int vflag)
+void FixLatte::pre_reverse(int eflag, int /*vflag*/)
{
eflag_caller = eflag;
}
diff --git a/src/MANYBODY/fix_qeq_comb.cpp b/src/MANYBODY/fix_qeq_comb.cpp
index b8d9c7e6df..e46da9bfe7 100644
--- a/src/MANYBODY/fix_qeq_comb.cpp
+++ b/src/MANYBODY/fix_qeq_comb.cpp
@@ -159,7 +159,7 @@ void FixQEQComb::min_post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixQEQComb::post_force(int vflag)
+void FixQEQComb::post_force(int /*vflag*/)
{
int i,ii,iloop,loopmax,inum,*ilist;
double heatpq,qmass,dtq,dtq2;
@@ -276,7 +276,7 @@ void FixQEQComb::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixQEQComb::post_force_respa(int vflag, int ilevel, int iloop)
+void FixQEQComb::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
@@ -293,7 +293,7 @@ double FixQEQComb::memory_usage()
/* ---------------------------------------------------------------------- */
int FixQEQComb::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MANYBODY/pair_adp.cpp b/src/MANYBODY/pair_adp.cpp
index d0b4d19758..831f1d0efa 100644
--- a/src/MANYBODY/pair_adp.cpp
+++ b/src/MANYBODY/pair_adp.cpp
@@ -424,7 +424,7 @@ void PairADP::allocate()
global settings
------------------------------------------------------------------------- */
-void PairADP::settings(int narg, char **arg)
+void PairADP::settings(int narg, char **/*arg*/)
{
if (narg > 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -521,7 +521,7 @@ void PairADP::init_style()
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairADP::init_one(int i, int j)
+double PairADP::init_one(int /*i*/, int /*j*/)
{
// single global cutoff = max of cut from all files read in
// for funcfl could be multiple files
@@ -935,7 +935,7 @@ void PairADP::grab(FILE *fp, int n, double *list)
/* ---------------------------------------------------------------------- */
int PairADP::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MANYBODY/pair_airebo.cpp b/src/MANYBODY/pair_airebo.cpp
index 3be27354c1..ac3ed36a83 100644
--- a/src/MANYBODY/pair_airebo.cpp
+++ b/src/MANYBODY/pair_airebo.cpp
@@ -425,7 +425,7 @@ void PairAIREBO::REBO_neigh()
REBO forces and energy
------------------------------------------------------------------------- */
-void PairAIREBO::FREBO(int eflag, int vflag)
+void PairAIREBO::FREBO(int eflag, int /*vflag*/)
{
int i,j,k,m,ii,inum,itype,jtype;
tagint itag,jtag;
@@ -524,7 +524,7 @@ void PairAIREBO::FREBO(int eflag, int vflag)
find 3- and 4-step paths between atoms I,J via REBO neighbor lists
------------------------------------------------------------------------- */
-void PairAIREBO::FLJ(int eflag, int vflag)
+void PairAIREBO::FLJ(int eflag, int /*vflag*/)
{
int i,j,k,m,ii,jj,kk,mm,inum,jnum,itype,jtype,ktype,mtype;
int atomi,atomj,atomk,atomm;
@@ -893,7 +893,7 @@ void PairAIREBO::FLJ(int eflag, int vflag)
torsional forces and energy
------------------------------------------------------------------------- */
-void PairAIREBO::TORSION(int eflag, int vflag)
+void PairAIREBO::TORSION(int eflag, int /*vflag*/)
{
int i,j,k,l,ii,inum;
tagint itag,jtag;
@@ -2116,7 +2116,7 @@ but of the vector r_ij.
*/
-double PairAIREBO::bondorderLJ(int i, int j, double rij_mod[3], double rijmag_mod,
+double PairAIREBO::bondorderLJ(int i, int j, double /*rij_mod*/[3], double rijmag_mod,
double VA, double rij[3], double rijmag,
double **f, int vflag_atom)
{
diff --git a/src/MANYBODY/pair_atm.cpp b/src/MANYBODY/pair_atm.cpp
new file mode 100644
index 0000000000..a6e52faeba
--- /dev/null
+++ b/src/MANYBODY/pair_atm.cpp
@@ -0,0 +1,374 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+/* ----------------------------------------------------------------------
+ Contributing author: Sergey Lishchuk
+------------------------------------------------------------------------- */
+
+#include
+#include "pair_atm.h"
+#include "atom.h"
+#include "citeme.h"
+#include "comm.h"
+#include "error.h"
+#include "force.h"
+#include "memory.h"
+#include "neigh_list.h"
+#include "neigh_request.h"
+#include "neighbor.h"
+
+using namespace LAMMPS_NS;
+
+static const char cite_atm_package[] =
+ "ATM package:\n\n"
+ "@Article{Lishchuk:2012:164501,\n"
+ " author = {S. V. Lishchuk},\n"
+ " title = {Role of three-body interactions in formation of bulk viscosity in liquid argon},\n"
+ " journal = {J.~Chem.~Phys.},\n"
+ " year = 2012,\n"
+ " volume = 136,\n"
+ " pages = {164501}\n"
+ "}\n\n";
+
+/* ---------------------------------------------------------------------- */
+
+PairATM::PairATM(LAMMPS *lmp) : Pair(lmp)
+{
+ if (lmp->citeme) lmp->citeme->add(cite_atm_package);
+
+ single_enable = 0;
+ restartinfo = 1;
+ one_coeff = 0;
+ manybody_flag = 1;
+}
+
+/* ----------------------------------------------------------------------
+ check if allocated, since class can be destructed when incomplete
+------------------------------------------------------------------------- */
+
+PairATM::~PairATM()
+{
+ if (copymode) return;
+
+ if (allocated) {
+ memory->destroy(setflag);
+ memory->destroy(cutsq);
+
+ memory->destroy(nu);
+ }
+}
+
+/* ----------------------------------------------------------------------
+ workhorse routine that computes pairwise interactions
+------------------------------------------------------------------------- */
+
+void PairATM::compute(int eflag, int vflag)
+{
+ int i,j,k,ii,jj,kk,inum,jnum,jnumm1;
+ double xi,yi,zi,evdwl;
+ double rij2,rik2,rjk2;
+ double rij[3],rik[3],rjk[3],fj[3],fk[3];
+ double nu_local;
+ int *ilist,*jlist,*numneigh,**firstneigh;
+
+ evdwl = 0.0;
+ if (eflag || vflag) ev_setup(eflag,vflag);
+ else evflag = vflag_fdotr = 0;
+
+ double **x = atom->x;
+ double **f = atom->f;
+ int *type = atom->type;
+
+ double cutoff_squared = cut_global*cut_global;
+ double triple = cut_triple*cut_triple*cut_triple;
+ double cutoff_triple_sixth = triple*triple;
+
+ inum = list->inum;
+ ilist = list->ilist;
+ numneigh = list->numneigh;
+ firstneigh = list->firstneigh;
+
+ // triple loop over local atoms and neighbors twice
+ // must compute each IJK triplet interaction exactly once
+ // by proc that owns the triplet atom with smallest x coord
+ // special logic to break ties if multiple atoms have same x or y coords
+ // inner two loops for jj=1,Jnum and kk=jj+1,Jnum insure
+ // the pair of other 2 non-minimum-x atoms is only considered once
+ // triplet geometry criteria for calculation:
+ // each pair distance <= cutoff
+ // produce of 3 pair distances <= cutoff_triple^3
+
+ for (ii = 0; ii < inum; ii++) {
+ i = ilist[ii];
+ xi = x[i][0];
+ yi = x[i][1];
+ zi = x[i][2];
+
+ jlist = firstneigh[i];
+ jnum = numneigh[i];
+ jnumm1 = jnum - 1;
+
+ for (jj = 0; jj < jnumm1; jj++) {
+ j = jlist[jj];
+ j &= NEIGHMASK;
+
+ rij[0] = x[j][0] - xi;
+ if (rij[0] < 0.0) continue;
+ rij[1] = x[j][1] - yi;
+ if (rij[0] == 0.0 and rij[1] < 0.0) continue;
+ rij[2] = x[j][2] - zi;
+ if (rij[0] == 0.0 and rij[1] == 0.0 and rij[2] < 0.0) continue;
+ rij2 = rij[0]*rij[0] + rij[1]*rij[1] + rij[2]*rij[2];
+ if (rij2 > cutoff_squared) continue;
+
+ for (kk = jj+1; kk < jnum; kk++) {
+ k = jlist[kk];
+ k &= NEIGHMASK;
+
+ rik[0] = x[k][0] - xi;
+ if (rik[0] < 0.0) continue;
+ rik[1] = x[k][1] - yi;
+ if (rik[0] == 0.0 and rik[1] < 0.0) continue;
+ rik[2] = x[k][2] - zi;
+ if (rik[0] == 0.0 and rik[1] == 0.0 and rik[2] < 0.0) continue;
+ rik2 = rik[0]*rik[0] + rik[1]*rik[1] + rik[2]*rik[2];
+ if (rik2 > cutoff_squared) continue;
+
+ rjk[0] = x[k][0] - x[j][0];
+ rjk[1] = x[k][1] - x[j][1];
+ rjk[2] = x[k][2] - x[j][2];
+ rjk2 = rjk[0]*rjk[0] + rjk[1]*rjk[1] + rjk[2]*rjk[2];
+ if (rjk2 > cutoff_squared) continue;
+
+ double r6 = rij2*rjk2*rik2;
+ if (r6 > cutoff_triple_sixth) continue;
+
+ nu_local = nu[type[i]][type[j]][type[k]];
+ if (nu_local == 0.0) continue;
+
+ interaction_ddd(nu_local,
+ r6,rij2,rik2,rjk2,rij,rik,rjk,fj,fk,eflag,evdwl);
+
+ f[i][0] -= fj[0] + fk[0];
+ f[i][1] -= fj[1] + fk[1];
+ f[i][2] -= fj[2] + fk[2];
+ f[j][0] += fj[0];
+ f[j][1] += fj[1];
+ f[j][2] += fj[2];
+ f[k][0] += fk[0];
+ f[k][1] += fk[1];
+ f[k][2] += fk[2];
+
+ if (evflag) ev_tally3(i,j,k,evdwl,0.0,fj,fk,rij,rik);
+ }
+ }
+ }
+
+ if (vflag_fdotr) virial_fdotr_compute();
+}
+
+/* ---------------------------------------------------------------------- */
+
+void PairATM::allocate()
+{
+ allocated = 1;
+ int n = atom->ntypes;
+
+ memory->create(setflag,n+1,n+1,"pair:setflag");
+ for (int i = 1; i <= n; i++)
+ for (int j = i; j <= n; j++)
+ setflag[i][j] = 0;
+
+ memory->create(cutsq,n+1,n+1,"pair:cutsq");
+
+ memory->create(nu,n+1,n+1,n+1,"pair:nu");
+
+ // initialize all nu values to 0.0
+
+ for (int i = 1; i <= n; i++)
+ for (int j = 1; j <= n; j++)
+ for (int k = 1; k <= n; k++)
+ nu[i][j][k] = 0.0;
+}
+
+/* ----------------------------------------------------------------------
+ global settings
+------------------------------------------------------------------------- */
+
+void PairATM::settings(int narg, char **arg)
+{
+ if (narg != 2) error->all(FLERR,"Illegal pair_style command");
+
+ cut_global = force->numeric(FLERR,arg[0]);
+ cut_triple = force->numeric(FLERR,arg[1]);
+}
+
+/* ----------------------------------------------------------------------
+ set coefficients for one I,J,K type triplet
+------------------------------------------------------------------------- */
+
+void PairATM::coeff(int narg, char **arg)
+{
+ if (narg != 4) error->all(FLERR,"Incorrect args for pair coefficients");
+ if (!allocated) allocate();
+
+ int ilo,ihi,jlo,jhi,klo,khi;
+ force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi);
+ force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi);
+ force->bounds(FLERR,arg[2],atom->ntypes,klo,khi);
+
+ double nu_one = force->numeric(FLERR,arg[3]);
+
+ int count = 0;
+ for (int i = ilo; i <= ihi; i++) {
+ for (int j = MAX(jlo,i); j<=jhi; j++) {
+ for (int k = MAX(klo,j); k<=khi; k++) {
+ nu[i][j][k] = nu_one;
+ count++;
+ }
+ setflag[i][j] = 1;
+ }
+ }
+
+ if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients");
+}
+
+/* ----------------------------------------------------------------------
+ init specific to this pair style
+------------------------------------------------------------------------- */
+
+void PairATM::init_style()
+{
+ if (force->newton_pair == 0)
+ error->all(FLERR,"Pair style ATM requires newton pair on");
+
+ // need a full neighbor list
+
+ int irequest = neighbor->request(this,instance_me);
+ neighbor->requests[irequest]->half = 0;
+ neighbor->requests[irequest]->full = 1;
+}
+
+/* ----------------------------------------------------------------------
+ init for one i,j type pair and corresponding j,i
+ also for all k type permutations
+------------------------------------------------------------------------- */
+
+double PairATM::init_one(int i, int j)
+{
+ if (setflag[i][j] == 0) error->all(FLERR,"All pair coeffs are not set");
+
+ // set all 6 symmetric permutations of I,J,K types to same nu value
+
+ int ntypes = atom->ntypes;
+ for (int k = j; k <= ntypes; k++)
+ nu[i][k][j] = nu[j][i][k] = nu[j][k][i] = nu[k][i][j] = nu[k][j][i] =
+ nu[i][j][k];
+
+ return cut_global;
+}
+
+/* ----------------------------------------------------------------------
+ proc 0 writes to restart file
+------------------------------------------------------------------------- */
+
+void PairATM::write_restart(FILE *fp)
+{
+ write_restart_settings(fp);
+
+ int i,j,k;
+ for (i = 1; i <= atom->ntypes; i++) {
+ for (j = i; j <= atom->ntypes; j++) {
+ fwrite(&setflag[i][j],sizeof(int),1,fp);
+ if (setflag[i][j])
+ for (k = j; k <= atom->ntypes; k++)
+ fwrite(&nu[i][j][k],sizeof(double),1,fp);
+ }
+ }
+}
+
+/* ----------------------------------------------------------------------
+ proc 0 reads from restart file, bcasts
+------------------------------------------------------------------------- */
+
+void PairATM::read_restart(FILE *fp)
+{
+ read_restart_settings(fp);
+ allocate();
+
+ int i,j,k;
+ int me = comm->me;
+ for (i = 1; i <= atom->ntypes; i++) {
+ for (j = i; j <= atom->ntypes; j++) {
+ if (me == 0) fread(&setflag[i][j],sizeof(int),1,fp);
+ MPI_Bcast(&setflag[i][j],1,MPI_INT,0,world);
+ if (setflag[i][j]) for (k = j; k <= atom->ntypes; k++) {
+ if (me == 0) fread(&nu[i][j][k],sizeof(double),1,fp);
+ MPI_Bcast(&nu[i][j][k],1,MPI_DOUBLE,0,world);
+ }
+ }
+ }
+}
+
+/* ----------------------------------------------------------------------
+ proc 0 writes to restart file
+------------------------------------------------------------------------- */
+
+void PairATM::write_restart_settings(FILE *fp)
+{
+ fwrite(&cut_global,sizeof(double),1,fp);
+ fwrite(&cut_triple,sizeof(double),1,fp);
+}
+
+/* ----------------------------------------------------------------------
+ proc 0 reads from restart file, bcasts
+------------------------------------------------------------------------- */
+
+void PairATM::read_restart_settings(FILE *fp)
+{
+ int me = comm->me;
+ if (me == 0) {
+ fread(&cut_global,sizeof(double),1,fp);
+ fread(&cut_triple,sizeof(double),1,fp);
+ }
+ MPI_Bcast(&cut_global,1,MPI_DOUBLE,0,world);
+ MPI_Bcast(&cut_triple,1,MPI_DOUBLE,0,world);
+}
+
+/* ----------------------------------------------------------------------
+ Axilrod-Teller-Muto (dipole-dipole-dipole) potential
+------------------------------------------------------------------------- */
+
+void PairATM::interaction_ddd(double nu, double r6,
+ double rij2, double rik2, double rjk2,
+ double *rij, double *rik, double *rjk,
+ double *fj, double *fk, int eflag, double &eng)
+{
+ double r5inv,rri,rrj,rrk,rrr;
+ r5inv = nu / (r6*r6*sqrt(r6));
+ rri = rik[0]*rij[0] + rik[1]*rij[1] + rik[2]*rij[2];
+ rrj = rij[0]*rjk[0] + rij[1]*rjk[1] + rij[2]*rjk[2];
+ rrk = rjk[0]*rik[0] + rjk[1]*rik[1] + rjk[2]*rik[2];
+ rrr = 5.0*rri*rrj*rrk;
+ for (int i = 0; i < 3; i++) {
+ fj[i] = rrj*(rrk - rri)*rik[i] -
+ (rrk*rri - rjk2*rik2 + rrr/rij2) * rij[i] +
+ (rrk*rri - rik2*rij2 + rrr/rjk2) * rjk[i];
+ fj[i] *= 3.0*r5inv;
+ fk[i] = rrk*(rri + rrj)*rij[i] +
+ (rri*rrj + rik2*rij2 - rrr/rjk2) * rjk[i] +
+ (rri*rrj + rij2*rjk2 - rrr/rik2) * rik[i];
+ fk[i] *= 3.0*r5inv;
+ }
+ if (eflag) eng = (r6 - 0.6*rrr)*r5inv;
+}
diff --git a/src/MANYBODY/pair_atm.h b/src/MANYBODY/pair_atm.h
new file mode 100644
index 0000000000..70883a81c7
--- /dev/null
+++ b/src/MANYBODY/pair_atm.h
@@ -0,0 +1,77 @@
+/* -*- c++ -*- ----------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef PAIR_CLASS
+
+PairStyle(atm,PairATM)
+
+#else
+
+#ifndef LMP_PAIR_ATM_H
+#define LMP_PAIR_ATM_H
+
+#include "pair.h"
+
+namespace LAMMPS_NS {
+
+class PairATM : public Pair {
+ public:
+ PairATM(class LAMMPS *);
+ virtual ~PairATM();
+ virtual void compute(int, int);
+ void settings(int, char **);
+ virtual void coeff(int, char **);
+ virtual void init_style();
+ virtual double init_one(int, int);
+ void write_restart(FILE *);
+ void read_restart(FILE *);
+ void write_restart_settings(FILE *);
+ void read_restart_settings(FILE *);
+
+ protected:
+ double cut_global,cut_triple;
+ double ***nu;
+
+ void allocate();
+ void interaction_ddd(double, double, double, double, double, double *,
+ double *, double *, double *, double *, int, double &);
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal pair_style command
+
+Self-explanatory. Check the input script syntax and compare to the
+documentation for the command. You can use -echo screen as a
+command-line option when running LAMMPS to see the offending line.
+
+E: Incorrect args for pair coefficients
+
+Self-explanatory. Check the input script or data file.
+
+E: Pair style ATM requires newton pair on
+
+See the newton command. This is a restriction to use the ATM
+potential.
+
+E: All pair coeffs are not set
+
+All pair coefficients must be set in the data file or by the
+pair_coeff command before running a simulation.
+
+*/
diff --git a/src/MANYBODY/pair_comb.cpp b/src/MANYBODY/pair_comb.cpp
index de686d4bcf..e7b0d27b6e 100644
--- a/src/MANYBODY/pair_comb.cpp
+++ b/src/MANYBODY/pair_comb.cpp
@@ -432,7 +432,7 @@ void PairComb::allocate()
global settings
------------------------------------------------------------------------- */
-void PairComb::settings(int narg, char **arg)
+void PairComb::settings(int narg, char **/*arg*/)
{
if (narg > 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -1542,7 +1542,7 @@ void PairComb::potal_calc(double &calc1, double &calc2, double &calc3)
void PairComb::tri_point(double rsq, int &mr1, int &mr2,
int &mr3, double &sr1, double &sr2,
- double &sr3, int &itype)
+ double &sr3, int &/*itype*/)
{
double r, rin, dr, dd, rr1, rridr, rridr2;
@@ -1572,7 +1572,7 @@ void PairComb::tri_point(double rsq, int &mr1, int &mr2,
void PairComb::direct(int inty, int mr1, int mr2, int mr3, double rsq,
double sr1, double sr2, double sr3,
double iq, double jq,
- double potal, double fac11, double fac11e,
+ double /*potal*/, double fac11, double fac11e,
double &pot_tmp, double &pot_d)
{
double r,erfcc,fafbn1,potij,sme2,esucon;
@@ -2002,7 +2002,7 @@ void PairComb::Over_cor(Param *param, double rsq1, int NCoi,
/* ---------------------------------------------------------------------- */
int PairComb::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MANYBODY/pair_comb3.cpp b/src/MANYBODY/pair_comb3.cpp
index b4f9c02206..72360be5f0 100644
--- a/src/MANYBODY/pair_comb3.cpp
+++ b/src/MANYBODY/pair_comb3.cpp
@@ -1569,7 +1569,7 @@ void PairComb3::compute(int eflag, int vflag)
/* ---------------------------------------------------------------------- */
void PairComb3::repulsive(Param *parami, Param *paramj, double rsq,
- double &fforce,int eflag, double &eng, double iq, double jq)
+ double &fforce,int /*eflag*/, double &eng, double iq, double jq)
{
double r,tmp_fc,tmp_fc_d,Di,Dj;
double caj,vrcs,fvrcs;
@@ -1614,7 +1614,7 @@ void PairComb3::repulsive(Param *parami, Param *paramj, double rsq,
/* ---------------------------------------------------------------------- */
double PairComb3::zeta(Param *parami, Param *paramj, double rsqij,
- double rsqik, double *delrij, double *delrik, int i, double xcn)
+ double rsqik, double *delrij, double *delrik, int /*i*/, double xcn)
{
double rij,rik,costheta,arg,ex_delr,rlm3;
@@ -1661,7 +1661,7 @@ void PairComb3::selfp6p(Param *parami, Param *paramj, double rsq,
/* ---------------------------------------------------------------------- */
double PairComb3::ep6p(Param *paramj, Param *paramk, double rsqij, double rsqik,
- double *delrij, double *delrik , double &zet_add)
+ double *delrij, double *delrik , double &/*zet_add*/)
{
double comtt;
double pplp0 = paramj->p6p0;
@@ -2109,7 +2109,7 @@ void PairComb3::coord(Param *param, double r, int i,
void PairComb3::cntri_int(int tri_flag, double xval, double yval,
double zval, int ixmin, int iymin, int izmin, double &vval,
- double &dvalx, double &dvaly, double &dvalz, Param *param)
+ double &dvalx, double &dvaly, double &dvalz, Param * /*param*/)
{
double x;
vval = 0.0; dvalx = 0.0; dvaly = 0.0; dvalz = 0.0;
@@ -2254,7 +2254,7 @@ void PairComb3::comb_gijk_d(double costheta, Param *param, double nco_tmp,
void PairComb3::attractive(Param *parami, Param *paramj , Param *paramk, double prefac_ij1,
double prefac_ij2, double prefac_ij3, double prefac_ij4,
double prefac_ij5, double rsqij, double rsqik, double *delrij,
- double *delrik, double *fi, double *fj,double *fk, int i, double xcn)
+ double *delrik, double *fi, double *fj,double *fk, int /*i*/, double xcn)
{
double rij_hat[3],rik_hat[3];
double rij,rijinv,rik,rikinv;
@@ -2867,7 +2867,7 @@ void PairComb3::field(Param *parami, Param *paramj, double rsq, double iq,
/* ---------------------------------------------------------------------- */
-double PairComb3::rad_init(double rsq2,Param *param,int i,
+double PairComb3::rad_init(double rsq2,Param *param,int /*i*/,
double &radtot, double cnconj)
{
double r, fc1k, radcut;
@@ -2882,7 +2882,7 @@ double PairComb3::rad_init(double rsq2,Param *param,int i,
/* ---------------------------------------------------------------------- */
void PairComb3::rad_calc(double r, Param *parami, Param *paramj,
- double kconjug, double lconjug, int i, int j, double xcn, double ycn)
+ double kconjug, double lconjug, int /*i*/, int /*j*/, double xcn, double ycn)
{
int ixmin, iymin, izmin;
int radindx;
@@ -3061,7 +3061,7 @@ double PairComb3::bbtor1(int torindx, Param *paramk, Param *paraml,
/* ---------------------------------------------------------------------- */
void PairComb3::tor_calc(double r, Param *parami, Param *paramj,
- double kconjug, double lconjug, int i, int j, double xcn, double ycn)
+ double kconjug, double lconjug, int /*i*/, int /*j*/, double xcn, double ycn)
{
int ixmin, iymin, izmin;
double vtor, dtorx, dtory, dtorz;
@@ -3589,7 +3589,7 @@ void PairComb3::qfo_dipole(double fac11, int mr1, int mr2, int mr3,
void PairComb3::qfo_short(Param *parami, Param *paramj, double rsq,
double iq, double jq, double &fqij, double &fqji,
- int i, int j, int nj)
+ int i, int /*j*/, int nj)
{
double r, tmp_fc;
double Di, Dj, dDi, dDj, Bsi, Bsj, dBsi, dBsj;
@@ -3863,7 +3863,7 @@ double PairComb3::switching_d(double rr)
/* ---------------------------------------------------------------------- */
int PairComb3::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MANYBODY/pair_eam.cpp b/src/MANYBODY/pair_eam.cpp
index 9e70b19eea..87bcebb111 100644
--- a/src/MANYBODY/pair_eam.cpp
+++ b/src/MANYBODY/pair_eam.cpp
@@ -347,7 +347,7 @@ void PairEAM::allocate()
global settings
------------------------------------------------------------------------- */
-void PairEAM::settings(int narg, char **arg)
+void PairEAM::settings(int narg, char **/*arg*/)
{
if (narg > 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -795,7 +795,7 @@ void PairEAM::grab(FILE *fptr, int n, double *list)
/* ---------------------------------------------------------------------- */
double PairEAM::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+ double rsq, double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
int m;
@@ -829,7 +829,7 @@ double PairEAM::single(int i, int j, int itype, int jtype,
/* ---------------------------------------------------------------------- */
int PairEAM::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MANYBODY/pair_eam_cd.cpp b/src/MANYBODY/pair_eam_cd.cpp
index 66ebad6244..5b8b241b45 100644
--- a/src/MANYBODY/pair_eam_cd.cpp
+++ b/src/MANYBODY/pair_eam_cd.cpp
@@ -539,7 +539,7 @@ void PairEAMCD::read_h_coeff(char *filename)
/* ---------------------------------------------------------------------- */
int PairEAMCD::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MANYBODY/pair_eim.cpp b/src/MANYBODY/pair_eim.cpp
index b810d444fc..6703e159e6 100644
--- a/src/MANYBODY/pair_eim.cpp
+++ b/src/MANYBODY/pair_eim.cpp
@@ -342,7 +342,7 @@ void PairEIM::allocate()
global settings
------------------------------------------------------------------------- */
-void PairEIM::settings(int narg, char **arg)
+void PairEIM::settings(int narg, char **/*arg*/)
{
if (narg > 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -850,7 +850,7 @@ void PairEIM::array2spline()
/* ---------------------------------------------------------------------- */
void PairEIM::interpolate(int n, double delta, double *f,
- double **spline, double origin)
+ double **spline, double /*origin*/)
{
for (int m = 1; m <= n; m++) spline[m][6] = f[m];
@@ -1087,7 +1087,7 @@ double PairEIM::funccoul(int i, int j, double r)
/* ---------------------------------------------------------------------- */
int PairEIM::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MANYBODY/pair_gw.cpp b/src/MANYBODY/pair_gw.cpp
index 35f092b580..0aff4970bb 100644
--- a/src/MANYBODY/pair_gw.cpp
+++ b/src/MANYBODY/pair_gw.cpp
@@ -257,7 +257,7 @@ void PairGW::allocate()
global settings
------------------------------------------------------------------------- */
-void PairGW::settings(int narg, char **arg)
+void PairGW::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/MANYBODY/pair_lcbop.cpp b/src/MANYBODY/pair_lcbop.cpp
index d334defcc6..57373c4f85 100644
--- a/src/MANYBODY/pair_lcbop.cpp
+++ b/src/MANYBODY/pair_lcbop.cpp
@@ -121,7 +121,7 @@ void PairLCBOP::allocate()
global settings
------------------------------------------------------------------------- */
-void PairLCBOP::settings(int narg, char **arg) {
+void PairLCBOP::settings(int narg, char **/*arg*/) {
if( narg != 0 ) error->all(FLERR,"Illegal pair_style command");
}
@@ -353,7 +353,7 @@ void PairLCBOP::SR_neigh()
Short range forces and energy
------------------------------------------------------------------------- */
-void PairLCBOP::FSR(int eflag, int vflag)
+void PairLCBOP::FSR(int eflag, int /*vflag*/)
{
int i,j,jj,ii,inum;
tagint itag,jtag;
@@ -449,7 +449,7 @@ void PairLCBOP::FSR(int eflag, int vflag)
compute long range forces and energy
------------------------------------------------------------------------- */
-void PairLCBOP::FLR(int eflag, int vflag)
+void PairLCBOP::FLR(int eflag, int /*vflag*/)
{
int i,j,jj,ii;
tagint itag,jtag;
diff --git a/src/MANYBODY/pair_nb3b_harmonic.cpp b/src/MANYBODY/pair_nb3b_harmonic.cpp
index 36be9c2b90..01718d14cd 100644
--- a/src/MANYBODY/pair_nb3b_harmonic.cpp
+++ b/src/MANYBODY/pair_nb3b_harmonic.cpp
@@ -174,7 +174,7 @@ void PairNb3bHarmonic::allocate()
global settings
------------------------------------------------------------------------- */
-void PairNb3bHarmonic::settings(int narg, char **arg)
+void PairNb3bHarmonic::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -454,7 +454,7 @@ void PairNb3bHarmonic::setup_params()
/* ---------------------------------------------------------------------- */
-void PairNb3bHarmonic::threebody(Param *paramij, Param *paramik,
+void PairNb3bHarmonic::threebody(Param * /*paramij*/, Param * /*paramik*/,
Param *paramijk,
double rsq1, double rsq2,
double *delr1, double *delr2,
diff --git a/src/MANYBODY/pair_polymorphic.cpp b/src/MANYBODY/pair_polymorphic.cpp
index 2afb08b7a1..ce9af66d30 100644
--- a/src/MANYBODY/pair_polymorphic.cpp
+++ b/src/MANYBODY/pair_polymorphic.cpp
@@ -450,7 +450,7 @@ void PairPolymorphic::allocate()
global settings
------------------------------------------------------------------------- */
-void PairPolymorphic::settings(int narg, char **arg)
+void PairPolymorphic::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/MANYBODY/pair_rebo.cpp b/src/MANYBODY/pair_rebo.cpp
index 37948f3038..1f31c0b0cd 100644
--- a/src/MANYBODY/pair_rebo.cpp
+++ b/src/MANYBODY/pair_rebo.cpp
@@ -24,7 +24,7 @@ PairREBO::PairREBO(LAMMPS *lmp) : PairAIREBO(lmp) {}
global settings
------------------------------------------------------------------------- */
-void PairREBO::settings(int narg, char **arg)
+void PairREBO::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/MANYBODY/pair_sw.cpp b/src/MANYBODY/pair_sw.cpp
index 6fbc00204c..da470d568a 100644
--- a/src/MANYBODY/pair_sw.cpp
+++ b/src/MANYBODY/pair_sw.cpp
@@ -239,7 +239,7 @@ void PairSW::allocate()
global settings
------------------------------------------------------------------------- */
-void PairSW::settings(int narg, char **arg)
+void PairSW::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/MANYBODY/pair_tersoff.cpp b/src/MANYBODY/pair_tersoff.cpp
index 507b07e29a..45068e5c2e 100644
--- a/src/MANYBODY/pair_tersoff.cpp
+++ b/src/MANYBODY/pair_tersoff.cpp
@@ -280,7 +280,7 @@ void PairTersoff::allocate()
global settings
------------------------------------------------------------------------- */
-void PairTersoff::settings(int narg, char **arg)
+void PairTersoff::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/MANYBODY/pair_vashishta.cpp b/src/MANYBODY/pair_vashishta.cpp
index 8506c9a69f..54b184ea39 100644
--- a/src/MANYBODY/pair_vashishta.cpp
+++ b/src/MANYBODY/pair_vashishta.cpp
@@ -245,7 +245,7 @@ void PairVashishta::allocate()
global settings
------------------------------------------------------------------------- */
-void PairVashishta::settings(int narg, char **arg)
+void PairVashishta::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/MC/fix_atom_swap.cpp b/src/MC/fix_atom_swap.cpp
index 4d9377022b..3e981c5609 100644
--- a/src/MC/fix_atom_swap.cpp
+++ b/src/MC/fix_atom_swap.cpp
@@ -695,7 +695,7 @@ void FixAtomSwap::update_swap_atoms_list()
/* ---------------------------------------------------------------------- */
-int FixAtomSwap::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
+int FixAtomSwap::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/MC/fix_bond_break.cpp b/src/MC/fix_bond_break.cpp
index 9a5b59b601..a1c9bb3ab0 100644
--- a/src/MC/fix_bond_break.cpp
+++ b/src/MC/fix_bond_break.cpp
@@ -693,7 +693,7 @@ int FixBondBreak::dedup(int nstart, int nstop, tagint *copy)
/* ---------------------------------------------------------------------- */
-void FixBondBreak::post_integrate_respa(int ilevel, int iloop)
+void FixBondBreak::post_integrate_respa(int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_integrate();
}
@@ -701,7 +701,7 @@ void FixBondBreak::post_integrate_respa(int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
int FixBondBreak::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,k,m,ns;
diff --git a/src/MC/fix_bond_create.cpp b/src/MC/fix_bond_create.cpp
index 8e9db6a18b..e1dd18cb5b 100644
--- a/src/MC/fix_bond_create.cpp
+++ b/src/MC/fix_bond_create.cpp
@@ -258,14 +258,14 @@ void FixBondCreate::init()
/* ---------------------------------------------------------------------- */
-void FixBondCreate::init_list(int id, NeighList *ptr)
+void FixBondCreate::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
/* ---------------------------------------------------------------------- */
-void FixBondCreate::setup(int vflag)
+void FixBondCreate::setup(int /*vflag*/)
{
int i,j,m;
@@ -1206,7 +1206,7 @@ int FixBondCreate::dedup(int nstart, int nstop, tagint *copy)
/* ---------------------------------------------------------------------- */
-void FixBondCreate::post_integrate_respa(int ilevel, int iloop)
+void FixBondCreate::post_integrate_respa(int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_integrate();
}
@@ -1214,7 +1214,7 @@ void FixBondCreate::post_integrate_respa(int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
int FixBondCreate::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,k,m,ns;
@@ -1347,7 +1347,7 @@ void FixBondCreate::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixBondCreate::copy_arrays(int i, int j, int delflag)
+void FixBondCreate::copy_arrays(int i, int j, int /*delflag*/)
{
bondcount[j] = bondcount[i];
}
diff --git a/src/MC/fix_bond_swap.cpp b/src/MC/fix_bond_swap.cpp
index d6df4d9a96..9a72667907 100644
--- a/src/MC/fix_bond_swap.cpp
+++ b/src/MC/fix_bond_swap.cpp
@@ -182,7 +182,7 @@ void FixBondSwap::init()
/* ---------------------------------------------------------------------- */
-void FixBondSwap::init_list(int id, NeighList *ptr)
+void FixBondSwap::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/MC/fix_tfmc.cpp b/src/MC/fix_tfmc.cpp
index b821710353..46c5e592ae 100644
--- a/src/MC/fix_tfmc.cpp
+++ b/src/MC/fix_tfmc.cpp
@@ -158,7 +158,7 @@ void FixTFMC::init()
/* ---------------------------------------------------------------------- */
-void FixTFMC::initial_integrate(int vflag)
+void FixTFMC::initial_integrate(int /*vflag*/)
{
double boltz = force->boltz;
double **x = atom->x;
diff --git a/src/MC/pair_dsmc.cpp b/src/MC/pair_dsmc.cpp
index 02f9754c2a..c71eaa2295 100644
--- a/src/MC/pair_dsmc.cpp
+++ b/src/MC/pair_dsmc.cpp
@@ -65,7 +65,7 @@ PairDSMC::~PairDSMC()
/* ---------------------------------------------------------------------- */
-void PairDSMC::compute(int eflag, int vflag)
+void PairDSMC::compute(int /*eflag*/, int /*vflag*/)
{
double **x = atom->x;
double *mass = atom->mass;
@@ -405,7 +405,7 @@ void PairDSMC::read_restart_settings(FILE *fp)
the next nrezero timesteps
-------------------------------------------------------------------------*/
-void PairDSMC::recompute_V_sigma_max(int icell)
+void PairDSMC::recompute_V_sigma_max(int /*icell*/)
{
int i,j,k;
double Vsigma_max = 0;
@@ -459,7 +459,7 @@ double PairDSMC::V_sigma(int i, int j)
generate new velocities for collided particles
-------------------------------------------------------------------------*/
-void PairDSMC::scatter_random(int i, int j, int icell)
+void PairDSMC::scatter_random(int i, int j, int /*icell*/)
{
double mag_delv,cos_phi,cos_squared,r,theta;
double delv[3],vcm[3];
diff --git a/src/MEAM/pair_meam.cpp b/src/MEAM/pair_meam.cpp
index 687055aa6a..5aa13ab02e 100644
--- a/src/MEAM/pair_meam.cpp
+++ b/src/MEAM/pair_meam.cpp
@@ -325,7 +325,7 @@ void PairMEAM::allocate()
global settings
------------------------------------------------------------------------- */
-void PairMEAM::settings(int narg, char **arg)
+void PairMEAM::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -448,7 +448,7 @@ void PairMEAM::init_list(int id, NeighList *ptr)
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairMEAM::init_one(int i, int j)
+double PairMEAM::init_one(int /*i*/, int /*j*/)
{
return cutmax;
}
@@ -734,7 +734,7 @@ void PairMEAM::read_files(char *globalfile, char *userfile)
/* ---------------------------------------------------------------------- */
int PairMEAM::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,k,m;
diff --git a/src/MESSAGE/Install.sh b/src/MESSAGE/Install.sh
new file mode 100644
index 0000000000..853dbddcdd
--- /dev/null
+++ b/src/MESSAGE/Install.sh
@@ -0,0 +1,67 @@
+# Install/unInstall package files in LAMMPS
+# mode = 0/1/2 for uninstall/install/update
+
+mode=$1
+
+# arg1 = file, arg2 = file it depends on
+
+# enforce using portable C locale
+LC_ALL=C
+export LC_ALL
+
+action () {
+ if (test $mode = 0) then
+ rm -f ../$1
+ elif (! cmp -s $1 ../$1) then
+ if (test -z "$2" || test -e ../$2) then
+ cp $1 ..
+ if (test $mode = 2) then
+ echo " updating src/$1"
+ fi
+ fi
+ elif (test -n "$2") then
+ if (test ! -e ../$2) then
+ rm -f ../$1
+ fi
+ fi
+}
+
+# all package files with no dependencies
+
+for file in *.cpp *.h; do
+ test -f ${file} && action $file
+done
+
+# edit 2 Makefile.package files to include/exclude package info
+
+if (test $1 = 1) then
+
+ if (test -e ../Makefile.package) then
+ sed -i -e 's/[^ \t]*message[^ \t]* //' ../Makefile.package
+ sed -i -e 's|^PKG_INC =[ \t]*|&-I../../lib/message/cslib/src |' ../Makefile.package
+ sed -i -e 's|^PKG_PATH =[ \t]*|&-L../../lib/message/cslib/src |' ../Makefile.package
+ sed -i -e 's|^PKG_LIB =[ \t]*|&-lmessage |' ../Makefile.package
+ sed -i -e 's|^PKG_SYSINC =[ \t]*|&$(message_SYSINC) |' ../Makefile.package
+ sed -i -e 's|^PKG_SYSLIB =[ \t]*|&$(message_SYSLIB) |' ../Makefile.package
+ sed -i -e 's|^PKG_SYSPATH =[ \t]*|&$(message_SYSPATH) |' ../Makefile.package
+ fi
+
+ if (test -e ../Makefile.package.settings) then
+ sed -i -e '/^include.*message.*$/d' ../Makefile.package.settings
+ # multiline form needed for BSD sed on Macs
+ sed -i -e '4 i \
+include ..\/..\/lib\/message\/Makefile.lammps
+' ../Makefile.package.settings
+ fi
+
+elif (test $1 = 0) then
+
+ if (test -e ../Makefile.package) then
+ sed -i -e 's/[^ \t]*message[^ \t]* //' ../Makefile.package
+ fi
+
+ if (test -e ../Makefile.package.settings) then
+ sed -i -e '/^include.*message.*$/d' ../Makefile.package.settings
+ fi
+
+fi
diff --git a/src/MESSAGE/fix_client_md.cpp b/src/MESSAGE/fix_client_md.cpp
new file mode 100644
index 0000000000..aca5cd41f9
--- /dev/null
+++ b/src/MESSAGE/fix_client_md.cpp
@@ -0,0 +1,325 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include "fix_client_md.h"
+#include "update.h"
+#include "atom.h"
+#include "comm.h"
+#include "domain.h"
+#include "force.h"
+#include "memory.h"
+#include "error.h"
+
+// CSlib interface
+
+#include "cslib.h"
+
+using namespace LAMMPS_NS;
+using namespace CSLIB_NS;
+using namespace FixConst;
+
+enum{OTHER,REAL,METAL};
+enum{SETUP=1,STEP};
+enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE};
+enum{FORCES=1,ENERGY,PRESSURE,ERROR};
+
+/* ---------------------------------------------------------------------- */
+
+FixClientMD::FixClientMD(LAMMPS *lmp, int narg, char **arg) :
+ Fix(lmp, narg, arg)
+{
+ if (lmp->clientserver != 1)
+ error->all(FLERR,"Fix client/md requires LAMMPS be running as a client");
+ if (!atom->map_style) error->all(FLERR,"Fix client/md requires atom map");
+
+ if (sizeof(tagint) != 4)
+ error->all(FLERR,"Fix client/md requires 4-byte atom IDs");
+
+ if (strcmp(update->unit_style,"real") == 0) units = REAL;
+ else if (strcmp(update->unit_style,"metal") == 0) units = METAL;
+ else units = OTHER;
+
+ scalar_flag = 1;
+ global_freq = 1;
+ extscalar = 1;
+ virial_flag = 1;
+ thermo_virial = 1;
+
+ inv_nprocs = 1.0 / comm->nprocs;
+ if (domain->dimension == 2)
+ box[0][2] = box[1][2] = box[2][0] = box[2][1] = box[2][2] = 0.0;
+
+ maxatom = 0;
+ xpbc = NULL;
+
+ // unit conversion factors for REAL
+ // otherwise not needed
+ // message received in METAL units, convert to local REAL units
+
+ fconvert = econvert = pconvert = 1.0;
+ if (units == REAL) {
+ fconvert = econvert = 23.06035; // eV -> Kcal/mole
+ pconvert = 0.986923; // bars -> atmospheres
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+FixClientMD::~FixClientMD()
+{
+ memory->destroy(xpbc);
+
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ // all-done message to server
+
+ cs->send(-1,0);
+
+ int nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+ int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+
+ // clean-up
+
+ delete cs;
+ lmp->cslib = NULL;
+}
+
+/* ---------------------------------------------------------------------- */
+
+int FixClientMD::setmask()
+{
+ int mask = 0;
+ mask |= POST_FORCE;
+ mask |= MIN_POST_FORCE;
+ mask |= THERMO_ENERGY;
+ return mask;
+}
+
+/* ---------------------------------------------------------------------- */
+
+void FixClientMD::init()
+{
+ if (3*atom->natoms > INT_MAX)
+ error->all(FLERR,"Fix client/md max atoms is 1/3 of 2^31");
+}
+
+/* ---------------------------------------------------------------------- */
+
+void FixClientMD::setup(int vflag)
+{
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ // SETUP send at beginning of each run
+ // required fields: DIM, PERIODICTY, ORIGIN, BOX, NATOMS, NTYPES, TYPES, COORDS
+ // optional fields: others in enum above
+
+ int nfields = 8;
+ if (units == OTHER) nfields++;
+ if (atom->q_flag) nfields++;
+
+ cs->send(SETUP,nfields);
+
+ cs->pack_int(DIM,domain->dimension);
+ cs->pack(PERIODICITY,1,3,domain->periodicity);
+
+ pack_box();
+ cs->pack(ORIGIN,4,3,domain->boxlo);
+ cs->pack(BOX,4,9,&box[0][0]);
+
+ cs->pack_int(NATOMS,atom->natoms);
+ cs->pack_int(NTYPES,atom->ntypes);
+
+ cs->pack_parallel(TYPES,1,atom->nlocal,atom->tag,1,atom->type);
+ pack_coords();
+ cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc);
+
+ if (units == OTHER) cs->pack_string(UNITS,update->unit_style);
+
+ if (atom->q_flag)
+ cs->pack_parallel(CHARGE,4,atom->nlocal,atom->tag,1,atom->q);
+
+ // receive initial forces, energy, virial
+
+ receive_fev(vflag);
+
+ if (server_error) {
+ char str[64];
+ sprintf(str,"Fix client/md received server error %d\n",server_error);
+ error->all(FLERR,str);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void FixClientMD::min_setup(int vflag)
+{
+ setup(vflag);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void FixClientMD::post_force(int vflag)
+{
+ int i,j,m;
+
+ // energy and virial setup
+
+ if (vflag) v_setup(vflag);
+ else evflag = 0;
+
+ // STEP send every step
+ // required fields: COORDS
+ // optional fields: ORIGIN, BOX
+
+ // send coords
+
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ int nfields = 1;
+ if (domain->box_change) nfields += 2;
+
+ cs->send(STEP,nfields);
+
+ pack_coords();
+ cs->pack_parallel(COORDS,4,atom->nlocal,atom->tag,3,xpbc);
+
+ if (domain->box_change) {
+ pack_box();
+ cs->pack(ORIGIN,4,3,domain->boxlo);
+ cs->pack(BOX,4,9,&box[0][0]);
+ }
+
+ // receive forces, energy, virial
+
+ receive_fev(vflag);
+
+ if (server_error) {
+ char str[64];
+ sprintf(str,"Fix client/md received server error %d\n",server_error);
+ error->all(FLERR,str);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
+void FixClientMD::min_post_force(int vflag)
+{
+ post_force(vflag);
+}
+
+/* ----------------------------------------------------------------------
+ potential energy from server
+------------------------------------------------------------------------- */
+
+double FixClientMD::compute_scalar()
+{
+ return eng;
+}
+
+/* ----------------------------------------------------------------------
+ pack local coords into xpbc, enforcing PBC
+------------------------------------------------------------------------- */
+
+void FixClientMD::pack_coords()
+{
+ double **x = atom->x;
+ int nlocal = atom->nlocal;
+
+ if (nlocal > maxatom) {
+ memory->destroy(xpbc);
+ maxatom = atom->nmax;
+ memory->create(xpbc,3*maxatom,"message:xpbc");
+ }
+
+ memcpy(xpbc,&x[0][0],3*nlocal*sizeof(double));
+
+ int j = 0;
+ for (int i = 0; i < nlocal; i++) {
+ domain->remap(&xpbc[j]);
+ j += 3;
+ }
+}
+
+/* ----------------------------------------------------------------------
+ pack box info into box = 3 edge vectors of simulation box
+------------------------------------------------------------------------- */
+
+void FixClientMD::pack_box()
+{
+ double *boxlo = domain->boxlo;
+ double *boxhi = domain->boxhi;
+
+ box[0][0] = boxhi[0] - boxlo[0];
+ box[0][1] = 0.0;
+ box[0][2] = 0.0;
+ box[1][0] = domain->xy;
+ box[1][1] = boxhi[1] - boxlo[1];
+ box[1][2] = 0.0;
+ box[2][0] = domain->xz;
+ box[2][1] = domain->yz;
+ box[2][2] = boxhi[2] - boxlo[2];
+}
+
+/* ----------------------------------------------------------------------
+ receive message from server
+ required fields: FORCES, ENERGY, PRESSURE
+ optional field: ERROR
+------------------------------------------------------------------------- */
+
+void FixClientMD::receive_fev(int vflag)
+{
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ int nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+
+ int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+
+ double *forces = (double *) cs->unpack(FORCES);
+ double **f = atom->f;
+ int nlocal = atom->nlocal;
+ bigint natoms = atom->natoms;
+ int m;
+
+ int j = 0;
+ for (tagint id = 1; id <= natoms; id++) {
+ m = atom->map(id);
+ if (m < 0 || m >= nlocal) j += 3;
+ else {
+ f[m][0] += fconvert * forces[j++];
+ f[m][1] += fconvert * forces[j++];
+ f[m][2] += fconvert * forces[j++];
+ }
+ }
+
+ eng = econvert * cs->unpack_double(ENERGY);
+
+ if (vflag) {
+ double *v = (double *) cs->unpack(PRESSURE);
+
+ double nktv2p = force->nktv2p;
+ double volume = domain->xprd * domain->yprd * domain->zprd;
+ double factor = inv_nprocs * pconvert * volume / nktv2p;
+
+ for (int i = 0; i < 6; i++)
+ virial[i] = factor * v[i];
+ }
+
+ // error return
+
+ server_error = 0;
+ if (nfield == 4) server_error = cs->unpack_int(ERROR);
+}
diff --git a/src/MESSAGE/fix_client_md.h b/src/MESSAGE/fix_client_md.h
new file mode 100644
index 0000000000..1c874c7278
--- /dev/null
+++ b/src/MESSAGE/fix_client_md.h
@@ -0,0 +1,65 @@
+/* -*- c++ -*- ----------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef FIX_CLASS
+
+FixStyle(client/md,FixClientMD)
+
+#else
+
+#ifndef LMP_FIX_CLIENT_MD_H
+#define LMP_FIX_CLIENT_MD_H
+
+#include "fix.h"
+
+namespace LAMMPS_NS {
+
+class FixClientMD : public Fix {
+ public:
+ FixClientMD(class LAMMPS *, int, char **);
+ ~FixClientMD();
+ int setmask();
+ void init();
+ void setup(int);
+ void min_setup(int);
+ void post_force(int);
+ void min_post_force(int);
+ double compute_scalar();
+
+ private:
+ int maxatom,units,server_error;
+ double eng;
+ double inv_nprocs;
+ double fconvert,econvert,pconvert;
+ double box[3][3];
+ double *xpbc;
+
+ void pack_coords();
+ void pack_box();
+ void receive_fev(int);
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+E: Illegal ... command
+
+Self-explanatory. Check the input script syntax and compare to the
+documentation for the command. You can use -echo screen as a
+command-line option when running LAMMPS to see the offending line.
+
+*/
diff --git a/src/MESSAGE/message.cpp b/src/MESSAGE/message.cpp
new file mode 100644
index 0000000000..329ce1fbd9
--- /dev/null
+++ b/src/MESSAGE/message.cpp
@@ -0,0 +1,90 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#include
+#include "message.h"
+#include "error.h"
+
+// CSlib interface
+
+#include "cslib.h"
+
+using namespace LAMMPS_NS;
+using namespace CSLIB_NS;
+
+// customize by adding a new server protocol enum
+
+enum{MD,MC};
+
+/* ---------------------------------------------------------------------- */
+
+void Message::command(int narg, char **arg)
+{
+ if (narg < 3) error->all(FLERR,"Illegal message command");
+
+ int clientserver;
+ if (strcmp(arg[0],"client") == 0) clientserver = 1;
+ else if (strcmp(arg[0],"server") == 0) clientserver = 2;
+ else error->all(FLERR,"Illegal message command");
+ lmp->clientserver = clientserver;
+
+ // customize by adding a new server protocol
+
+ int protocol;
+ if (strcmp(arg[1],"md") == 0) protocol = MD;
+ else if (strcmp(arg[1],"mc") == 0) protocol = MC;
+ else error->all(FLERR,"Unknown message protocol");
+
+ // instantiate CSlib with chosen communication mode
+
+ if (strcmp(arg[2],"file") == 0 || strcmp(arg[2],"zmq") == 0 ||
+ strcmp(arg[2],"mpi/two") == 0) {
+ if (narg != 4) error->all(FLERR,"Illegal message command");
+ lmp->cslib = new CSlib(clientserver-1,arg[2],arg[3],&world);
+
+ } else if (strcmp(arg[2],"mpi/one") == 0) {
+ if (narg != 3) error->all(FLERR,"Illegal message command");
+ if (!lmp->cscomm)
+ error->all(FLERR,"Message mpi/one mode, but -mpi cmdline arg not used");
+ lmp->cslib = new CSlib(clientserver-1,arg[2],&lmp->cscomm,&world);
+
+ } else error->all(FLERR,"Illegal message command");
+
+ // perform initial handshake between client and server
+ // other code being coupled to must perform similar operation
+ // client sends protocol with msgID = 0
+ // server matches it and replies
+
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ if (clientserver == 1) {
+ cs->send(0,1);
+ cs->pack_string(1,arg[1]);
+
+ int nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+ int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ if (msgID != 0) error->one(FLERR,"Bad initial client/server handshake");
+
+ } else {
+ int nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+ int msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ if (msgID != 0) error->one(FLERR,"Bad initial client/server handshake");
+ char *pstr = cs->unpack_string(1);
+ if (strcmp(pstr,arg[1]) != 0)
+ error->one(FLERR,"Mismatch in client/server protocol");
+
+ cs->send(0,0);
+ }
+}
diff --git a/src/MESSAGE/message.h b/src/MESSAGE/message.h
new file mode 100644
index 0000000000..c384a5a7b7
--- /dev/null
+++ b/src/MESSAGE/message.h
@@ -0,0 +1,40 @@
+/* -*- c++ -*- ----------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef COMMAND_CLASS
+
+CommandStyle(message,Message)
+
+#else
+
+#ifndef LMP_MESSAGE_H
+#define LMP_MESSAGE_H
+
+#include "pointers.h"
+
+namespace LAMMPS_NS {
+
+class Message : protected Pointers {
+ public:
+ Message(class LAMMPS *lmp) : Pointers(lmp) {};
+ void command(int, char **);
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+*/
diff --git a/src/MESSAGE/server.cpp b/src/MESSAGE/server.cpp
new file mode 100644
index 0000000000..f587fb76df
--- /dev/null
+++ b/src/MESSAGE/server.cpp
@@ -0,0 +1,50 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#include
+#include "server.h"
+#include "error.h"
+
+// customize by adding a new server protocol include and enum
+
+#include "server_md.h"
+#include "server_mc.h"
+
+using namespace LAMMPS_NS;
+
+enum{MD,MC};
+
+/* ---------------------------------------------------------------------- */
+
+void Server::command(int narg, char **arg)
+{
+ if (narg != 1) error->all(FLERR,"Illegal server command");
+
+ if (lmp->clientserver != 2)
+ error->all(FLERR,"Message command not used to setup LAMMPS as a server");
+
+ // customize by adding a new server protocol
+
+ int protocol;
+ if (strcmp(arg[0],"md") == 0) protocol = MD;
+ else if (strcmp(arg[0],"mc") == 0) protocol = MC;
+ else error->all(FLERR,"Unknown message protocol");
+
+ if (protocol == MD) {
+ ServerMD *server = new ServerMD(lmp);
+ server->loop();
+ } else if (protocol == MC) {
+ ServerMC *server = new ServerMC(lmp);
+ server->loop();
+ }
+}
diff --git a/src/MESSAGE/server.h b/src/MESSAGE/server.h
new file mode 100644
index 0000000000..579f6ab6f1
--- /dev/null
+++ b/src/MESSAGE/server.h
@@ -0,0 +1,40 @@
+/* -*- c++ -*- ----------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifdef COMMAND_CLASS
+
+CommandStyle(server,Server)
+
+#else
+
+#ifndef LMP_SERVER_H
+#define LMP_SERVER_H
+
+#include "pointers.h"
+
+namespace LAMMPS_NS {
+
+class Server : protected Pointers {
+ public:
+ Server(class LAMMPS *lmp) : Pointers(lmp) {};
+ void command(int, char **);
+};
+
+}
+
+#endif
+#endif
+
+/* ERROR/WARNING messages:
+
+*/
diff --git a/src/MESSAGE/server_mc.cpp b/src/MESSAGE/server_mc.cpp
new file mode 100644
index 0000000000..8a7344e86b
--- /dev/null
+++ b/src/MESSAGE/server_mc.cpp
@@ -0,0 +1,148 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#include "server_mc.h"
+#include "atom.h"
+#include "update.h"
+#include "integrate.h"
+#include "input.h"
+#include "output.h"
+#include "thermo.h"
+#include "error.h"
+
+// CSlib interface
+
+#include "cslib.h"
+
+using namespace LAMMPS_NS;
+using namespace CSLIB_NS;
+
+enum{NATOMS=1,EINIT,DISPLACE,ACCEPT,RUN};
+
+/* ---------------------------------------------------------------------- */
+
+ServerMC::ServerMC(LAMMPS *lmp) : Pointers(lmp) {}
+
+/* ---------------------------------------------------------------------- */
+
+void ServerMC::loop()
+{
+ int i,j,m;
+ double xold[3],xnew[3];
+ tagint atomid;
+
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ // require atom map
+
+ if (!atom->map_style) error->all(FLERR,"Server mode requires atom map");
+
+ // initialize LAMMPS for dynamics
+
+ input->one("run 0");
+
+ //update->whichflag = 1;
+ //lmp->init();
+
+ // loop on messages
+ // receive a message, process it, send return message if necessary
+
+ int msgID,nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+
+ while (1) {
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ if (msgID < 0) break;
+
+ if (msgID == NATOMS) {
+
+ cs->send(msgID,1);
+ cs->pack_int(1,atom->natoms);
+
+ } else if (msgID == EINIT) {
+
+ double dval;
+ output->thermo->evaluate_keyword((char *) "pe",&dval);
+
+ cs->send(msgID,2);
+ cs->pack_double(1,dval);
+ double *coords = NULL;
+ if (atom->nlocal) coords = &atom->x[0][0];
+ cs->pack_parallel(2,4,atom->nlocal,atom->tag,3,coords);
+
+ } else if (msgID == DISPLACE) {
+
+ atomid = cs->unpack_int(1);
+ double *xnew = (double *) cs->unpack(2);
+ double **x = atom->x;
+
+ m = atom->map(atomid);
+ if (m >= 0 && m < atom->nlocal) {
+ xold[0] = x[m][0];
+ xold[1] = x[m][1];
+ xold[2] = x[m][2];
+ x[m][0] = xnew[0];
+ x[m][1] = xnew[1];
+ x[m][2] = xnew[2];
+ }
+
+ input->one("run 0");
+ double dval;
+ output->thermo->evaluate_keyword((char *) "pe",&dval);
+
+ cs->send(msgID,1);
+ cs->pack_double(1,dval);
+
+ } else if (msgID == ACCEPT) {
+
+ int accept = cs->unpack_int(1);
+ double **x = atom->x;
+
+ if (!accept) {
+ m = atom->map(atomid);
+ if (m >= 0 && m < atom->nlocal) {
+ x[m][0] = xold[0];
+ x[m][1] = xold[1];
+ x[m][2] = xold[2];
+ }
+ }
+
+ cs->send(msgID,0);
+
+ } else if (msgID == RUN) {
+
+ int nsteps = cs->unpack_int(1);
+
+ //input->one("run 100");
+
+ update->nsteps = nsteps;
+ update->firststep = update->ntimestep;
+ update->laststep = update->ntimestep + nsteps;
+
+ update->integrate->setup(1);
+ update->integrate->run(nsteps);
+
+ cs->send(msgID,0);
+
+ } else error->all(FLERR,"Server received unrecognized message");
+ }
+
+ // final reply to client
+
+ cs->send(0,0);
+
+ // clean up
+
+ delete cs;
+ lmp->cslib = NULL;
+}
diff --git a/src/MESSAGE/server_mc.h b/src/MESSAGE/server_mc.h
new file mode 100644
index 0000000000..d0fb489429
--- /dev/null
+++ b/src/MESSAGE/server_mc.h
@@ -0,0 +1,29 @@
+/* -*- c++ -*- ----------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifndef LMP_SERVER_MC_H
+#define LMP_SERVER_MC_H
+
+#include "pointers.h"
+
+namespace LAMMPS_NS {
+
+class ServerMC : protected Pointers {
+ public:
+ ServerMC(class LAMMPS *);
+ void loop();
+};
+
+}
+
+#endif
diff --git a/src/MESSAGE/server_md.cpp b/src/MESSAGE/server_md.cpp
new file mode 100644
index 0000000000..aa771b7d46
--- /dev/null
+++ b/src/MESSAGE/server_md.cpp
@@ -0,0 +1,389 @@
+/* ----------------------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#include
+#include
+#include "server_md.h"
+#include "atom.h"
+#include "atom_vec.h"
+#include "update.h"
+#include "integrate.h"
+#include "kspace.h"
+#include "force.h"
+#include "pair.h"
+#include "neighbor.h"
+#include "comm.h"
+#include "domain.h"
+#include "memory.h"
+#include "error.h"
+
+// CSlib interface
+
+#include "cslib.h"
+
+using namespace LAMMPS_NS;
+using namespace CSLIB_NS;
+
+enum{OTHER,REAL,METAL};
+enum{SETUP=1,STEP};
+enum{DIM=1,PERIODICITY,ORIGIN,BOX,NATOMS,NTYPES,TYPES,COORDS,UNITS,CHARGE};
+enum{FORCES=1,ENERGY,PRESSURE,ERROR};
+
+/* ---------------------------------------------------------------------- */
+
+ServerMD::ServerMD(LAMMPS *lmp) : Pointers(lmp)
+{
+ if (domain->box_exist == 0)
+ error->all(FLERR,"Server command before simulation box is defined");
+
+ if (!atom->map_style) error->all(FLERR,"Server md requires atom map");
+ if (atom->tag_enable == 0) error->all(FLERR,"Server md requires atom IDs");
+ if (sizeof(tagint) != 4) error->all(FLERR,"Server md requires 4-byte atom IDs");
+
+ if (strcmp(update->unit_style,"real") == 0) units = REAL;
+ else if (strcmp(update->unit_style,"metal") == 0) units = METAL;
+ else units = OTHER;
+
+ // unit conversion factors for REAL
+ // otherwise not needed
+ // local computation in REAL units, send message in METAL units
+
+ fconvert = econvert = pconvert = 1.0;
+ if (units == REAL) {
+ fconvert = econvert = 1.0 / 23.06035; // Kcal/mole -> eV
+ pconvert = 1.0 / 0.986923; // atmospheres -> bars
+ }
+
+ fcopy = NULL;
+}
+
+/* ---------------------------------------------------------------------- */
+
+ServerMD::~ServerMD()
+{
+ memory->destroy(fcopy);
+}
+
+/* ---------------------------------------------------------------------- */
+
+void ServerMD::loop()
+{
+ int i,j,m;
+
+ // cs = instance of CSlib
+
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ // counters
+
+ int forcecalls = 0;
+ int neighcalls = 0;
+
+ // loop on messages
+ // receive a message, process it, send return message
+
+ int msgID,nfield;
+ int *fieldID,*fieldtype,*fieldlen;
+
+ while (1) {
+ msgID = cs->recv(nfield,fieldID,fieldtype,fieldlen);
+ if (msgID < 0) break;
+
+ // SETUP receive at beginning of each run
+ // required fields: DIM, PERIODICTY, ORIGIN, BOX,
+ // NATOMS, NTYPES, TYPES, COORDS
+ // optional fields: others in enum above
+
+ if (msgID == SETUP) {
+
+ int dim = 0;
+ int *periodicity = NULL;
+ int natoms = -1;
+ int ntypes = -1;
+ double *origin = NULL;
+ double *box = NULL;
+ int *types = NULL;
+ double *coords = NULL;
+ char *unit_style = NULL;
+ double *charge = NULL;
+
+ for (int ifield = 0; ifield < nfield; ifield++) {
+ if (fieldID[ifield] == DIM) {
+ dim = cs->unpack_int(DIM);
+ if (dim != domain->dimension)
+ error->all(FLERR,"Server md dimension mis-match with client");
+ } else if (fieldID[ifield] == PERIODICITY) {
+ periodicity = (int *) cs->unpack(PERIODICITY);
+ if (periodicity[0] != domain->periodicity[0] ||
+ periodicity[1] != domain->periodicity[1] ||
+ periodicity[2] != domain->periodicity[2])
+ error->all(FLERR,"Server md periodicity mis-match with client");
+ } else if (fieldID[ifield] == ORIGIN) {
+ origin = (double *) cs->unpack(ORIGIN);
+ } else if (fieldID[ifield] == BOX) {
+ box = (double *) cs->unpack(BOX);
+ } else if (fieldID[ifield] == NATOMS) {
+ natoms = cs->unpack_int(NATOMS);
+ if (3*natoms > INT_MAX)
+ error->all(FLERR,"Server md max atoms is 1/3 of 2^31");
+ } else if (fieldID[ifield] == NTYPES) {
+ ntypes = cs->unpack_int(NTYPES);
+ if (ntypes != atom->ntypes)
+ error->all(FLERR,"Server md ntypes mis-match with client");
+ } else if (fieldID[ifield] == TYPES) {
+ types = (int *) cs->unpack(TYPES);
+ } else if (fieldID[ifield] == COORDS) {
+ coords = (double *) cs->unpack(COORDS);
+
+ } else if (fieldID[ifield] == UNITS) {
+ unit_style = (char *) cs->unpack(UNITS);
+ } else if (fieldID[ifield] == CHARGE) {
+ charge = (double *) cs->unpack(CHARGE);
+ } else error->all(FLERR,"Server md setup field unknown");
+ }
+
+ if (dim == 0 || !periodicity || !origin || !box ||
+ natoms < 0 || ntypes < 0 || !types || !coords)
+ error->all(FLERR,"Required server md setup field not received");
+
+ if (unit_style && strcmp(unit_style,update->unit_style) != 0)
+ error->all(FLERR,"Server md does not match client units");
+
+ if (charge && atom->q_flag == 0)
+ error->all(FLERR,"Server md does not define atom attribute q");
+
+ // reset box, global and local
+ // reset proc decomposition
+
+ if ((box[3] != 0.0 || box[6] != 0.0 || box[7] != 0.0) &&
+ domain->triclinic == 0)
+ error->all(FLERR,"Server md is not initialized for a triclinic box");
+
+ box_change(origin,box);
+
+ domain->set_initial_box();
+ domain->set_global_box();
+ comm->set_proc_grid();
+ domain->set_local_box();
+
+ // clear all atoms
+
+ atom->nlocal = 0;
+ atom->nghost = 0;
+
+ // add atoms that are in my sub-box
+
+ int nlocal = 0;
+ for (int i = 0; i < natoms; i++) {
+ if (!domain->ownatom(i+1,&coords[3*i],NULL,0)) continue;
+ atom->avec->create_atom(types[i],&coords[3*i]);
+ atom->tag[nlocal] = i+1;
+ if (charge) atom->q[nlocal] = charge[i];
+ nlocal++;
+ }
+
+ int ntotal;
+ MPI_Allreduce(&atom->nlocal,&ntotal,1,MPI_INT,MPI_SUM,world);
+ if (ntotal != natoms)
+ error->all(FLERR,"Server md atom count does not match client");
+
+ atom->map_init();
+ atom->map_set();
+ atom->natoms = natoms;
+
+ // allocate fcopy if needed
+
+ if (units == REAL) {
+ memory->destroy(fcopy);
+ memory->create(fcopy,atom->nlocal,3,"server/md:fcopy");
+ }
+
+ // perform system setup() for dynamics
+ // also OK for minimization, since client runs minimizer
+ // return forces, energy, virial to client
+
+ update->whichflag = 1;
+ lmp->init();
+ update->integrate->setup_minimal(1);
+ neighcalls++;
+ forcecalls++;
+
+ send_fev(msgID);
+
+ // STEP receive at each timestep of run or minimization
+ // required fields: COORDS
+ // optional fields: ORIGIN, BOX
+
+ } else if (msgID == STEP) {
+
+ double *coords = NULL;
+ double *origin = NULL;
+ double *box = NULL;
+
+ for (int ifield = 0; ifield < nfield; ifield++) {
+ if (fieldID[ifield] == COORDS) {
+ coords = (double *) cs->unpack(COORDS);
+ } else if (fieldID[ifield] == ORIGIN) {
+ origin = (double *) cs->unpack(ORIGIN);
+ } else if (fieldID[ifield] == BOX) {
+ box = (double *) cs->unpack(BOX);
+ } else error->all(FLERR,"Server md step field unknown");
+ }
+
+ if (!coords)
+ error->all(FLERR,"Required server md step field not received");
+
+ // change box size/shape, only if origin and box received
+ // reset global/local box like FixDeform at end_of_step()
+
+ if (origin && box) {
+ if ((box[3] != 0.0 || box[6] != 0.0 || box[7] != 0.0) &&
+ domain->triclinic == 0)
+ error->all(FLERR,"Server md is not initialized for a triclinic box");
+ box_change(origin,box);
+ domain->set_global_box();
+ domain->set_local_box();
+ }
+
+ // assign received coords to owned atoms
+ // closest_image() insures xyz matches current server PBC
+
+ double **x = atom->x;
+ int nlocal = atom->nlocal;
+ int nall = atom->natoms;
+
+ j = 0;
+ for (tagint id = 1; id <= nall; id++) {
+ m = atom->map(id);
+ if (m < 0 || m >= nlocal) j += 3;
+ else {
+ domain->closest_image(x[m],&coords[j],x[m]);
+ j += 3;
+ }
+ }
+
+ // if no need to reneighbor:
+ // ghost comm
+ // setup_minimal(0) which just computes forces
+ // else:
+ // setup_minimal(1) for pbc, reset_box, reneigh, forces
+
+ int nflag = neighbor->decide();
+ if (nflag == 0) {
+ comm->forward_comm();
+ update->integrate->setup_minimal(0);
+ } else {
+ update->integrate->setup_minimal(1);
+ neighcalls++;
+ }
+
+ forcecalls++;
+
+ send_fev(msgID);
+
+ } else error->all(FLERR,"Server MD received unrecognized message");
+ }
+
+ // final reply to client
+
+ cs->send(0,0);
+
+ // stats
+
+ if (comm->me == 0) {
+ if (screen) {
+ fprintf(screen,"Server MD calls = %d\n",forcecalls);
+ fprintf(screen,"Server MD reneighborings = %d\n",neighcalls);
+ }
+ if (logfile) {
+ fprintf(logfile,"Server MD calls = %d\n",forcecalls);
+ fprintf(logfile,"Server MD reneighborings %d\n",neighcalls);
+ }
+ }
+
+ // clean up
+
+ delete cs;
+ lmp->cslib = NULL;
+}
+
+/* ----------------------------------------------------------------------
+ box change due to received message
+------------------------------------------------------------------------- */
+
+void ServerMD::box_change(double *origin, double *box)
+{
+ domain->boxlo[0] = origin[0];
+ domain->boxlo[1] = origin[1];
+ domain->boxlo[2] = origin[2];
+
+ domain->boxhi[0] = origin[0] + box[0];
+ domain->boxhi[1] = origin[1] + box[4];
+ domain->boxhi[2] = origin[2] + box[8];
+
+ domain->xy = box[3];
+ domain->xz = box[6];
+ domain->yz = box[7];
+}
+
+/* ----------------------------------------------------------------------
+ return message with forces, energy, pressure tensor
+ pressure tensor should be just pair and KSpace contributions
+ required fields: FORCES, ENERGY, PRESSURE
+ optional field: ERROR (not ever sending)
+------------------------------------------------------------------------- */
+
+void ServerMD::send_fev(int msgID)
+{
+ CSlib *cs = (CSlib *) lmp->cslib;
+
+ cs->send(msgID,3);
+
+ double *forces = NULL;
+ if (atom->nlocal) {
+ if (units != REAL) forces = &atom->f[0][0];
+ else {
+ double **f = atom->f;
+ int nlocal = atom->nlocal;
+ for (int i = 0; i < nlocal; i++) {
+ fcopy[i][0] = fconvert*f[i][0];
+ fcopy[i][1] = fconvert*f[i][1];
+ fcopy[i][2] = fconvert*f[i][2];
+ }
+ forces = &fcopy[0][0];
+ }
+ }
+ cs->pack_parallel(FORCES,4,atom->nlocal,atom->tag,3,forces);
+
+ double eng = force->pair->eng_vdwl + force->pair->eng_coul;
+ double engall;
+ MPI_Allreduce(&eng,&engall,1,MPI_DOUBLE,MPI_SUM,world);
+ engall *= econvert;
+ cs->pack_double(ENERGY,engall);
+
+ double v[6],vall[6];
+ for (int i = 0; i < 6; i++)
+ v[i] = force->pair->virial[i];
+ MPI_Allreduce(&v,&vall,6,MPI_DOUBLE,MPI_SUM,world);
+
+ if (force->kspace)
+ for (int i = 0; i < 6; i++)
+ vall[i] += force->kspace->virial[i];
+
+ double nktv2p = force->nktv2p;
+ double volume = domain->xprd * domain->yprd * domain->zprd;
+ double factor = pconvert / volume * nktv2p;
+ for (int i = 0; i < 6; i++) vall[i] *= factor;
+
+ cs->pack(PRESSURE,4,6,vall);
+}
diff --git a/src/MESSAGE/server_md.h b/src/MESSAGE/server_md.h
new file mode 100644
index 0000000000..289d70bdd8
--- /dev/null
+++ b/src/MESSAGE/server_md.h
@@ -0,0 +1,38 @@
+/* -*- c++ -*- ----------------------------------------------------------
+ LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
+ http://lammps.sandia.gov, Sandia National Laboratories
+ Steve Plimpton, sjplimp@sandia.gov
+
+ Copyright (2003) Sandia Corporation. Under the terms of Contract
+ DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains
+ certain rights in this software. This software is distributed under
+ the GNU General Public License.
+
+ See the README file in the top-level LAMMPS directory.
+------------------------------------------------------------------------- */
+
+#ifndef LMP_SERVER_MD_H
+#define LMP_SERVER_MD_H
+
+#include "pointers.h"
+
+namespace LAMMPS_NS {
+
+class ServerMD : protected Pointers {
+ public:
+ ServerMD(class LAMMPS *);
+ ~ServerMD();
+ void loop();
+
+ private:
+ int units;
+ double fconvert,econvert,pconvert;
+ double **fcopy;
+
+ void box_change(double *, double *);
+ void send_fev(int);
+};
+
+}
+
+#endif
diff --git a/src/MISC/fix_efield.cpp b/src/MISC/fix_efield.cpp
index 1fa141e2bf..004c8ad7bc 100644
--- a/src/MISC/fix_efield.cpp
+++ b/src/MISC/fix_efield.cpp
@@ -412,7 +412,7 @@ void FixEfield::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixEfield::post_force_respa(int vflag, int ilevel, int iloop)
+void FixEfield::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/MISC/fix_gld.cpp b/src/MISC/fix_gld.cpp
index 370730133e..2bf02889a5 100644
--- a/src/MISC/fix_gld.cpp
+++ b/src/MISC/fix_gld.cpp
@@ -217,7 +217,7 @@ void FixGLD::init()
First half of a timestep (V^{n} -> V^{n+1/2}; X^{n} -> X^{n+1})
------------------------------------------------------------------------- */
-void FixGLD::initial_integrate(int vflag)
+void FixGLD::initial_integrate(int /*vflag*/)
{
double dtfm;
double ftm2v = force->ftm2v;
@@ -444,7 +444,7 @@ void FixGLD::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixGLD::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixGLD::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * (force->ftm2v);
@@ -458,7 +458,7 @@ void FixGLD::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixGLD::final_integrate_respa(int ilevel, int iloop)
+void FixGLD::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtf = 0.5 * step_respa[ilevel] * (force->ftm2v);
final_integrate();
@@ -507,7 +507,7 @@ void FixGLD::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixGLD::copy_arrays(int i, int j, int delflag)
+void FixGLD::copy_arrays(int i, int j, int /*delflag*/)
{
for (int k = 0; k < 3*prony_terms; k++) {
s_gld[j][k] = s_gld[i][k];
@@ -588,7 +588,7 @@ void FixGLD::unpack_restart(int nlocal, int nth)
fixes on a given processor.
------------------------------------------------------------------------- */
-int FixGLD::size_restart(int nlocal)
+int FixGLD::size_restart(int /*nlocal*/)
{
return 3*prony_terms+1;
}
diff --git a/src/MISC/fix_orient_bcc.cpp b/src/MISC/fix_orient_bcc.cpp
index c5ba6514a9..c614577933 100644
--- a/src/MISC/fix_orient_bcc.cpp
+++ b/src/MISC/fix_orient_bcc.cpp
@@ -230,7 +230,7 @@ void FixOrientBCC::init()
/* ---------------------------------------------------------------------- */
-void FixOrientBCC::init_list(int id, NeighList *ptr)
+void FixOrientBCC::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -250,7 +250,7 @@ void FixOrientBCC::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixOrientBCC::post_force(int vflag)
+void FixOrientBCC::post_force(int /*vflag*/)
{
int i,j,k,ii,jj,inum,jnum,m,n,nn,nsort;
tagint id_self;
@@ -471,7 +471,7 @@ void FixOrientBCC::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixOrientBCC::post_force_respa(int vflag, int ilevel, int iloop)
+void FixOrientBCC::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
@@ -488,7 +488,7 @@ double FixOrientBCC::compute_scalar()
/* ---------------------------------------------------------------------- */
int FixOrientBCC::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,k,num;
tagint id;
diff --git a/src/MISC/fix_orient_fcc.cpp b/src/MISC/fix_orient_fcc.cpp
index 5786571a89..5b394adde7 100644
--- a/src/MISC/fix_orient_fcc.cpp
+++ b/src/MISC/fix_orient_fcc.cpp
@@ -228,7 +228,7 @@ void FixOrientFCC::init()
/* ---------------------------------------------------------------------- */
-void FixOrientFCC::init_list(int id, NeighList *ptr)
+void FixOrientFCC::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -248,7 +248,7 @@ void FixOrientFCC::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixOrientFCC::post_force(int vflag)
+void FixOrientFCC::post_force(int /*vflag*/)
{
int i,j,k,ii,jj,inum,jnum,m,n,nn,nsort;
tagint id_self;
@@ -469,7 +469,7 @@ void FixOrientFCC::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixOrientFCC::post_force_respa(int vflag, int ilevel, int iloop)
+void FixOrientFCC::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
@@ -486,7 +486,7 @@ double FixOrientFCC::compute_scalar()
/* ---------------------------------------------------------------------- */
int FixOrientFCC::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,k,num;
tagint id;
diff --git a/src/MISC/fix_ttm.cpp b/src/MISC/fix_ttm.cpp
index 7ffd979e50..c8f33c73b7 100644
--- a/src/MISC/fix_ttm.cpp
+++ b/src/MISC/fix_ttm.cpp
@@ -235,7 +235,7 @@ void FixTTM::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTTM::post_force(int vflag)
+void FixTTM::post_force(int /*vflag*/)
{
double **x = atom->x;
double **v = atom->v;
@@ -287,7 +287,7 @@ void FixTTM::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTTM::post_force_setup(int vflag)
+void FixTTM::post_force_setup(int /*vflag*/)
{
double **f = atom->f;
int *mask = atom->mask;
@@ -306,14 +306,14 @@ void FixTTM::post_force_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTTM::post_force_respa(int vflag, int ilevel, int iloop)
+void FixTTM::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
/* ---------------------------------------------------------------------- */
-void FixTTM::post_force_respa_setup(int vflag, int ilevel, int iloop)
+void FixTTM::post_force_respa_setup(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force_setup(vflag);
}
@@ -685,7 +685,7 @@ int FixTTM::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixTTM::size_restart(int nlocal)
+int FixTTM::size_restart(int /*nlocal*/)
{
return 4;
}
diff --git a/src/MISC/pair_nm_cut.cpp b/src/MISC/pair_nm_cut.cpp
index a778d7a5b6..ce077a7a04 100644
--- a/src/MISC/pair_nm_cut.cpp
+++ b/src/MISC/pair_nm_cut.cpp
@@ -401,8 +401,8 @@ void PairNMCut::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairNMCut::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+double PairNMCut::single(int /*i*/, int /*j*/, int itype, int jtype,
+ double rsq, double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r,forcenm,phinm;
diff --git a/src/MISC/xdr_compat.cpp b/src/MISC/xdr_compat.cpp
index 3987aa02fc..0f4d73cdd9 100644
--- a/src/MISC/xdr_compat.cpp
+++ b/src/MISC/xdr_compat.cpp
@@ -650,7 +650,7 @@ xdrstdio_setpos (XDR *xdrs, unsigned int pos)
}
static xdr_int32_t *
-xdrstdio_inline (XDR *xdrs, int len)
+xdrstdio_inline (XDR * /*xdrs*/, int /*len*/)
{
/*
* Must do some work to implement this: must insure
diff --git a/src/MOLECULE/angle_cosine.cpp b/src/MOLECULE/angle_cosine.cpp
index e3472dfd7a..7fb7ce4c27 100644
--- a/src/MOLECULE/angle_cosine.cpp
+++ b/src/MOLECULE/angle_cosine.cpp
@@ -172,7 +172,7 @@ void AngleCosine::coeff(int narg, char **arg)
/* ---------------------------------------------------------------------- */
-double AngleCosine::equilibrium_angle(int i)
+double AngleCosine::equilibrium_angle(int /*i*/)
{
return MY_PI;
}
diff --git a/src/MOLECULE/angle_cosine_periodic.cpp b/src/MOLECULE/angle_cosine_periodic.cpp
index 4e620b436e..e8dd970b3b 100644
--- a/src/MOLECULE/angle_cosine_periodic.cpp
+++ b/src/MOLECULE/angle_cosine_periodic.cpp
@@ -222,7 +222,7 @@ void AngleCosinePeriodic::coeff(int narg, char **arg)
/* ---------------------------------------------------------------------- */
-double AngleCosinePeriodic::equilibrium_angle(int i)
+double AngleCosinePeriodic::equilibrium_angle(int /*i*/)
{
return MY_PI;
}
diff --git a/src/MOLECULE/bond_fene.cpp b/src/MOLECULE/bond_fene.cpp
index b6da72bfaf..671290b0ad 100644
--- a/src/MOLECULE/bond_fene.cpp
+++ b/src/MOLECULE/bond_fene.cpp
@@ -242,7 +242,7 @@ void BondFENE::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondFENE::single(int type, double rsq, int i, int j,
+double BondFENE::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r0sq = r0[type] * r0[type];
diff --git a/src/MOLECULE/bond_fene_expand.cpp b/src/MOLECULE/bond_fene_expand.cpp
index 26b699d7bf..3e191683fb 100644
--- a/src/MOLECULE/bond_fene_expand.cpp
+++ b/src/MOLECULE/bond_fene_expand.cpp
@@ -253,7 +253,7 @@ void BondFENEExpand::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondFENEExpand::single(int type, double rsq, int i, int j,
+double BondFENEExpand::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r = sqrt(rsq);
diff --git a/src/MOLECULE/bond_gromos.cpp b/src/MOLECULE/bond_gromos.cpp
index 8e989259af..279f4fb2d4 100644
--- a/src/MOLECULE/bond_gromos.cpp
+++ b/src/MOLECULE/bond_gromos.cpp
@@ -190,7 +190,7 @@ void BondGromos::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondGromos::single(int type, double rsq, int i, int j,
+double BondGromos::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double dr = rsq - r0[type]*r0[type];
diff --git a/src/MOLECULE/bond_harmonic.cpp b/src/MOLECULE/bond_harmonic.cpp
index e7f510d2de..f795610b37 100644
--- a/src/MOLECULE/bond_harmonic.cpp
+++ b/src/MOLECULE/bond_harmonic.cpp
@@ -190,7 +190,7 @@ void BondHarmonic::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondHarmonic::single(int type, double rsq, int i, int j,
+double BondHarmonic::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r = sqrt(rsq);
diff --git a/src/MOLECULE/bond_morse.cpp b/src/MOLECULE/bond_morse.cpp
index 35be50e8df..06af28f2b0 100644
--- a/src/MOLECULE/bond_morse.cpp
+++ b/src/MOLECULE/bond_morse.cpp
@@ -196,7 +196,7 @@ void BondMorse::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondMorse::single(int type, double rsq, int i, int j,
+double BondMorse::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r = sqrt(rsq);
diff --git a/src/MOLECULE/bond_nonlinear.cpp b/src/MOLECULE/bond_nonlinear.cpp
index 3926c3494b..645b081779 100644
--- a/src/MOLECULE/bond_nonlinear.cpp
+++ b/src/MOLECULE/bond_nonlinear.cpp
@@ -191,7 +191,7 @@ void BondNonlinear::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondNonlinear::single(int type, double rsq, int i, int j,
+double BondNonlinear::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r = sqrt(rsq);
diff --git a/src/MOLECULE/bond_quartic.cpp b/src/MOLECULE/bond_quartic.cpp
index f581c7f331..f200030d6c 100644
--- a/src/MOLECULE/bond_quartic.cpp
+++ b/src/MOLECULE/bond_quartic.cpp
@@ -251,7 +251,7 @@ void BondQuartic::init_style()
return an equilbrium bond length
------------------------------------------------------------------------- */
-double BondQuartic::equilibrium_distance(int i)
+double BondQuartic::equilibrium_distance(int /*i*/)
{
return 0.97;
}
diff --git a/src/MOLECULE/bond_table.cpp b/src/MOLECULE/bond_table.cpp
index 7515f713df..a5c579042b 100644
--- a/src/MOLECULE/bond_table.cpp
+++ b/src/MOLECULE/bond_table.cpp
@@ -244,7 +244,7 @@ void BondTable::read_restart(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondTable::single(int type, double rsq, int i, int j,
+double BondTable::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r = sqrt(rsq);
diff --git a/src/MOLECULE/fix_cmap.cpp b/src/MOLECULE/fix_cmap.cpp
index 5ef2e662ab..b527eef020 100644
--- a/src/MOLECULE/fix_cmap.cpp
+++ b/src/MOLECULE/fix_cmap.cpp
@@ -295,7 +295,7 @@ void FixCMAP::pre_neighbor()
store eflag, so can use it in post_force to tally per-atom energies
------------------------------------------------------------------------- */
-void FixCMAP::pre_reverse(int eflag, int vflag)
+void FixCMAP::pre_reverse(int eflag, int /*vflag*/)
{
eflag_caller = eflag;
}
@@ -604,7 +604,7 @@ void FixCMAP::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixCMAP::post_force_respa(int vflag, int ilevel, int iloop)
+void FixCMAP::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
@@ -1163,7 +1163,7 @@ void FixCMAP::read_data_section(char *keyword, int n, char *buf,
/* ---------------------------------------------------------------------- */
-bigint FixCMAP::read_data_skip_lines(char *keyword)
+bigint FixCMAP::read_data_skip_lines(char * /*keyword*/)
{
return ncmap;
}
@@ -1173,7 +1173,7 @@ bigint FixCMAP::read_data_skip_lines(char *keyword)
only called by proc 0
------------------------------------------------------------------------- */
-void FixCMAP::write_data_header(FILE *fp, int mth)
+void FixCMAP::write_data_header(FILE *fp, int /*mth*/)
{
fprintf(fp,BIGINT_FORMAT " cmap crossterms\n",ncmap);
}
@@ -1186,7 +1186,7 @@ void FixCMAP::write_data_header(FILE *fp, int mth)
ny = columns = type + 5 atom IDs
------------------------------------------------------------------------- */
-void FixCMAP::write_data_section_size(int mth, int &nx, int &ny)
+void FixCMAP::write_data_section_size(int /*mth*/, int &nx, int &ny)
{
int i,m;
@@ -1206,7 +1206,7 @@ void FixCMAP::write_data_section_size(int mth, int &nx, int &ny)
buf allocated by caller as owned crossterms by 6
------------------------------------------------------------------------- */
-void FixCMAP::write_data_section_pack(int mth, double **buf)
+void FixCMAP::write_data_section_pack(int /*mth*/, double **buf)
{
int i,m;
@@ -1237,7 +1237,7 @@ void FixCMAP::write_data_section_pack(int mth, double **buf)
only called by proc 0
------------------------------------------------------------------------- */
-void FixCMAP::write_data_section_keyword(int mth, FILE *fp)
+void FixCMAP::write_data_section_keyword(int /*mth*/, FILE *fp)
{
fprintf(fp,"\nCMAP\n\n");
}
@@ -1249,7 +1249,7 @@ void FixCMAP::write_data_section_keyword(int mth, FILE *fp)
only called by proc 0
------------------------------------------------------------------------- */
-void FixCMAP::write_data_section(int mth, FILE *fp,
+void FixCMAP::write_data_section(int /*mth*/, FILE *fp,
int n, double **buf, int index)
{
for (int i = 0; i < n; i++)
@@ -1383,7 +1383,7 @@ void FixCMAP::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixCMAP::copy_arrays(int i, int j, int delflag)
+void FixCMAP::copy_arrays(int i, int j, int /*delflag*/)
{
num_crossterm[j] = num_crossterm[i];
diff --git a/src/MOLECULE/pair_hbond_dreiding_lj.cpp b/src/MOLECULE/pair_hbond_dreiding_lj.cpp
index 26ff499dec..c0c885d4d4 100644
--- a/src/MOLECULE/pair_hbond_dreiding_lj.cpp
+++ b/src/MOLECULE/pair_hbond_dreiding_lj.cpp
@@ -468,7 +468,7 @@ double PairHbondDreidingLJ::init_one(int i, int j)
double PairHbondDreidingLJ::single(int i, int j, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
int k,kk,ktype,knum,m;
diff --git a/src/MOLECULE/pair_hbond_dreiding_morse.cpp b/src/MOLECULE/pair_hbond_dreiding_morse.cpp
index 749053164c..f464d2c621 100644
--- a/src/MOLECULE/pair_hbond_dreiding_morse.cpp
+++ b/src/MOLECULE/pair_hbond_dreiding_morse.cpp
@@ -371,7 +371,7 @@ void PairHbondDreidingMorse::init_style()
double PairHbondDreidingMorse::single(int i, int j, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
int k,kk,ktype,knum,m;
diff --git a/src/MOLECULE/pair_tip4p_cut.cpp b/src/MOLECULE/pair_tip4p_cut.cpp
index e9f52b8724..79dd79b180 100644
--- a/src/MOLECULE/pair_tip4p_cut.cpp
+++ b/src/MOLECULE/pair_tip4p_cut.cpp
@@ -443,7 +443,7 @@ void PairTIP4PCut::init_style()
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairTIP4PCut::init_one(int i, int j)
+double PairTIP4PCut::init_one(int /*i*/, int /*j*/)
{
// include TIP4P qdist in full cutoff, qdist = 0.0 if not TIP4P
diff --git a/src/Makefile b/src/Makefile
index 4e19f43afb..2ee7885562 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -53,7 +53,7 @@ endif
# PACKEXT = subset that require an external (downloaded) library
PACKAGE = asphere body class2 colloid compress coreshell dipole gpu \
- granular kim kokkos kspace latte manybody mc meam misc \
+ granular kim kokkos kspace latte manybody mc meam message misc \
molecule mpiio mscg opt peri poems \
python qeq reax replica rigid shock snap spin srd voronoi
@@ -65,14 +65,14 @@ PACKUSER = user-atc user-awpmd user-bocs user-cgdna user-cgsdk user-colvars \
user-quip user-reaxc user-scafacos user-smd user-smtbq \
user-sph user-tally user-uef user-vtk
-PACKLIB = compress gpu kim kokkos latte meam mpiio mscg poems \
+PACKLIB = compress gpu kim kokkos latte meam message mpiio mscg poems \
python reax voronoi \
user-atc user-awpmd user-colvars user-h5md user-lb user-molfile \
user-netcdf user-qmmm user-quip user-scafacos user-smd user-vtk
PACKSYS = compress mpiio python user-lb
-PACKINT = gpu kokkos meam poems reax user-atc user-awpmd user-colvars
+PACKINT = gpu kokkos meam message poems reax user-atc user-awpmd user-colvars
PACKEXT = kim mscg voronoi \
user-h5md user-molfile user-netcdf user-qmmm user-quip \
diff --git a/src/PERI/fix_peri_neigh.cpp b/src/PERI/fix_peri_neigh.cpp
index 42d86e14b2..66137e6a01 100644
--- a/src/PERI/fix_peri_neigh.cpp
+++ b/src/PERI/fix_peri_neigh.cpp
@@ -140,7 +140,7 @@ void FixPeriNeigh::init()
/* ---------------------------------------------------------------------- */
-void FixPeriNeigh::init_list(int id, NeighList *ptr)
+void FixPeriNeigh::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -159,7 +159,7 @@ void FixPeriNeigh::min_setup(int vflag)
must be done in setup (not init) since fix init comes before neigh init
------------------------------------------------------------------------- */
-void FixPeriNeigh::setup(int vflag)
+void FixPeriNeigh::setup(int /*vflag*/)
{
int i,j,ii,jj,itype,jtype,inum,jnum;
double xtmp,ytmp,ztmp,delx,dely,delz,rsq;
@@ -441,7 +441,7 @@ void FixPeriNeigh::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixPeriNeigh::copy_arrays(int i, int j, int delflag)
+void FixPeriNeigh::copy_arrays(int i, int j, int /*delflag*/)
{
npartner[j] = npartner[i];
for (int m = 0; m < npartner[j]; m++) {
@@ -514,7 +514,7 @@ int FixPeriNeigh::unpack_exchange(int nlocal, double *buf)
/* ---------------------------------------------------------------------- */
int FixPeriNeigh::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/PERI/pair_peri_eps.cpp b/src/PERI/pair_peri_eps.cpp
index 9950c36f41..76267426c6 100644
--- a/src/PERI/pair_peri_eps.cpp
+++ b/src/PERI/pair_peri_eps.cpp
@@ -434,7 +434,7 @@ void PairPeriEPS::allocate()
global settings
------------------------------------------------------------------------- */
-void PairPeriEPS::settings(int narg, char **arg)
+void PairPeriEPS::settings(int narg, char **/*arg*/)
{
if (narg) error->all(FLERR,"Illegal pair_style command");
}
@@ -799,7 +799,7 @@ double PairPeriEPS::compute_DeviatoricForceStateNorm(int i)
---------------------------------------------------------------------- */
int PairPeriEPS::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/PERI/pair_peri_lps.cpp b/src/PERI/pair_peri_lps.cpp
index 4c48223b07..383b91c6f5 100644
--- a/src/PERI/pair_peri_lps.cpp
+++ b/src/PERI/pair_peri_lps.cpp
@@ -364,7 +364,7 @@ void PairPeriLPS::allocate()
global settings
------------------------------------------------------------------------- */
-void PairPeriLPS::settings(int narg, char **arg)
+void PairPeriLPS::settings(int narg, char **/*arg*/)
{
if (narg) error->all(FLERR,"Illegal pair_style command");
}
@@ -631,7 +631,7 @@ void PairPeriLPS::compute_dilatation()
---------------------------------------------------------------------- */
int PairPeriLPS::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/PERI/pair_peri_pmb.cpp b/src/PERI/pair_peri_pmb.cpp
index 81461f0b83..772e47f2d6 100644
--- a/src/PERI/pair_peri_pmb.cpp
+++ b/src/PERI/pair_peri_pmb.cpp
@@ -297,7 +297,7 @@ void PairPeriPMB::allocate()
global settings
------------------------------------------------------------------------- */
-void PairPeriPMB::settings(int narg, char **arg)
+void PairPeriPMB::settings(int narg, char **/*arg*/)
{
if (narg) error->all(FLERR,"Illegal pair_style command");
}
@@ -441,7 +441,7 @@ void PairPeriPMB::read_restart(FILE *fp)
/* ---------------------------------------------------------------------- */
double PairPeriPMB::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
double delx0,dely0,delz0,rsq0;
diff --git a/src/PERI/pair_peri_ves.cpp b/src/PERI/pair_peri_ves.cpp
index a9f620ef4b..7590077f0e 100644
--- a/src/PERI/pair_peri_ves.cpp
+++ b/src/PERI/pair_peri_ves.cpp
@@ -411,7 +411,7 @@ void PairPeriVES::allocate()
global settings
------------------------------------------------------------------------- */
-void PairPeriVES::settings(int narg, char **arg)
+void PairPeriVES::settings(int narg, char **/*arg*/)
{
if (narg) error->all(FLERR,"Illegal pair_style command");
}
@@ -697,7 +697,7 @@ void PairPeriVES::compute_dilatation()
---------------------------------------------------------------------- */
int PairPeriVES::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/QEQ/fix_qeq.cpp b/src/QEQ/fix_qeq.cpp
index 8acf4498f5..0fe041209f 100644
--- a/src/QEQ/fix_qeq.cpp
+++ b/src/QEQ/fix_qeq.cpp
@@ -274,7 +274,7 @@ void FixQEq::reallocate_matrix()
/* ---------------------------------------------------------------------- */
-void FixQEq::init_list(int id, NeighList *ptr)
+void FixQEq::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -329,7 +329,7 @@ void FixQEq::init_storage()
/* ---------------------------------------------------------------------- */
-void FixQEq::pre_force_respa(int vflag, int ilevel, int iloop)
+void FixQEq::pre_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) pre_force(vflag);
}
@@ -471,7 +471,7 @@ void FixQEq::calculate_Q()
/* ---------------------------------------------------------------------- */
int FixQEq::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int m;
@@ -552,7 +552,7 @@ void FixQEq::grow_arrays(int nmax)
copy values within fictitious charge arrays
------------------------------------------------------------------------- */
-void FixQEq::copy_arrays(int i, int j, int delflag)
+void FixQEq::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < nprev; m++) {
s_hist[j][m] = s_hist[i][m];
diff --git a/src/QEQ/fix_qeq_dynamic.cpp b/src/QEQ/fix_qeq_dynamic.cpp
index aeb8dd2c59..f496c7e6c0 100644
--- a/src/QEQ/fix_qeq_dynamic.cpp
+++ b/src/QEQ/fix_qeq_dynamic.cpp
@@ -88,7 +88,7 @@ void FixQEqDynamic::init()
/* ---------------------------------------------------------------------- */
-void FixQEqDynamic::pre_force(int vflag)
+void FixQEqDynamic::pre_force(int /*vflag*/)
{
int i,ii,iloop,inum,*ilist;
double qmass,dtq2;
@@ -247,7 +247,7 @@ double FixQEqDynamic::compute_eneg()
/* ---------------------------------------------------------------------- */
int FixQEqDynamic::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int m=0;
diff --git a/src/QEQ/fix_qeq_fire.cpp b/src/QEQ/fix_qeq_fire.cpp
index db63bec206..83c9907f1b 100644
--- a/src/QEQ/fix_qeq_fire.cpp
+++ b/src/QEQ/fix_qeq_fire.cpp
@@ -104,7 +104,7 @@ void FixQEqFire::init()
/* ---------------------------------------------------------------------- */
-void FixQEqFire::pre_force(int vflag)
+void FixQEqFire::pre_force(int /*vflag*/)
{
int inum, *ilist;
int i,ii,iloop;
@@ -311,7 +311,7 @@ double FixQEqFire::compute_eneg()
/* ---------------------------------------------------------------------- */
int FixQEqFire::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int m = 0;
diff --git a/src/QEQ/fix_qeq_point.cpp b/src/QEQ/fix_qeq_point.cpp
index bf7130c1d6..db2d800c06 100644
--- a/src/QEQ/fix_qeq_point.cpp
+++ b/src/QEQ/fix_qeq_point.cpp
@@ -67,7 +67,7 @@ void FixQEqPoint::init()
/* ---------------------------------------------------------------------- */
-void FixQEqPoint::pre_force(int vflag)
+void FixQEqPoint::pre_force(int /*vflag*/)
{
if (update->ntimestep % nevery) return;
diff --git a/src/QEQ/fix_qeq_shielded.cpp b/src/QEQ/fix_qeq_shielded.cpp
index 70898fd96c..88cd1ab3ad 100644
--- a/src/QEQ/fix_qeq_shielded.cpp
+++ b/src/QEQ/fix_qeq_shielded.cpp
@@ -111,7 +111,7 @@ void FixQEqShielded::init_shielding()
/* ---------------------------------------------------------------------- */
-void FixQEqShielded::pre_force(int vflag)
+void FixQEqShielded::pre_force(int /*vflag*/)
{
if (update->ntimestep % nevery) return;
diff --git a/src/QEQ/fix_qeq_slater.cpp b/src/QEQ/fix_qeq_slater.cpp
index 4ddcf06357..81fdc73241 100644
--- a/src/QEQ/fix_qeq_slater.cpp
+++ b/src/QEQ/fix_qeq_slater.cpp
@@ -107,7 +107,7 @@ void FixQEqSlater::extract_streitz()
/* ---------------------------------------------------------------------- */
-void FixQEqSlater::pre_force(int vflag)
+void FixQEqSlater::pre_force(int /*vflag*/)
{
if (update->ntimestep % nevery) return;
diff --git a/src/REPLICA/fix_event.cpp b/src/REPLICA/fix_event.cpp
index 3b9b49ac57..8fc5de6b16 100644
--- a/src/REPLICA/fix_event.cpp
+++ b/src/REPLICA/fix_event.cpp
@@ -241,7 +241,7 @@ void FixEvent::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixEvent::copy_arrays(int i, int j, int delflag)
+void FixEvent::copy_arrays(int i, int j, int /*delflag*/)
{
xevent[j][0] = xevent[i][0];
xevent[j][1] = xevent[i][1];
diff --git a/src/REPLICA/fix_neb.cpp b/src/REPLICA/fix_neb.cpp
index e5d24da392..dc86c70956 100644
--- a/src/REPLICA/fix_neb.cpp
+++ b/src/REPLICA/fix_neb.cpp
@@ -270,7 +270,7 @@ void FixNEB::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixNEB::min_post_force(int vflag)
+void FixNEB::min_post_force(int /*vflag*/)
{
double vprev,vnext;
double delxp,delyp,delzp,delxn,delyn,delzn;
diff --git a/src/RIGID/fix_rattle.cpp b/src/RIGID/fix_rattle.cpp
index 7ade8d6848..403f3091c6 100644
--- a/src/RIGID/fix_rattle.cpp
+++ b/src/RIGID/fix_rattle.cpp
@@ -185,7 +185,7 @@ void FixRattle::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixRattle::post_force_respa(int vflag, int ilevel, int iloop)
+void FixRattle::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
// remember vflag for the coordinate correction in this->final_integrate
@@ -625,7 +625,7 @@ void FixRattle::update_v_half_nocons()
/* ---------------------------------------------------------------------- */
-void FixRattle::update_v_half_nocons_respa(int ilevel)
+void FixRattle::update_v_half_nocons_respa(int /*ilevel*/)
{
// carry out unconstrained velocity update
diff --git a/src/RIGID/fix_rigid.cpp b/src/RIGID/fix_rigid.cpp
index 7104d30849..c15a909ada 100644
--- a/src/RIGID/fix_rigid.cpp
+++ b/src/RIGID/fix_rigid.cpp
@@ -1030,7 +1030,6 @@ void FixRigid::enforce2d()
void FixRigid::compute_forces_and_torques()
{
int i,ibody;
- double dtfm;
// sum over atoms to get force and torque on rigid body
@@ -1096,7 +1095,7 @@ void FixRigid::compute_forces_and_torques()
/* ---------------------------------------------------------------------- */
-void FixRigid::post_force(int vflag)
+void FixRigid::post_force(int /*vflag*/)
{
if (langflag) apply_langevin_thermostat();
if (earlyflag) compute_forces_and_torques();
@@ -1141,7 +1140,7 @@ void FixRigid::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixRigid::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixRigid::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
@@ -1153,7 +1152,7 @@ void FixRigid::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixRigid::final_integrate_respa(int ilevel, int iloop)
+void FixRigid::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
final_integrate();
@@ -2478,7 +2477,7 @@ void FixRigid::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixRigid::copy_arrays(int i, int j, int delflag)
+void FixRigid::copy_arrays(int i, int j, int /*delflag*/)
{
body[j] = body[i];
xcmimage[j] = xcmimage[i];
diff --git a/src/RIGID/fix_rigid_nh.cpp b/src/RIGID/fix_rigid_nh.cpp
index 96c44d15b5..4dceb1b8b4 100644
--- a/src/RIGID/fix_rigid_nh.cpp
+++ b/src/RIGID/fix_rigid_nh.cpp
@@ -591,9 +591,9 @@ void FixRigidNH::initial_integrate(int vflag)
void FixRigidNH::final_integrate()
{
- int i,ibody;
+ int ibody;
double tmp,scale_t[3],scale_r;
- double dtfm,xy,xz,yz;
+ double dtfm;
double mbody[3],tbody[3],fquat[4];
double dtf2 = dtf * 2.0;
diff --git a/src/RIGID/fix_rigid_nh_small.cpp b/src/RIGID/fix_rigid_nh_small.cpp
index 135a1fb4bd..5016d3f168 100644
--- a/src/RIGID/fix_rigid_nh_small.cpp
+++ b/src/RIGID/fix_rigid_nh_small.cpp
@@ -618,7 +618,7 @@ void FixRigidNHSmall::initial_integrate(int vflag)
void FixRigidNHSmall::final_integrate()
{
- int i,ibody;
+ int ibody;
double tmp,scale_t[3],scale_r;
double dtfm;
double mbody[3],tbody[3],fquat[4];
diff --git a/src/RIGID/fix_rigid_small.cpp b/src/RIGID/fix_rigid_small.cpp
index c1de89efc7..d5d3d36083 100644
--- a/src/RIGID/fix_rigid_small.cpp
+++ b/src/RIGID/fix_rigid_small.cpp
@@ -867,7 +867,7 @@ void FixRigidSmall::enforce2d()
/* ---------------------------------------------------------------------- */
-void FixRigidSmall::post_force(int vflag)
+void FixRigidSmall::post_force(int /*vflag*/)
{
if (langflag) apply_langevin_thermostat();
if (earlyflag) compute_forces_and_torques();
@@ -1004,7 +1004,7 @@ void FixRigidSmall::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixRigidSmall::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixRigidSmall::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
@@ -1016,7 +1016,7 @@ void FixRigidSmall::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixRigidSmall::final_integrate_respa(int ilevel, int iloop)
+void FixRigidSmall::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
final_integrate();
@@ -2999,7 +2999,7 @@ int FixRigidSmall::unpack_exchange(int nlocal, double *buf)
------------------------------------------------------------------------- */
int FixRigidSmall::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j;
double *xcm,*vcm,*quat,*omega,*ex_space,*ey_space,*ez_space,*conjqm;
diff --git a/src/RIGID/fix_shake.cpp b/src/RIGID/fix_shake.cpp
index 0beef3bfa2..e0d1bf132b 100644
--- a/src/RIGID/fix_shake.cpp
+++ b/src/RIGID/fix_shake.cpp
@@ -2451,7 +2451,7 @@ void FixShake::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixShake::copy_arrays(int i, int j, int delflag)
+void FixShake::copy_arrays(int i, int j, int /*delflag*/)
{
int flag = shake_flag[j] = shake_flag[i];
if (flag == 1) {
@@ -2528,7 +2528,7 @@ void FixShake::update_arrays(int i, int atom_offset)
------------------------------------------------------------------------- */
void FixShake::set_molecule(int nlocalprev, tagint tagprev, int imol,
- double *xgeom, double *vcm, double *quat)
+ double * /*xgeom*/, double * /*vcm*/, double * /*quat*/)
{
int m,flag;
diff --git a/src/SHOCK/fix_append_atoms.cpp b/src/SHOCK/fix_append_atoms.cpp
index d898d2a790..2e515839c5 100644
--- a/src/SHOCK/fix_append_atoms.cpp
+++ b/src/SHOCK/fix_append_atoms.cpp
@@ -231,7 +231,7 @@ int FixAppendAtoms::setmask()
/* ---------------------------------------------------------------------- */
-void FixAppendAtoms::initial_integrate(int vflag)
+void FixAppendAtoms::initial_integrate(int /*vflag*/)
{
if (update->ntimestep % freq == 0) next_reneighbor = update->ntimestep;
}
@@ -331,7 +331,7 @@ int FixAppendAtoms::get_spatial()
/* ---------------------------------------------------------------------- */
-void FixAppendAtoms::post_force(int vflag)
+void FixAppendAtoms::post_force(int /*vflag*/)
{
double **f = atom->f;
double **v = atom->v;
diff --git a/src/SHOCK/fix_msst.cpp b/src/SHOCK/fix_msst.cpp
index a7890c3afa..c800e8a85d 100644
--- a/src/SHOCK/fix_msst.cpp
+++ b/src/SHOCK/fix_msst.cpp
@@ -357,7 +357,7 @@ void FixMSST::init()
compute T,P before integrator starts
------------------------------------------------------------------------- */
-void FixMSST::setup(int vflag)
+void FixMSST::setup(int /*vflag*/)
{
lagrangian_position = 0.0;
@@ -442,7 +442,7 @@ void FixMSST::setup(int vflag)
1st half of Verlet update
------------------------------------------------------------------------- */
-void FixMSST::initial_integrate(int vflag)
+void FixMSST::initial_integrate(int /*vflag*/)
{
int i,k;
double p_msst; // MSST driving pressure
diff --git a/src/SHOCK/fix_wall_piston.cpp b/src/SHOCK/fix_wall_piston.cpp
index 7146b46c1e..eb89e19517 100644
--- a/src/SHOCK/fix_wall_piston.cpp
+++ b/src/SHOCK/fix_wall_piston.cpp
@@ -171,7 +171,7 @@ int FixWallPiston::setmask()
/* ---------------------------------------------------------------------- */
-void FixWallPiston::initial_integrate(int vflag)
+void FixWallPiston::initial_integrate(int /*vflag*/)
{
next_reneighbor = update->ntimestep;
}
diff --git a/src/SNAP/compute_sna_atom.cpp b/src/SNAP/compute_sna_atom.cpp
index 0d8b0bae14..a2c1f55788 100644
--- a/src/SNAP/compute_sna_atom.cpp
+++ b/src/SNAP/compute_sna_atom.cpp
@@ -184,7 +184,7 @@ void ComputeSNAAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeSNAAtom::init_list(int id, NeighList *ptr)
+void ComputeSNAAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/SNAP/compute_snad_atom.cpp b/src/SNAP/compute_snad_atom.cpp
index b0fef8e1e3..800d1942e3 100644
--- a/src/SNAP/compute_snad_atom.cpp
+++ b/src/SNAP/compute_snad_atom.cpp
@@ -186,7 +186,7 @@ void ComputeSNADAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeSNADAtom::init_list(int id, NeighList *ptr)
+void ComputeSNADAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/SNAP/compute_snav_atom.cpp b/src/SNAP/compute_snav_atom.cpp
index cf66b1c136..2b823f7b8b 100644
--- a/src/SNAP/compute_snav_atom.cpp
+++ b/src/SNAP/compute_snav_atom.cpp
@@ -181,7 +181,7 @@ void ComputeSNAVAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeSNAVAtom::init_list(int id, NeighList *ptr)
+void ComputeSNAVAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/SNAP/compute_snav_atom.h b/src/SNAP/compute_snav_atom.h
index 2eb9fb804f..7d39786ef9 100644
--- a/src/SNAP/compute_snav_atom.h
+++ b/src/SNAP/compute_snav_atom.h
@@ -45,7 +45,6 @@ class ComputeSNAVAtom : public Compute {
double *radelem;
double *wjelem;
class SNA** snaptr;
- double cutmax;
int quadraticflag;
};
diff --git a/src/SNAP/sna.cpp b/src/SNAP/sna.cpp
index 3150573043..7ed1bc1e23 100644
--- a/src/SNAP/sna.cpp
+++ b/src/SNAP/sna.cpp
@@ -1231,7 +1231,7 @@ void SNA::compute_uarray(double x, double y, double z,
}
void SNA::compute_uarray_omp(double x, double y, double z,
- double z0, double r, int sub_threads)
+ double z0, double r, int /*sub_threads*/)
{
double r0inv;
double a_r, b_r, a_i, b_i;
diff --git a/src/SPIN/atom_vec_spin.cpp b/src/SPIN/atom_vec_spin.cpp
index 6460a6185f..24c4480e04 100644
--- a/src/SPIN/atom_vec_spin.cpp
+++ b/src/SPIN/atom_vec_spin.cpp
@@ -943,7 +943,7 @@ bigint AtomVecSpin::memory_usage()
return bytes;
}
-void AtomVecSpin::force_clear(int n, size_t nbytes)
+void AtomVecSpin::force_clear(int /*n*/, size_t nbytes)
{
memset(&atom->f[0][0],0,3*nbytes);
memset(&atom->fm[0][0],0,3*nbytes);
diff --git a/src/SPIN/compute_spin.h b/src/SPIN/compute_spin.h
index 59f0ce2876..b57876b7a0 100644
--- a/src/SPIN/compute_spin.h
+++ b/src/SPIN/compute_spin.h
@@ -33,7 +33,6 @@ class ComputeSpin : public Compute {
private:
double kb,hbar;
- int usecenter;
void allocate();
};
diff --git a/src/SPIN/fix_langevin_spin.cpp b/src/SPIN/fix_langevin_spin.cpp
index cb34465482..55b4d8dfec 100644
--- a/src/SPIN/fix_langevin_spin.cpp
+++ b/src/SPIN/fix_langevin_spin.cpp
@@ -192,7 +192,7 @@ void FixLangevinSpin::add_temperature(double fmi[3])
/* ---------------------------------------------------------------------- */
-void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int iloop)
+void FixLangevinSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
diff --git a/src/SPIN/fix_nve_spin.cpp b/src/SPIN/fix_nve_spin.cpp
index b75f03212a..898eb95396 100644
--- a/src/SPIN/fix_nve_spin.cpp
+++ b/src/SPIN/fix_nve_spin.cpp
@@ -258,7 +258,7 @@ void FixNVESpin::init()
/* ---------------------------------------------------------------------- */
-void FixNVESpin::initial_integrate(int vflag)
+void FixNVESpin::initial_integrate(int /*vflag*/)
{
double dtfm;
diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp
index b908478952..d3edb3ae8a 100644
--- a/src/SPIN/fix_precession_spin.cpp
+++ b/src/SPIN/fix_precession_spin.cpp
@@ -169,7 +169,7 @@ void FixPrecessionSpin::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixPrecessionSpin::post_force(int vflag)
+void FixPrecessionSpin::post_force(int /*vflag*/)
{
// update mag field with time (potential improvement)
@@ -245,7 +245,7 @@ void FixPrecessionSpin::compute_anisotropy(double spi[3], double fmi[3])
/* ---------------------------------------------------------------------- */
-void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int iloop)
+void FixPrecessionSpin::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/SPIN/pair_spin.cpp b/src/SPIN/pair_spin.cpp
index 398206b26e..929b79bef3 100644
--- a/src/SPIN/pair_spin.cpp
+++ b/src/SPIN/pair_spin.cpp
@@ -63,7 +63,7 @@ PairSpin::~PairSpin() {}
global settings
------------------------------------------------------------------------- */
-void PairSpin::settings(int narg, char **arg)
+void PairSpin::settings(int narg, char **/*arg*/)
{
if (narg < 1 || narg > 2)
error->all(FLERR,"Incorrect number of args in pair_style pair/spin command");
diff --git a/src/SPIN/pair_spin_dmi.cpp b/src/SPIN/pair_spin_dmi.cpp
index 08e2c63e7f..6f8114042e 100644
--- a/src/SPIN/pair_spin_dmi.cpp
+++ b/src/SPIN/pair_spin_dmi.cpp
@@ -414,7 +414,7 @@ void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double
compute the mechanical force due to the dmi interaction between atom i and atom j
------------------------------------------------------------------------- */
-void PairSpinDmi::compute_dmi_mech(int i, int j, double rsq, double eij[3],
+void PairSpinDmi::compute_dmi_mech(int i, int j, double rsq, double /*eij*/[3],
double fi[3], double spi[3], double spj[3])
{
int *type = atom->type;
diff --git a/src/SPIN/pair_spin_magelec.cpp b/src/SPIN/pair_spin_magelec.cpp
index 6bc1f71947..570c995754 100644
--- a/src/SPIN/pair_spin_magelec.cpp
+++ b/src/SPIN/pair_spin_magelec.cpp
@@ -380,7 +380,7 @@ void PairSpinMagelec::compute_single_pair(int ii, double fmi[3])
/* ---------------------------------------------------------------------- */
-void PairSpinMagelec::compute_magelec(int i, int j, double rsq, double eij[3], double fmi[3], double spj[3])
+void PairSpinMagelec::compute_magelec(int i, int j, double /*rsq*/, double eij[3], double fmi[3], double spj[3])
{
int *type = atom->type;
int itype, jtype;
diff --git a/src/SRD/fix_srd.cpp b/src/SRD/fix_srd.cpp
index 564c1e98d7..186f51e06a 100644
--- a/src/SRD/fix_srd.cpp
+++ b/src/SRD/fix_srd.cpp
@@ -440,7 +440,7 @@ void FixSRD::init()
/* ---------------------------------------------------------------------- */
-void FixSRD::setup(int vflag)
+void FixSRD::setup(int /*vflag*/)
{
setup_bounds();
@@ -703,7 +703,7 @@ void FixSRD::pre_neighbor()
when collision occurs, change x,v of SRD, force,torque of BIG particle
------------------------------------------------------------------------- */
-void FixSRD::post_force(int vflag)
+void FixSRD::post_force(int /*vflag*/)
{
int i,m,ix,iy,iz;
@@ -2168,8 +2168,8 @@ void FixSRD::collision_ellipsoid_inexact(double *xs, double *xb,
norm = surface normal of collision pt at time of collision
------------------------------------------------------------------------- */
-double FixSRD::collision_line_exact(double *xs, double *xb,
- double *vs, double *vb, Big *big,
+double FixSRD::collision_line_exact(double * /*xs*/, double * /*xb*/,
+ double * /*vs*/, double * /*vb*/, Big * /*big*/,
double dt_step,
double *xscoll, double *xbcoll,
double *norm)
@@ -2197,8 +2197,8 @@ double FixSRD::collision_line_exact(double *xs, double *xb,
norm = surface normal of collision pt at time of collision
------------------------------------------------------------------------- */
-double FixSRD::collision_tri_exact(double *xs, double *xb,
- double *vs, double *vb, Big *big,
+double FixSRD::collision_tri_exact(double * /*xs*/, double * /*xb*/,
+ double * /*vs*/, double * /*vb*/, Big * /*big*/,
double dt_step,
double *xscoll, double *xbcoll,
double *norm)
diff --git a/src/USER-BOCS/fix_bocs.cpp b/src/USER-BOCS/fix_bocs.cpp
index 7fb8a27110..03fc94ae58 100644
--- a/src/USER-BOCS/fix_bocs.cpp
+++ b/src/USER-BOCS/fix_bocs.cpp
@@ -625,11 +625,9 @@ void FixBocs::init()
// NJD MRD 2 functions
int FixBocs::read_F_table( char *filename, int p_basis_type )
{
- char separator = ',';
FILE *fpi;
int N_columns = 2, n_entries = 0, i;
float f1, f2;
- double n1, n2;
int test_sscanf;
double **data = (double **) calloc(N_columns,sizeof(double *));
char * line = (char *) calloc(200,sizeof(char));
@@ -790,7 +788,7 @@ void FixBocs::build_cubic_splines( double **data )
compute T,P before integrator starts
------------------------------------------------------------------------- */
-void FixBocs::setup(int vflag)
+void FixBocs::setup(int /*vflag*/)
{
// tdof needed by compute_temp_target()
@@ -875,7 +873,7 @@ void FixBocs::setup(int vflag)
1st half of Verlet update
------------------------------------------------------------------------- */
-void FixBocs::initial_integrate(int vflag)
+void FixBocs::initial_integrate(int /*vflag*/)
{
// update eta_press_dot
@@ -970,7 +968,7 @@ void FixBocs::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixBocs::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixBocs::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloop*/)
{
// set timesteps by level
@@ -1039,7 +1037,7 @@ void FixBocs::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixBocs::final_integrate_respa(int ilevel, int iloop)
+void FixBocs::final_integrate_respa(int ilevel, int /*iloop*/)
{
// set timesteps by level
diff --git a/src/USER-CGDNA/bond_oxdna_fene.cpp b/src/USER-CGDNA/bond_oxdna_fene.cpp
index 47d8d8f60b..34a25a9b5a 100644
--- a/src/USER-CGDNA/bond_oxdna_fene.cpp
+++ b/src/USER-CGDNA/bond_oxdna_fene.cpp
@@ -56,7 +56,7 @@ BondOxdnaFene::~BondOxdnaFene()
compute vector COM-sugar-phosphate backbone interaction site in oxDNA
------------------------------------------------------------------------- */
void BondOxdnaFene::compute_interaction_sites(double e1[3],
- double e2[3], double r[3])
+ double /*e2*/[3], double r[3])
{
double d_cs=-0.4;
@@ -316,7 +316,7 @@ void BondOxdnaFene::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondOxdnaFene::single(int type, double rsq, int i, int j,
+double BondOxdnaFene::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r = sqrt(rsq);
diff --git a/src/USER-CGDNA/fix_nve_dot.cpp b/src/USER-CGDNA/fix_nve_dot.cpp
index 63f38a4e12..72b3388793 100644
--- a/src/USER-CGDNA/fix_nve_dot.cpp
+++ b/src/USER-CGDNA/fix_nve_dot.cpp
@@ -62,7 +62,7 @@ void FixNVEDot::init()
/* ---------------------------------------------------------------------- */
-void FixNVEDot::initial_integrate(int vflag)
+void FixNVEDot::initial_integrate(int /*vflag*/)
{
double *shape,*quat;
double fquat[4],conjqm[4],inertia[3];
diff --git a/src/USER-CGDNA/fix_nve_dotc_langevin.cpp b/src/USER-CGDNA/fix_nve_dotc_langevin.cpp
index 90f7b1caeb..c73801c97a 100644
--- a/src/USER-CGDNA/fix_nve_dotc_langevin.cpp
+++ b/src/USER-CGDNA/fix_nve_dotc_langevin.cpp
@@ -127,7 +127,7 @@ void FixNVEDotcLangevin::compute_target()
/* ---------------------------------------------------------------------- */
-void FixNVEDotcLangevin::initial_integrate(int vflag)
+void FixNVEDotcLangevin::initial_integrate(int /*vflag*/)
{
double *shape,*quat;
double fquat[4],conjqm[4],inertia[3];
diff --git a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp
index 151e752692..d31890ea52 100644
--- a/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp
+++ b/src/USER-CGDNA/pair_oxdna2_coaxstk.cpp
@@ -542,7 +542,7 @@ void PairOxdna2Coaxstk::allocate()
global settings
------------------------------------------------------------------------- */
-void PairOxdna2Coaxstk::settings(int narg, char **arg)
+void PairOxdna2Coaxstk::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/USER-CGDNA/pair_oxdna2_dh.cpp b/src/USER-CGDNA/pair_oxdna2_dh.cpp
index 974ade89c1..da6e1f8bbd 100644
--- a/src/USER-CGDNA/pair_oxdna2_dh.cpp
+++ b/src/USER-CGDNA/pair_oxdna2_dh.cpp
@@ -264,7 +264,7 @@ void PairOxdna2Dh::allocate()
global settings
------------------------------------------------------------------------- */
-void PairOxdna2Dh::settings(int narg, char **arg)
+void PairOxdna2Dh::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp
index 0eb75fbb43..ca03bcb35c 100644
--- a/src/USER-CGDNA/pair_oxdna_coaxstk.cpp
+++ b/src/USER-CGDNA/pair_oxdna_coaxstk.cpp
@@ -666,7 +666,7 @@ void PairOxdnaCoaxstk::allocate()
global settings
------------------------------------------------------------------------- */
-void PairOxdnaCoaxstk::settings(int narg, char **arg)
+void PairOxdnaCoaxstk::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/USER-CGDNA/pair_oxdna_excv.cpp b/src/USER-CGDNA/pair_oxdna_excv.cpp
index e2b8334078..719a63b5f4 100644
--- a/src/USER-CGDNA/pair_oxdna_excv.cpp
+++ b/src/USER-CGDNA/pair_oxdna_excv.cpp
@@ -92,7 +92,7 @@ PairOxdnaExcv::~PairOxdnaExcv()
compute vector COM-excluded volume interaction sites in oxDNA
------------------------------------------------------------------------- */
void PairOxdnaExcv::compute_interaction_sites(double e1[3],
- double e2[3], double rs[3], double rb[3])
+ double /*e2*/[3], double rs[3], double rb[3])
{
double d_cs=-0.4, d_cb=+0.4;
@@ -441,7 +441,7 @@ void PairOxdnaExcv::allocate()
global settings
------------------------------------------------------------------------- */
-void PairOxdnaExcv::settings(int narg, char **arg)
+void PairOxdnaExcv::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/USER-CGDNA/pair_oxdna_hbond.cpp b/src/USER-CGDNA/pair_oxdna_hbond.cpp
index ce1bfe036a..cb9f61bd7e 100644
--- a/src/USER-CGDNA/pair_oxdna_hbond.cpp
+++ b/src/USER-CGDNA/pair_oxdna_hbond.cpp
@@ -601,7 +601,7 @@ void PairOxdnaHbond::allocate()
global settings
------------------------------------------------------------------------- */
-void PairOxdnaHbond::settings(int narg, char **arg)
+void PairOxdnaHbond::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/USER-CGDNA/pair_oxdna_stk.cpp b/src/USER-CGDNA/pair_oxdna_stk.cpp
index 8c4498e627..f713e4d27c 100644
--- a/src/USER-CGDNA/pair_oxdna_stk.cpp
+++ b/src/USER-CGDNA/pair_oxdna_stk.cpp
@@ -647,7 +647,7 @@ void PairOxdnaStk::allocate()
global settings
------------------------------------------------------------------------- */
-void PairOxdnaStk::settings(int narg, char **arg)
+void PairOxdnaStk::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/USER-CGDNA/pair_oxdna_xstk.cpp b/src/USER-CGDNA/pair_oxdna_xstk.cpp
index e5b9de81c0..c4c23bf2c9 100644
--- a/src/USER-CGDNA/pair_oxdna_xstk.cpp
+++ b/src/USER-CGDNA/pair_oxdna_xstk.cpp
@@ -611,7 +611,7 @@ void PairOxdnaXstk::allocate()
global settings
------------------------------------------------------------------------- */
-void PairOxdnaXstk::settings(int narg, char **arg)
+void PairOxdnaXstk::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/USER-CGSDK/lj_sdk_common.h b/src/USER-CGSDK/lj_sdk_common.h
index c1f2cf215a..51dcb4c2b7 100644
--- a/src/USER-CGSDK/lj_sdk_common.h
+++ b/src/USER-CGSDK/lj_sdk_common.h
@@ -27,6 +27,7 @@ namespace LJSDKParms {
// LJ type flags. list of supported LJ exponent combinations
enum {LJ_NOT_SET=0, LJ9_6, LJ12_4, LJ12_6, NUM_LJ_TYPES};
+#if defined(LMP_NEED_SDK_FIND_LJ_TYPE)
static int find_lj_type(const char *label,
const char * const * const list) {
for (int i=0; i < NUM_LJ_TYPES; ++i)
@@ -34,6 +35,7 @@ namespace LJSDKParms {
return LJ_NOT_SET;
}
+#endif
static const char * const lj_type_list[] = {"none", "lj9_6", "lj12_4", "lj12_6"};
static const double lj_prefact[] = {0.0, 6.75, 2.59807621135332, 4.0};
diff --git a/src/USER-CGSDK/pair_lj_sdk.cpp b/src/USER-CGSDK/pair_lj_sdk.cpp
index cbcba7f6b2..3404beb58a 100644
--- a/src/USER-CGSDK/pair_lj_sdk.cpp
+++ b/src/USER-CGSDK/pair_lj_sdk.cpp
@@ -33,6 +33,7 @@
#include "memory.h"
#include "error.h"
+#define LMP_NEED_SDK_FIND_LJ_TYPE 1
#include "lj_sdk_common.h"
using namespace LAMMPS_NS;
diff --git a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp
index 1d93363e20..c51235518b 100644
--- a/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp
+++ b/src/USER-CGSDK/pair_lj_sdk_coul_long.cpp
@@ -34,6 +34,7 @@
#include "memory.h"
#include "error.h"
+#define LMP_NEED_SDK_FIND_LJ_TYPE 1
#include "lj_sdk_common.h"
using namespace LAMMPS_NS;
diff --git a/src/USER-DIFFRACTION/fix_saed_vtk.cpp b/src/USER-DIFFRACTION/fix_saed_vtk.cpp
index 45bfeca48b..ad9c76ac6b 100644
--- a/src/USER-DIFFRACTION/fix_saed_vtk.cpp
+++ b/src/USER-DIFFRACTION/fix_saed_vtk.cpp
@@ -325,7 +325,7 @@ void FixSAEDVTK::init()
only does something if nvalid = current timestep
------------------------------------------------------------------------- */
-void FixSAEDVTK::setup(int vflag)
+void FixSAEDVTK::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/USER-DPD/fix_dpd_energy.cpp b/src/USER-DPD/fix_dpd_energy.cpp
index d89ea7759a..5759a164f5 100644
--- a/src/USER-DPD/fix_dpd_energy.cpp
+++ b/src/USER-DPD/fix_dpd_energy.cpp
@@ -57,7 +57,7 @@ int FixDPDenergy::setmask()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixDPDenergy::initial_integrate(int vflag)
+void FixDPDenergy::initial_integrate(int /*vflag*/)
{
int nlocal = atom->nlocal;
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
diff --git a/src/USER-DPD/fix_eos_table_rx.cpp b/src/USER-DPD/fix_eos_table_rx.cpp
index 73144c0a0f..181c7dccfa 100644
--- a/src/USER-DPD/fix_eos_table_rx.cpp
+++ b/src/USER-DPD/fix_eos_table_rx.cpp
@@ -178,7 +178,7 @@ int FixEOStableRX::setmask()
/* ---------------------------------------------------------------------- */
-void FixEOStableRX::setup(int vflag)
+void FixEOStableRX::setup(int /*vflag*/)
{
int nlocal = atom->nlocal;
int *mask = atom->mask;
@@ -803,7 +803,7 @@ void FixEOStableRX::temperature_lookup(int id, double ui, double &thetai)
/* ---------------------------------------------------------------------- */
-int FixEOStableRX::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
+int FixEOStableRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
{
int ii,jj,m;
double *uChem = atom->uChem;
diff --git a/src/USER-DPD/fix_rx.cpp b/src/USER-DPD/fix_rx.cpp
index be78989bb5..1a9c43704d 100644
--- a/src/USER-DPD/fix_rx.cpp
+++ b/src/USER-DPD/fix_rx.cpp
@@ -668,7 +668,7 @@ void FixRX::init_list(int, class NeighList* ptr)
/* ---------------------------------------------------------------------- */
-void FixRX::setup_pre_force(int vflag)
+void FixRX::setup_pre_force(int /*vflag*/)
{
int nlocal = atom->nlocal;
int nghost = atom->nghost;
@@ -727,9 +727,9 @@ void FixRX::setup_pre_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixRX::pre_force(int vflag)
+void FixRX::pre_force(int /*vflag*/)
{
- TimerType timer_start = getTimeStamp();
+ //TimerType timer_start = getTimeStamp();
int nlocal = atom->nlocal;
int nghost = atom->nghost;
@@ -808,7 +808,7 @@ void FixRX::pre_force(int vflag)
comm->forward_comm_fix(this);
if(localTempFlag) delete [] dpdThetaLocal;
- TimerType timer_stop = getTimeStamp();
+ //TimerType timer_stop = getTimeStamp();
double time_ODE = getElapsedTime(timer_localTemperature, timer_ODE);
@@ -1191,7 +1191,7 @@ void FixRX::rkf45_step (const int neq, const double h, double y[], double y_out[
return;
}
-int FixRX::rkf45_h0 (const int neq, const double t, const double t_stop,
+int FixRX::rkf45_h0 (const int neq, const double t, const double /*t_stop*/,
const double hmin, const double hmax,
double& h0, double y[], double rwk[], void* v_params)
{
@@ -1668,7 +1668,7 @@ int FixRX::rhs(double t, const double *y, double *dydt, void *params)
/* ---------------------------------------------------------------------- */
-int FixRX::rhs_dense(double t, const double *y, double *dydt, void *params)
+int FixRX::rhs_dense(double /*t*/, const double *y, double *dydt, void *params)
{
UserRHSData *userData = (UserRHSData *) params;
@@ -1702,7 +1702,7 @@ int FixRX::rhs_dense(double t, const double *y, double *dydt, void *params)
/* ---------------------------------------------------------------------- */
-int FixRX::rhs_sparse(double t, const double *y, double *dydt, void *v_params) const
+int FixRX::rhs_sparse(double /*t*/, const double *y, double *dydt, void *v_params) const
{
UserRHSData *userData = (UserRHSData *) v_params;
@@ -1885,7 +1885,7 @@ void FixRX::computeLocalTemperature()
/* ---------------------------------------------------------------------- */
-int FixRX::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
+int FixRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
{
int ii,jj,m;
double tmp;
diff --git a/src/USER-DPD/fix_shardlow.cpp b/src/USER-DPD/fix_shardlow.cpp
index 7fe865c8e6..4e133480ad 100644
--- a/src/USER-DPD/fix_shardlow.cpp
+++ b/src/USER-DPD/fix_shardlow.cpp
@@ -145,14 +145,14 @@ void FixShardlow::init()
/* ---------------------------------------------------------------------- */
-void FixShardlow::init_list(int id, NeighList *ptr)
+void FixShardlow::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
/* ---------------------------------------------------------------------- */
-void FixShardlow::setup(int vflag)
+void FixShardlow::setup(int /*vflag*/)
{
bool fixShardlow = false;
@@ -527,7 +527,7 @@ while (ct-- > 0) {
rand_state[id] = RNGstate;
}
-void FixShardlow::initial_integrate(int vflag)
+void FixShardlow::initial_integrate(int /*vflag*/)
{
int ii;
@@ -646,7 +646,7 @@ fprintf(stdout, "\n%6d %6d,%6d %6d: "
/* ---------------------------------------------------------------------- */
-int FixShardlow::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
+int FixShardlow::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
{
int ii,jj,m;
double **v = atom->v;
diff --git a/src/USER-DPD/pair_dpd_fdt.cpp b/src/USER-DPD/pair_dpd_fdt.cpp
index aeade16e7c..12e6d9f257 100644
--- a/src/USER-DPD/pair_dpd_fdt.cpp
+++ b/src/USER-DPD/pair_dpd_fdt.cpp
@@ -433,8 +433,8 @@ void PairDPDfdt::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairDPDfdt::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_dpd, double &fforce)
+double PairDPDfdt::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_dpd, double &fforce)
{
double r,rinv,wr,wd,phi;
diff --git a/src/USER-DPD/pair_dpd_fdt_energy.cpp b/src/USER-DPD/pair_dpd_fdt_energy.cpp
index 05dc52eac7..42c23e3ad2 100644
--- a/src/USER-DPD/pair_dpd_fdt_energy.cpp
+++ b/src/USER-DPD/pair_dpd_fdt_energy.cpp
@@ -534,8 +534,8 @@ void PairDPDfdtEnergy::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairDPDfdtEnergy::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_dpd, double &fforce)
+double PairDPDfdtEnergy::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_dpd, double &fforce)
{
double r,rinv,wr,wd,phi;
diff --git a/src/USER-DPD/pair_multi_lucy.cpp b/src/USER-DPD/pair_multi_lucy.cpp
index 3d204a849e..f911d8299e 100644
--- a/src/USER-DPD/pair_multi_lucy.cpp
+++ b/src/USER-DPD/pair_multi_lucy.cpp
@@ -781,7 +781,7 @@ void PairMultiLucy::computeLocalDensity()
}
/* ---------------------------------------------------------------------- */
-int PairMultiLucy::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
+int PairMultiLucy::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
double *rho = atom->rho;
diff --git a/src/USER-DPD/pair_multi_lucy_rx.cpp b/src/USER-DPD/pair_multi_lucy_rx.cpp
index 0070ca82d9..13c838fe01 100644
--- a/src/USER-DPD/pair_multi_lucy_rx.cpp
+++ b/src/USER-DPD/pair_multi_lucy_rx.cpp
@@ -1019,7 +1019,7 @@ void PairMultiLucyRX::getMixingWeights(int id, double &mixWtSite1old, double &mi
/* ---------------------------------------------------------------------- */
-int PairMultiLucyRX::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
+int PairMultiLucyRX::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
double *rho = atom->rho;
diff --git a/src/USER-DPD/pair_table_rx.cpp b/src/USER-DPD/pair_table_rx.cpp
index 221944edc5..1e7bc440d1 100644
--- a/src/USER-DPD/pair_table_rx.cpp
+++ b/src/USER-DPD/pair_table_rx.cpp
@@ -439,7 +439,7 @@ void PairTableRX::coeff(int narg, char **arg)
/* ---------------------------------------------------------------------- */
double PairTableRX::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
int itable;
diff --git a/src/USER-DRUDE/fix_drude.cpp b/src/USER-DRUDE/fix_drude.cpp
index 19fd775715..7800efe7ff 100644
--- a/src/USER-DRUDE/fix_drude.cpp
+++ b/src/USER-DRUDE/fix_drude.cpp
@@ -235,7 +235,7 @@ void FixDrude::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixDrude::copy_arrays(int i, int j, int delflag)
+void FixDrude::copy_arrays(int i, int j, int /*delflag*/)
{
drudeid[j] = drudeid[i];
}
diff --git a/src/USER-DRUDE/fix_langevin_drude.cpp b/src/USER-DRUDE/fix_langevin_drude.cpp
index 235c5d224b..b9d1139f83 100644
--- a/src/USER-DRUDE/fix_langevin_drude.cpp
+++ b/src/USER-DRUDE/fix_langevin_drude.cpp
@@ -157,7 +157,7 @@ void FixLangevinDrude::init()
/* ---------------------------------------------------------------------- */
-void FixLangevinDrude::setup(int vflag)
+void FixLangevinDrude::setup(int /*vflag*/)
{
if (!strstr(update->integrate_style,"verlet"))
error->all(FLERR,"RESPA style not compatible with fix langevin/drude");
diff --git a/src/USER-DRUDE/pair_thole.cpp b/src/USER-DRUDE/pair_thole.cpp
index 8c20ee8c42..6901ad1f2d 100644
--- a/src/USER-DRUDE/pair_thole.cpp
+++ b/src/USER-DRUDE/pair_thole.cpp
@@ -363,7 +363,7 @@ void PairThole::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
double PairThole::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+ double rsq, double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r2inv,rinv,r,phicoul;
diff --git a/src/USER-EFF/compute_temp_deform_eff.cpp b/src/USER-EFF/compute_temp_deform_eff.cpp
index d3856e431d..23abb4f99d 100644
--- a/src/USER-EFF/compute_temp_deform_eff.cpp
+++ b/src/USER-EFF/compute_temp_deform_eff.cpp
@@ -290,7 +290,7 @@ void ComputeTempDeformEff::remove_bias_all()
assume remove_bias() was previously called
------------------------------------------------------------------------- */
-void ComputeTempDeformEff::restore_bias(int i, double *v)
+void ComputeTempDeformEff::restore_bias(int /*i*/, double *v)
{
v[0] += vbias[0];
v[1] += vbias[1];
diff --git a/src/USER-EFF/compute_temp_region_eff.cpp b/src/USER-EFF/compute_temp_region_eff.cpp
index 4548914ce1..659bdfca5e 100644
--- a/src/USER-EFF/compute_temp_region_eff.cpp
+++ b/src/USER-EFF/compute_temp_region_eff.cpp
@@ -263,7 +263,7 @@ void ComputeTempRegionEff::remove_bias_all()
assume remove_bias() was previously called
------------------------------------------------------------------------- */
-void ComputeTempRegionEff::restore_bias(int i, double *v)
+void ComputeTempRegionEff::restore_bias(int /*i*/, double *v)
{
v[0] += vbias[0];
v[1] += vbias[1];
diff --git a/src/USER-EFF/fix_langevin_eff.cpp b/src/USER-EFF/fix_langevin_eff.cpp
index 2d0eef8e85..d362113997 100644
--- a/src/USER-EFF/fix_langevin_eff.cpp
+++ b/src/USER-EFF/fix_langevin_eff.cpp
@@ -63,7 +63,7 @@ FixLangevinEff::~FixLangevinEff()
/* ---------------------------------------------------------------------- */
-void FixLangevinEff::post_force(int vflag)
+void FixLangevinEff::post_force(int /*vflag*/)
{
if (tallyflag) post_force_tally();
else post_force_no_tally();
diff --git a/src/USER-EFF/fix_nve_eff.cpp b/src/USER-EFF/fix_nve_eff.cpp
index 584714a44e..699dd9f949 100644
--- a/src/USER-EFF/fix_nve_eff.cpp
+++ b/src/USER-EFF/fix_nve_eff.cpp
@@ -68,7 +68,7 @@ void FixNVEEff::init()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixNVEEff::initial_integrate(int vflag)
+void FixNVEEff::initial_integrate(int /*vflag*/)
{
double dtfm;
@@ -145,7 +145,7 @@ void FixNVEEff::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixNVEEff::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixNVEEff::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
@@ -159,7 +159,7 @@ void FixNVEEff::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixNVEEff::final_integrate_respa(int ilevel, int iloop)
+void FixNVEEff::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
final_integrate();
diff --git a/src/USER-EFF/pair_eff_cut.cpp b/src/USER-EFF/pair_eff_cut.cpp
index 0379c0264b..b4e9011e33 100644
--- a/src/USER-EFF/pair_eff_cut.cpp
+++ b/src/USER-EFF/pair_eff_cut.cpp
@@ -1009,7 +1009,7 @@ void PairEffCut::read_restart_settings(FILE *fp)
these arrays are stored locally by pair style
------------------------------------------------------------------------- */
-void PairEffCut::min_xf_pointers(int ignore, double **xextra, double **fextra)
+void PairEffCut::min_xf_pointers(int /*ignore*/, double **xextra, double **fextra)
{
// grow arrays if necessary
// need to be atom->nmax in length
@@ -1031,7 +1031,7 @@ void PairEffCut::min_xf_pointers(int ignore, double **xextra, double **fextra)
calculate and store in min_eradius and min_erforce
------------------------------------------------------------------------- */
-void PairEffCut::min_xf_get(int ignore)
+void PairEffCut::min_xf_get(int /*ignore*/)
{
double *eradius = atom->eradius;
double *erforce = atom->erforce;
@@ -1050,7 +1050,7 @@ void PairEffCut::min_xf_get(int ignore)
propagate the change back to eradius
------------------------------------------------------------------------- */
-void PairEffCut::min_x_set(int ignore)
+void PairEffCut::min_x_set(int /*ignore*/)
{
double *eradius = atom->eradius;
int *spin = atom->spin;
diff --git a/src/USER-FEP/fix_adapt_fep.cpp b/src/USER-FEP/fix_adapt_fep.cpp
index 3b8c9d4201..7304bc4ef6 100644
--- a/src/USER-FEP/fix_adapt_fep.cpp
+++ b/src/USER-FEP/fix_adapt_fep.cpp
@@ -387,7 +387,7 @@ void FixAdaptFEP::init()
/* ---------------------------------------------------------------------- */
-void FixAdaptFEP::setup_pre_force(int vflag)
+void FixAdaptFEP::setup_pre_force(int /*vflag*/)
{
change_settings();
}
@@ -402,7 +402,7 @@ void FixAdaptFEP::setup_pre_force_respa(int vflag, int ilevel)
/* ---------------------------------------------------------------------- */
-void FixAdaptFEP::pre_force(int vflag)
+void FixAdaptFEP::pre_force(int /*vflag*/)
{
if (nevery == 0) return;
diff --git a/src/USER-FEP/pair_coul_cut_soft.cpp b/src/USER-FEP/pair_coul_cut_soft.cpp
index 5bcb5a7522..529ffe6b09 100644
--- a/src/USER-FEP/pair_coul_cut_soft.cpp
+++ b/src/USER-FEP/pair_coul_cut_soft.cpp
@@ -347,7 +347,7 @@ void PairCoulCutSoft::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
double PairCoulCutSoft::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+ double rsq, double factor_coul, double /*factor_lj*/,
double &fforce)
{
double forcecoul,phicoul;
diff --git a/src/USER-FEP/pair_coul_long_soft.cpp b/src/USER-FEP/pair_coul_long_soft.cpp
index 94bb3659fa..e45dbe72d6 100644
--- a/src/USER-FEP/pair_coul_long_soft.cpp
+++ b/src/USER-FEP/pair_coul_long_soft.cpp
@@ -348,7 +348,7 @@ void PairCoulLongSoft::read_restart_settings(FILE *fp)
double PairCoulLongSoft::single(int i, int j, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r,grij,expm2,t,erfc,prefactor;
diff --git a/src/USER-FEP/pair_lj_cut_soft.cpp b/src/USER-FEP/pair_lj_cut_soft.cpp
index 4aaa5c2925..a33445f6f8 100644
--- a/src/USER-FEP/pair_lj_cut_soft.cpp
+++ b/src/USER-FEP/pair_lj_cut_soft.cpp
@@ -735,8 +735,8 @@ void PairLJCutSoft::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJCutSoft::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairLJCutSoft::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double forcelj,philj;
diff --git a/src/USER-FEP/pair_morse_soft.cpp b/src/USER-FEP/pair_morse_soft.cpp
index 7a897e1870..965d570863 100644
--- a/src/USER-FEP/pair_morse_soft.cpp
+++ b/src/USER-FEP/pair_morse_soft.cpp
@@ -360,8 +360,8 @@ void PairMorseSoft::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairMorseSoft::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairMorseSoft::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r, dr, dexp, dexp2, dexp3, phi;
diff --git a/src/USER-INTEL/angle_charmm_intel.cpp b/src/USER-INTEL/angle_charmm_intel.cpp
index 672b70b6f6..f2542fc0c7 100644
--- a/src/USER-INTEL/angle_charmm_intel.cpp
+++ b/src/USER-INTEL/angle_charmm_intel.cpp
@@ -332,7 +332,7 @@ void AngleCharmmIntel::init_style()
template
void AngleCharmmIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->nangletypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/angle_harmonic_intel.cpp b/src/USER-INTEL/angle_harmonic_intel.cpp
index 74639f3aeb..5777dad947 100644
--- a/src/USER-INTEL/angle_harmonic_intel.cpp
+++ b/src/USER-INTEL/angle_harmonic_intel.cpp
@@ -314,7 +314,7 @@ void AngleHarmonicIntel::init_style()
template
void AngleHarmonicIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->nangletypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/bond_fene_intel.cpp b/src/USER-INTEL/bond_fene_intel.cpp
index 2d70049a89..9d54269c05 100644
--- a/src/USER-INTEL/bond_fene_intel.cpp
+++ b/src/USER-INTEL/bond_fene_intel.cpp
@@ -291,7 +291,7 @@ void BondFENEIntel::init_style()
template
void BondFENEIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->nbondtypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/bond_harmonic_intel.cpp b/src/USER-INTEL/bond_harmonic_intel.cpp
index ed9cab082e..65894efa05 100644
--- a/src/USER-INTEL/bond_harmonic_intel.cpp
+++ b/src/USER-INTEL/bond_harmonic_intel.cpp
@@ -262,7 +262,7 @@ void BondHarmonicIntel::init_style()
template
void BondHarmonicIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->nbondtypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/dihedral_fourier_intel.cpp b/src/USER-INTEL/dihedral_fourier_intel.cpp
index 6ad25f1ce4..6ccc165c61 100644
--- a/src/USER-INTEL/dihedral_fourier_intel.cpp
+++ b/src/USER-INTEL/dihedral_fourier_intel.cpp
@@ -401,7 +401,7 @@ void DihedralFourierIntel::init_style()
template
void DihedralFourierIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->ndihedraltypes + 1;
fc.set_ntypes(bp1, setflag, nterms, memory);
diff --git a/src/USER-INTEL/dihedral_harmonic_intel.cpp b/src/USER-INTEL/dihedral_harmonic_intel.cpp
index b2bf54102c..ae5eb914e7 100644
--- a/src/USER-INTEL/dihedral_harmonic_intel.cpp
+++ b/src/USER-INTEL/dihedral_harmonic_intel.cpp
@@ -396,7 +396,7 @@ void DihedralHarmonicIntel::init_style()
template
void DihedralHarmonicIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->ndihedraltypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/dihedral_opls_intel.cpp b/src/USER-INTEL/dihedral_opls_intel.cpp
index 832ce7ed50..ef95cc75bb 100644
--- a/src/USER-INTEL/dihedral_opls_intel.cpp
+++ b/src/USER-INTEL/dihedral_opls_intel.cpp
@@ -416,7 +416,7 @@ void DihedralOPLSIntel::init_style()
template
void DihedralOPLSIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->ndihedraltypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/fix_intel.cpp b/src/USER-INTEL/fix_intel.cpp
index 7a206f472a..3a67b60632 100644
--- a/src/USER-INTEL/fix_intel.cpp
+++ b/src/USER-INTEL/fix_intel.cpp
@@ -349,7 +349,7 @@ void FixIntel::init()
/* ---------------------------------------------------------------------- */
-void FixIntel::setup(int vflag)
+void FixIntel::setup(int /*vflag*/)
{
if (neighbor->style != Neighbor::BIN)
error->all(FLERR,
@@ -539,7 +539,7 @@ void FixIntel::check_neighbor_intel()
/* ---------------------------------------------------------------------- */
-void FixIntel::pre_reverse(int eflag, int vflag)
+void FixIntel::pre_reverse(int /*eflag*/, int /*vflag*/)
{
if (_force_array_m != 0) {
if (_need_reduce) {
@@ -652,7 +652,7 @@ template
void FixIntel::add_results(const ft * _noalias const f_in,
const acc_t * _noalias const ev_global,
const int eatom, const int vatom,
- const int offload) {
+ const int /*offload*/) {
start_watch(TIME_PACK);
int f_length;
#ifdef _LMP_INTEL_OFFLOAD
@@ -719,16 +719,18 @@ void FixIntel::add_results(const ft * _noalias const f_in,
template
void FixIntel::add_oresults(const ft * _noalias const f_in,
const acc_t * _noalias const ev_global,
- const int eatom, const int vatom,
+ const int eatom, const int /*vatom*/,
const int out_offset, const int nall) {
lmp_ft * _noalias const f = (lmp_ft *) lmp->atom->f[0] + out_offset;
if (atom->torque) {
if (f_in[1].w)
+ {
if (f_in[1].w == 1)
error->all(FLERR,"Bad matrix inversion in mldivide3");
else
error->all(FLERR,
"Sphere particles not yet supported for gayberne/intel");
+ }
}
int packthreads;
diff --git a/src/USER-INTEL/fix_intel.h b/src/USER-INTEL/fix_intel.h
index 79fb23ab3d..e6e09be503 100644
--- a/src/USER-INTEL/fix_intel.h
+++ b/src/USER-INTEL/fix_intel.h
@@ -74,7 +74,7 @@ class FixIntel : public Fix {
inline int nbor_pack_width() const { return _nbor_pack_width; }
inline void nbor_pack_width(const int w) { _nbor_pack_width = w; }
inline int three_body_neighbor() { return _three_body_neighbor; }
- inline void three_body_neighbor(const int i) { _three_body_neighbor = 1; }
+ inline void three_body_neighbor(const int /*i*/) { _three_body_neighbor = 1; }
inline int need_zero(const int tid) {
if (_need_reduce == 0 && tid > 0) return 1;
@@ -159,8 +159,8 @@ class FixIntel : public Fix {
inline int host_start_neighbor() { return 0; }
inline int host_start_pair() { return 0; }
inline void zero_timers() {}
- inline void start_watch(const int which) {}
- inline double stop_watch(const int which) { return 0.0; }
+ inline void start_watch(const int /*which*/) {}
+ inline double stop_watch(const int /*which*/) { return 0.0; }
double * off_watch_pair() { return NULL; }
double * off_watch_neighbor() { return NULL; }
inline void balance_stamp() {}
@@ -238,7 +238,7 @@ class FixIntel : public Fix {
/* ---------------------------------------------------------------------- */
-void FixIntel::get_buffern(const int offload, int &nlocal, int &nall,
+void FixIntel::get_buffern(const int /*offload*/, int &nlocal, int &nall,
int &minlocal) {
#ifdef _LMP_INTEL_OFFLOAD
if (_separate_buffers) {
@@ -273,7 +273,7 @@ void FixIntel::get_buffern(const int offload, int &nlocal, int &nall,
/* ---------------------------------------------------------------------- */
void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in,
- double *ev_in, const int offload,
+ double *ev_in, const int /*offload*/,
const int eatom, const int vatom,
const int rflag) {
#ifdef _LMP_INTEL_OFFLOAD
@@ -301,7 +301,7 @@ void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in,
/* ---------------------------------------------------------------------- */
void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in,
- double *ev_in, const int offload,
+ double *ev_in, const int /*offload*/,
const int eatom, const int vatom,
const int rflag) {
#ifdef _LMP_INTEL_OFFLOAD
@@ -329,7 +329,7 @@ void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in,
/* ---------------------------------------------------------------------- */
void FixIntel::add_result_array(IntelBuffers::vec3_acc_t *f_in,
- float *ev_in, const int offload,
+ float *ev_in, const int /*offload*/,
const int eatom, const int vatom,
const int rflag) {
#ifdef _LMP_INTEL_OFFLOAD
diff --git a/src/USER-INTEL/fix_nh_intel.cpp b/src/USER-INTEL/fix_nh_intel.cpp
index 44253e8bb0..bf4764f104 100644
--- a/src/USER-INTEL/fix_nh_intel.cpp
+++ b/src/USER-INTEL/fix_nh_intel.cpp
@@ -464,7 +464,6 @@ void FixNHIntel::nve_x()
{
double * _noalias const x = atom->x[0];
double * _noalias const v = atom->v[0];
- const double * _noalias const f = atom->f[0];
// x update by full step only for atoms in group
diff --git a/src/USER-INTEL/fix_nve_asphere_intel.cpp b/src/USER-INTEL/fix_nve_asphere_intel.cpp
index 17bbcff771..7eeb8a1635 100644
--- a/src/USER-INTEL/fix_nve_asphere_intel.cpp
+++ b/src/USER-INTEL/fix_nve_asphere_intel.cpp
@@ -79,12 +79,8 @@ void FixNVEAsphereIntel::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixNVEAsphereIntel::initial_integrate(int vflag)
+void FixNVEAsphereIntel::initial_integrate(int /*vflag*/)
{
- double dtfm;
- double inertia[3],omega[3];
- double *shape,*quat;
-
AtomVecEllipsoid::Bonus *bonus = avec->bonus;
int *ellipsoid = atom->ellipsoid;
double * _noalias const x = atom->x[0];
@@ -94,7 +90,6 @@ void FixNVEAsphereIntel::initial_integrate(int vflag)
double **angmom = atom->angmom;
double **torque = atom->torque;
- double *rmass = atom->rmass;
int nlocal = atom->nlocal;
if (igroup == atom->firstgroup) nlocal = atom->nfirst;
@@ -143,8 +138,6 @@ void FixNVEAsphereIntel::final_integrate()
{
if (neighbor->ago == 0) reset_dt();
- double dtfm;
-
double * _noalias const v = atom->v[0];
const double * _noalias const f = atom->f[0];
double * _noalias const angmom = atom->angmom[0];
diff --git a/src/USER-INTEL/fix_nve_intel.cpp b/src/USER-INTEL/fix_nve_intel.cpp
index c0f6da06ae..7dee31d2f4 100644
--- a/src/USER-INTEL/fix_nve_intel.cpp
+++ b/src/USER-INTEL/fix_nve_intel.cpp
@@ -56,7 +56,7 @@ void FixNVEIntel::setup(int vflag)
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixNVEIntel::initial_integrate(int vflag)
+void FixNVEIntel::initial_integrate(int /*vflag*/)
{
// update v and x of atoms in group
diff --git a/src/USER-INTEL/improper_cvff_intel.cpp b/src/USER-INTEL/improper_cvff_intel.cpp
index e0ef2162d1..c20c004657 100644
--- a/src/USER-INTEL/improper_cvff_intel.cpp
+++ b/src/USER-INTEL/improper_cvff_intel.cpp
@@ -428,7 +428,7 @@ void ImproperCvffIntel::init_style()
template
void ImproperCvffIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->nimpropertypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/improper_harmonic_intel.cpp b/src/USER-INTEL/improper_harmonic_intel.cpp
index 60cbe16358..167095150e 100644
--- a/src/USER-INTEL/improper_harmonic_intel.cpp
+++ b/src/USER-INTEL/improper_harmonic_intel.cpp
@@ -384,7 +384,7 @@ void ImproperHarmonicIntel::init_style()
template
void ImproperHarmonicIntel::pack_force_const(ForceConst &fc,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
const int bp1 = atom->nimpropertypes + 1;
fc.set_ntypes(bp1,memory);
diff --git a/src/USER-INTEL/intel_buffers.cpp b/src/USER-INTEL/intel_buffers.cpp
index 0f32cb48b2..05176e1fd1 100644
--- a/src/USER-INTEL/intel_buffers.cpp
+++ b/src/USER-INTEL/intel_buffers.cpp
@@ -109,7 +109,7 @@ void IntelBuffers::free_buffers()
template
void IntelBuffers::_grow(const int nall, const int nlocal,
const int nthreads,
- const int offload_end)
+ const int /*offload_end*/)
{
free_buffers();
_buf_size = static_cast(nall) * 1.1 + 1;
@@ -200,7 +200,7 @@ void IntelBuffers::free_nmax()
/* ---------------------------------------------------------------------- */
template
-void IntelBuffers::_grow_nmax(const int offload_end)
+void IntelBuffers::_grow_nmax(const int /*offload_end*/)
{
#ifdef _LMP_INTEL_OFFLOAD
free_nmax();
@@ -264,7 +264,7 @@ void IntelBuffers::free_list_local()
template
void IntelBuffers::_grow_list_local(NeighList *list,
- const int offload_end)
+ const int /*offload_end*/)
{
free_list_local();
int size = list->get_maxlocal();
@@ -310,10 +310,10 @@ void IntelBuffers::free_nbor_list()
/* ---------------------------------------------------------------------- */
template
-void IntelBuffers::_grow_nbor_list(NeighList *list,
+void IntelBuffers::_grow_nbor_list(NeighList * /*list*/,
const int nlocal,
const int nthreads,
- const int offload_end,
+ const int /*offload_end*/,
const int pack_width)
{
free_nbor_list();
@@ -382,7 +382,7 @@ void IntelBuffers::free_ccache()
/* ---------------------------------------------------------------------- */
template
-void IntelBuffers::grow_ccache(const int off_flag,
+void IntelBuffers::grow_ccache(const int /*off_flag*/,
const int nthreads,
const int width)
{
@@ -481,7 +481,7 @@ void IntelBuffers::free_ncache()
/* ---------------------------------------------------------------------- */
template
-void IntelBuffers::grow_ncache(const int off_flag,
+void IntelBuffers::grow_ncache(const int /*off_flag*/,
const int nthreads)
{
const int nsize = get_max_nbors() * 3;
diff --git a/src/USER-INTEL/intel_buffers.h b/src/USER-INTEL/intel_buffers.h
index 8040715b2e..e8225a4a30 100644
--- a/src/USER-INTEL/intel_buffers.h
+++ b/src/USER-INTEL/intel_buffers.h
@@ -135,24 +135,24 @@ class IntelBuffers {
void set_ntypes(const int ntypes, const int use_ghost_cut = 0);
- inline int * firstneigh(const NeighList *list) { return _list_alloc; }
- inline int * cnumneigh(const NeighList *list) { return _cnumneigh; }
+ inline int * firstneigh(const NeighList * /*list*/) { return _list_alloc; }
+ inline int * cnumneigh(const NeighList * /*list*/) { return _cnumneigh; }
inline int * get_atombin() { return _atombin; }
inline int * get_binpacked() { return _binpacked; }
- inline atom_t * get_x(const int offload = 1) {
+ inline atom_t * get_x(const int /*offload*/ = 1) {
#ifdef _LMP_INTEL_OFFLOAD
if (_separate_buffers && offload == 0) return _host_x;
#endif
return _x;
}
- inline flt_t * get_q(const int offload = 1) {
+ inline flt_t * get_q(const int /*offload*/ = 1) {
#ifdef _LMP_INTEL_OFFLOAD
if (_separate_buffers && offload == 0) return _host_q;
#endif
return _q;
}
- inline quat_t * get_quat(const int offload = 1) {
+ inline quat_t * get_quat(const int /*offload*/ = 1) {
#ifdef _LMP_INTEL_OFFLOAD
if (_separate_buffers && offload == 0) return _host_quat;
#endif
diff --git a/src/USER-INTEL/intel_intrinsics_airebo.h b/src/USER-INTEL/intel_intrinsics_airebo.h
index 4a86d8db29..b20f9c8ad1 100644
--- a/src/USER-INTEL/intel_intrinsics_airebo.h
+++ b/src/USER-INTEL/intel_intrinsics_airebo.h
@@ -2057,8 +2057,8 @@ public:
}
VEC_INLINE static ivec set(
- int i15, int i14, int i13, int i12, int i11, int i10, int i9, int i8,
- int i7, int i6, int i5, int i4, int i3, int i2, int i1, int i0
+ int /*i15*/, int /*i14*/, int /*i13*/, int /*i12*/, int /*i11*/, int /*i10*/, int /*i9*/, int /*i8*/,
+ int /*i7*/, int /*i6*/, int /*i5*/, int /*i4*/, int /*i3*/, int /*i2*/, int /*i1*/, int i0
) {
return i0;
}
@@ -2243,7 +2243,7 @@ public:
FVEC_BINOP(*, mul)
FVEC_BINOP(/, div)
- VEC_INLINE static void gather_prefetch0(const ivec &idx, const void * mem) {}
+ VEC_INLINE static void gather_prefetch0(const ivec & /*idx*/, const void * /*mem*/) {}
};
class avec {
diff --git a/src/USER-INTEL/nbin_intel.cpp b/src/USER-INTEL/nbin_intel.cpp
index e071b141fe..789fa35b42 100644
--- a/src/USER-INTEL/nbin_intel.cpp
+++ b/src/USER-INTEL/nbin_intel.cpp
@@ -192,15 +192,10 @@ void NBinIntel::bin_atoms(IntelBuffers * buffers) {
// ---------- Bin Atoms -------------
_fix->start_watch(TIME_HOST_NEIGHBOR);
- const ATOM_T * _noalias const x = buffers->get_x();
+ //const ATOM_T * _noalias const x = buffers->get_x();
int * _noalias const atombin = this->_atombin;
int * _noalias const binpacked = this->_binpacked;
-
- const double sboxlo0 = bboxlo[0] + mbinxlo/bininvx;
- const double sboxlo1 = bboxlo[1] + mbinylo/bininvy;
- const double sboxlo2 = bboxlo[2] + mbinzlo/bininvz;
-
int i, ibin;
for (i = 0; i < mbins; i++) binhead[i] = -1;
diff --git a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp
index ae961e84b5..74a04f0e7d 100644
--- a/src/USER-INTEL/npair_full_bin_ghost_intel.cpp
+++ b/src/USER-INTEL/npair_full_bin_ghost_intel.cpp
@@ -106,7 +106,7 @@ void NPairFullBinGhostIntel::fbi(NeighList * list,
/* ---------------------------------------------------------------------- */
template
-void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list,
+void NPairFullBinGhostIntel::fbi(const int /*offload*/, NeighList * list,
IntelBuffers * buffers,
const int pstart, const int pend) {
if (pend-pstart == 0) return;
@@ -115,7 +115,6 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list,
int nall_t = nall;
const int aend = nall;
- const int pack_width = _fix->nbor_pack_width();
const ATOM_T * _noalias const x = buffers->get_x();
int * _noalias const firstneigh = buffers->firstneigh(list);
const int e_nall = nall_t;
@@ -155,9 +154,6 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list,
tagint * const molecule = atom->molecule;
#endif
- int *molindex = atom->molindex;
- int *molatom = atom->molatom;
- Molecule **onemols = atom->avec->onemols;
int moltemplate;
if (molecular == 2) moltemplate = 1;
else moltemplate = 0;
@@ -167,8 +163,8 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list,
int tnum;
int *overflow;
- double *timer_compute;
#ifdef _LMP_INTEL_OFFLOAD
+ double *timer_compute;
if (offload) {
timer_compute = _fix->off_watch_neighbor();
tnum = buffers->get_off_threads();
@@ -311,7 +307,7 @@ void NPairFullBinGhostIntel::fbi(const int offload, NeighList * list,
int * _noalias const ttag = ncachetag + toffs;
// loop over all atoms in other bins in stencil, store every pair
- int istart, icount, ncount, oldbin = -9999999, lane, max_chunk;
+ int ncount, oldbin = -9999999;
for (int i = ifrom; i < ito; i++) {
const flt_t xtmp = x[i].x;
const flt_t ytmp = x[i].y;
diff --git a/src/USER-INTEL/npair_intel.cpp b/src/USER-INTEL/npair_intel.cpp
index 355c8db199..6d4529752a 100644
--- a/src/USER-INTEL/npair_intel.cpp
+++ b/src/USER-INTEL/npair_intel.cpp
@@ -54,10 +54,10 @@ NPairIntel::~NPairIntel() {
template
-void NPairIntel::bin_newton(const int offload, NeighList *list,
+void NPairIntel::bin_newton(const int /*offload*/, NeighList *list,
IntelBuffers *buffers,
const int astart, const int aend,
- const int offload_end) {
+ const int /*offload_end*/) {
if (aend-astart == 0) return;
@@ -109,8 +109,8 @@ void NPairIntel::bin_newton(const int offload, NeighList *list,
int tnum;
int *overflow;
- double *timer_compute;
#ifdef _LMP_INTEL_OFFLOAD
+ double *timer_compute;
if (offload) {
timer_compute = _fix->off_watch_neighbor();
tnum = buffers->get_off_threads();
@@ -265,8 +265,9 @@ void NPairIntel::bin_newton(const int offload, NeighList *list,
int * _noalias itjtype;
// loop over all atoms in other bins in stencil, store every pair
- int istart, icount, ncount, oldbin = -9999999, lane, max_chunk;
+ int istart, icount, ncount, oldbin = -9999999;
#ifdef LMP_INTEL_3BODY_FAST
+ int lane, max_chunk;
if (THREE) {
lane = 0;
max_chunk = 0;
@@ -579,7 +580,6 @@ void NPairIntel::bin_newton(const int offload, NeighList *list,
int ns;
if (THREE) {
- int alln = n;
ns = n - pack_offset;
atombin[i] = ns;
ns += n2 - pack_offset - maxnbors;
diff --git a/src/USER-INTEL/pair_airebo_intel.cpp b/src/USER-INTEL/pair_airebo_intel.cpp
index 07f33f7ebe..601144a3c0 100644
--- a/src/USER-INTEL/pair_airebo_intel.cpp
+++ b/src/USER-INTEL/pair_airebo_intel.cpp
@@ -2200,7 +2200,7 @@ typedef typename intr_types::bvec bvec;
VEC_INLINE inline
static void aut_loadatoms_vec(
AtomAIREBOT * atoms, ivec j_vec,
- fvec *x, fvec * y, fvec * z, bvec * type_mask, int * map, ivec map_i,
+ fvec *x, fvec * y, fvec * z, bvec * type_mask, int * /*map*/, ivec map_i,
ivec c_1
) {
const ivec c_4 = ivec::set1(4);
@@ -2413,7 +2413,7 @@ static fvec aut_eval_poly_lin_pd_2(int n, flt_t * vals, ivec idx, fvec x,
}
static fvec aut_mask_gSpline_pd_2(KernelArgsAIREBOT * ka,
- bvec active_mask, int itype, fvec cosjik,
+ bvec /*active_mask*/, int itype, fvec cosjik,
fvec Nij, fvec *dgdc, fvec *dgdN) {
int i;
flt_t * gDom = NULL;
@@ -2835,7 +2835,7 @@ static void aut_frebo_data_writeback(
static void aut_frebo_N_spline_force(
KernelArgsAIREBOT * _noalias ka,
struct aut_frebo_data * _noalias data, int itype, int jtype, ivec vi,
- ivec vj, fvec VA, fvec dN, fvec dNconj, fvec Nconj) {
+ ivec /*vj*/, fvec VA, fvec dN, fvec dNconj, fvec Nconj) {
ivec c_i1 = ivec::set1(1);
fvec c_2 = fvec::set1(2);
fvec c_TOL = fvec::set1(TOL);
@@ -2999,8 +2999,8 @@ static fvec aut_frebo_sum_omega(
KernelArgsAIREBOT * _noalias ka,
struct aut_frebo_data * _noalias i_data,
struct aut_frebo_data * _noalias j_data,
- int itype, int jtype,
- ivec vi, ivec vj,
+ int /*itype*/, int /*jtype*/,
+ ivec /*vi*/, ivec /*vj*/,
fvec r23x, fvec r23y, fvec r23z, fvec r23mag,
fvec VA, fvec fij[3]
) {
@@ -3284,7 +3284,7 @@ static void aut_torsion_vec(
KernelArgsAIREBOT * ka,
struct aut_frebo_data * i_data,
struct aut_frebo_data * j_data,
- ivec i, ivec j, fvec wij, fvec dwij
+ ivec /*i*/, ivec /*j*/, fvec wij, fvec dwij
) {
AtomAIREBOT * x = ka->x;
int * map = ka->map;
@@ -4134,7 +4134,7 @@ exceed_limits:
/*
* Attempt to look up an element in the hash-map.
*/
-static fvec aut_airebo_lj_tap_test_path(KernelArgsAIREBOT * ka,
+static fvec aut_airebo_lj_tap_test_path(KernelArgsAIREBOT * /*ka*/,
struct aut_airebo_lj_test_path_result_data * test_path_result,
bvec need_search, ivec i_bc, ivec j,
LennardJonesPathAIREBOT path[fvec::VL]
diff --git a/src/USER-INTEL/pair_eam_intel.cpp b/src/USER-INTEL/pair_eam_intel.cpp
index 201277e68d..ce9ede69d6 100644
--- a/src/USER-INTEL/pair_eam_intel.cpp
+++ b/src/USER-INTEL/pair_eam_intel.cpp
@@ -784,7 +784,7 @@ void PairEAMIntel::ForceConst::set_ntypes(const int ntypes,
/* ---------------------------------------------------------------------- */
int PairEAMIntel::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
if (fix->precision() == FixIntel::PREC_MODE_DOUBLE)
return pack_forward_comm(n, list, buf, fp);
diff --git a/src/USER-INTEL/pair_rebo_intel.cpp b/src/USER-INTEL/pair_rebo_intel.cpp
index bc7197000b..3decc0154b 100644
--- a/src/USER-INTEL/pair_rebo_intel.cpp
+++ b/src/USER-INTEL/pair_rebo_intel.cpp
@@ -28,7 +28,7 @@ PairREBOIntel::PairREBOIntel(LAMMPS *lmp) : PairAIREBOIntel(lmp) {}
global settings
------------------------------------------------------------------------- */
-void PairREBOIntel::settings(int narg, char **arg)
+void PairREBOIntel::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
diff --git a/src/USER-INTEL/pair_sw_intel.cpp b/src/USER-INTEL/pair_sw_intel.cpp
index d1d52270be..aff8ba88a7 100644
--- a/src/USER-INTEL/pair_sw_intel.cpp
+++ b/src/USER-INTEL/pair_sw_intel.cpp
@@ -173,7 +173,7 @@ template
void PairSWIntel::eval(const int offload, const int vflag,
IntelBuffers *buffers,
const ForceConst &fc, const int astart,
- const int aend, const int pad_width)
+ const int aend, const int /*pad_width*/)
{
const int inum = aend - astart;
if (inum == 0) return;
diff --git a/src/USER-INTEL/pppm_disp_intel.cpp b/src/USER-INTEL/pppm_disp_intel.cpp
index 0a41e5d8a5..3b05658278 100644
--- a/src/USER-INTEL/pppm_disp_intel.cpp
+++ b/src/USER-INTEL/pppm_disp_intel.cpp
@@ -723,7 +723,7 @@ void PPPMDispIntel::particle_map(double delx, double dely, double delz,
double sft, int** p2g, int nup, int nlow,
int nxlo, int nylo, int nzlo,
int nxhi, int nyhi, int nzhi,
- IntelBuffers *buffers)
+ IntelBuffers * /*buffers*/)
{
int nlocal = atom->nlocal;
int nthr = comm->nthreads;
@@ -790,7 +790,7 @@ void PPPMDispIntel::particle_map(double delx, double dely, double delz,
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::make_rho_c(IntelBuffers *buffers)
+void PPPMDispIntel::make_rho_c(IntelBuffers * /*buffers*/)
{
// clear 3d density array
@@ -940,7 +940,7 @@ void PPPMDispIntel::make_rho_c(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::make_rho_g(IntelBuffers *buffers)
+void PPPMDispIntel::make_rho_g(IntelBuffers * /*buffers*/)
{
// clear 3d density array
@@ -1091,7 +1091,7 @@ void PPPMDispIntel::make_rho_g(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::make_rho_a(IntelBuffers *buffers)
+void PPPMDispIntel::make_rho_a(IntelBuffers * /*buffers*/)
{
// clear 3d density array
@@ -1225,7 +1225,7 @@ void PPPMDispIntel::make_rho_a(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::make_rho_none(IntelBuffers *buffers)
+void PPPMDispIntel::make_rho_none(IntelBuffers * /*buffers*/)
{
FFT_SCALAR * _noalias global_density = &(density_brick_none[0][nzlo_out_6][nylo_out_6][nxlo_out_6]);
@@ -1373,7 +1373,7 @@ void PPPMDispIntel::make_rho_none(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_c_ik(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_c_ik(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
@@ -1520,7 +1520,7 @@ void PPPMDispIntel::fieldforce_c_ik(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_c_ad(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_c_ad(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
@@ -1725,7 +1725,7 @@ void PPPMDispIntel::fieldforce_c_ad(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_g_ik(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_g_ik(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
@@ -1869,7 +1869,7 @@ void PPPMDispIntel::fieldforce_g_ik(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_g_ad(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_g_ad(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
@@ -2069,7 +2069,7 @@ void PPPMDispIntel::fieldforce_g_ad(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_a_ik(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_a_ik(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
@@ -2282,7 +2282,7 @@ void PPPMDispIntel::fieldforce_a_ik(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_a_ad(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_a_ad(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
@@ -2594,7 +2594,7 @@ void PPPMDispIntel::fieldforce_a_ad(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_none_ik(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_none_ik(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
@@ -2755,7 +2755,7 @@ void PPPMDispIntel::fieldforce_none_ik(IntelBuffers *buffers)
------------------------------------------------------------------------- */
template
-void PPPMDispIntel::fieldforce_none_ad(IntelBuffers *buffers)
+void PPPMDispIntel::fieldforce_none_ad(IntelBuffers * /*buffers*/)
{
// loop over my charges, interpolate electric field from nearby grid points
// (nx,ny,nz) = global coords of grid pt to "lower left" of charge
diff --git a/src/USER-INTEL/pppm_intel.cpp b/src/USER-INTEL/pppm_intel.cpp
index 46a55e558a..e5540e6377 100644
--- a/src/USER-INTEL/pppm_intel.cpp
+++ b/src/USER-INTEL/pppm_intel.cpp
@@ -255,7 +255,7 @@ void PPPMIntel::compute_first(int eflag, int vflag)
/* ---------------------------------------------------------------------- */
-void PPPMIntel::compute_second(int eflag, int vflag)
+void PPPMIntel::compute_second(int /*eflag*/, int /*vflag*/)
{
int i,j;
diff --git a/src/USER-LB/fix_lb_fluid.cpp b/src/USER-LB/fix_lb_fluid.cpp
index 7a0bd0572e..fecd6f2b25 100644
--- a/src/USER-LB/fix_lb_fluid.cpp
+++ b/src/USER-LB/fix_lb_fluid.cpp
@@ -646,7 +646,7 @@ void FixLbFluid::init(void)
}
-void FixLbFluid::setup(int vflag)
+void FixLbFluid::setup(int /*vflag*/)
{
//--------------------------------------------------------------------------
// Need to calculate the force on the fluid for a restart run.
@@ -655,7 +655,7 @@ void FixLbFluid::setup(int vflag)
calc_fluidforce();
}
-void FixLbFluid::initial_integrate(int vflag)
+void FixLbFluid::initial_integrate(int /*vflag*/)
{
//--------------------------------------------------------------------------
// Print a header labelling any output printed to the screen.
@@ -711,7 +711,7 @@ void FixLbFluid::initial_integrate(int vflag)
streamout();
}
-void FixLbFluid::post_force(int vflag)
+void FixLbFluid::post_force(int /*vflag*/)
{
if(fixviscouslb==1)
calc_fluidforce();
@@ -741,7 +741,7 @@ void FixLbFluid::grow_arrays(int nmax)
//==========================================================================
// copy values within local atom-based array
//==========================================================================
-void FixLbFluid::copy_arrays(int i, int j, int delflag)
+void FixLbFluid::copy_arrays(int i, int j, int /*delflag*/)
{
hydroF[j][0] = hydroF[i][0];
hydroF[j][1] = hydroF[i][1];
diff --git a/src/USER-LB/fix_lb_pc.cpp b/src/USER-LB/fix_lb_pc.cpp
index 9fd0dab51d..c5c12d6c11 100644
--- a/src/USER-LB/fix_lb_pc.cpp
+++ b/src/USER-LB/fix_lb_pc.cpp
@@ -118,7 +118,7 @@ void FixLbPC::init()
}
/* ---------------------------------------------------------------------- */
-void FixLbPC::initial_integrate(int vflag) {
+void FixLbPC::initial_integrate(int /*vflag*/) {
double dtfm;
@@ -285,7 +285,7 @@ void FixLbPC::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixLbPC::copy_arrays(int i, int j, int delflag)
+void FixLbPC::copy_arrays(int i, int j, int /*delflag*/)
{
force_old[j][0] = force_old[i][0];
diff --git a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp
index dddd060fa4..2601539727 100644
--- a/src/USER-LB/fix_lb_rigid_pc_sphere.cpp
+++ b/src/USER-LB/fix_lb_rigid_pc_sphere.cpp
@@ -1454,7 +1454,7 @@ void FixLbRigidPCSphere::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixLbRigidPCSphere::copy_arrays(int i, int j, int delflag)
+void FixLbRigidPCSphere::copy_arrays(int i, int j, int /*delflag*/)
{
body[j] = body[i];
up[j][0] = up[i][0];
diff --git a/src/USER-LB/fix_lb_viscous.cpp b/src/USER-LB/fix_lb_viscous.cpp
index 8ee4d8419e..afe23477be 100644
--- a/src/USER-LB/fix_lb_viscous.cpp
+++ b/src/USER-LB/fix_lb_viscous.cpp
@@ -109,7 +109,7 @@ void FixLbViscous::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixLbViscous::post_force(int vflag)
+void FixLbViscous::post_force(int /*vflag*/)
{
// apply drag force to atoms in group
// direction is opposed to velocity vector
@@ -132,7 +132,7 @@ void FixLbViscous::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixLbViscous::post_force_respa(int vflag, int ilevel, int iloop)
+void FixLbViscous::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
diff --git a/src/USER-MANIFOLD/fix_manifoldforce.cpp b/src/USER-MANIFOLD/fix_manifoldforce.cpp
index 04172d5c92..4e717ce556 100644
--- a/src/USER-MANIFOLD/fix_manifoldforce.cpp
+++ b/src/USER-MANIFOLD/fix_manifoldforce.cpp
@@ -149,7 +149,7 @@ void FixManifoldForce::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixManifoldForce::post_force(int vflag)
+void FixManifoldForce::post_force(int /*vflag*/)
{
double **x = atom->x;
double **f = atom->f;
@@ -177,7 +177,7 @@ void FixManifoldForce::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixManifoldForce::post_force_respa(int vflag, int ilevel, int iloop)
+void FixManifoldForce::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/)
{
post_force(vflag);
}
diff --git a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp
index 4dcc3f9704..3c6c70f6df 100644
--- a/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp
+++ b/src/USER-MANIFOLD/fix_nve_manifold_rattle.cpp
@@ -307,7 +307,7 @@ void FixNVEManifoldRattle::update_var_params()
/* -----------------------------------------------------------------------------
---------------------------------------------------------------------------*/
-int FixNVEManifoldRattle::dof(int igroup)
+int FixNVEManifoldRattle::dof(int /*igroup*/)
{
int *mask = atom->mask;
int nlocal = atom->nlocal;
@@ -348,7 +348,7 @@ double FixNVEManifoldRattle::memory_usage()
/* -----------------------------------------------------------------------------
---------------------------------------------------------------------------*/
-void FixNVEManifoldRattle::initial_integrate(int vflag)
+void FixNVEManifoldRattle::initial_integrate(int /*vflag*/)
{
update_var_params();
nve_x_rattle(igroup, groupbit);
diff --git a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp
index 973a5bcf43..2a204d2048 100644
--- a/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp
+++ b/src/USER-MANIFOLD/fix_nvt_manifold_rattle.cpp
@@ -229,7 +229,7 @@ void FixNVTManifoldRattle::init()
-void FixNVTManifoldRattle::setup(int vflag)
+void FixNVTManifoldRattle::setup(int /*vflag*/)
{
compute_temp_target();
@@ -371,7 +371,7 @@ void FixNVTManifoldRattle::nh_v_temp()
// Most of this logic is based on fix_nh:
-void FixNVTManifoldRattle::initial_integrate(int vflag)
+void FixNVTManifoldRattle::initial_integrate(int /*vflag*/)
{
update_var_params();
diff --git a/src/USER-MANIFOLD/manifold.h b/src/USER-MANIFOLD/manifold.h
index 6eb09010ef..b0727c346d 100644
--- a/src/USER-MANIFOLD/manifold.h
+++ b/src/USER-MANIFOLD/manifold.h
@@ -61,7 +61,7 @@ namespace user_manifold {
virtual const char *id() = 0;
- virtual void set_atom_id( tagint a_id ){}
+ virtual void set_atom_id( tagint /*a_id*/ ){}
virtual int nparams() = 0;
// double *get_params(){ return params; };
diff --git a/src/USER-MANIFOLD/manifold_cylinder.cpp b/src/USER-MANIFOLD/manifold_cylinder.cpp
index c13581c640..28062d7a27 100644
--- a/src/USER-MANIFOLD/manifold_cylinder.cpp
+++ b/src/USER-MANIFOLD/manifold_cylinder.cpp
@@ -5,8 +5,8 @@ using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_cylinder::manifold_cylinder( LAMMPS *lmp, int argc,
- char **argv ) : manifold(lmp)
+manifold_cylinder::manifold_cylinder( LAMMPS *lmp, int /*argc*/,
+ char **/*argv*/ ) : manifold(lmp)
{}
diff --git a/src/USER-MANIFOLD/manifold_cylinder_dent.cpp b/src/USER-MANIFOLD/manifold_cylinder_dent.cpp
index 21d4087d7c..4df4c833d3 100644
--- a/src/USER-MANIFOLD/manifold_cylinder_dent.cpp
+++ b/src/USER-MANIFOLD/manifold_cylinder_dent.cpp
@@ -8,8 +8,8 @@ using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_cylinder_dent::manifold_cylinder_dent( LAMMPS *lmp, int argc,
- char **argv ) : manifold(lmp)
+manifold_cylinder_dent::manifold_cylinder_dent( LAMMPS *lmp, int /*argc*/,
+ char **/*argv*/ ) : manifold(lmp)
{}
diff --git a/src/USER-MANIFOLD/manifold_dumbbell.cpp b/src/USER-MANIFOLD/manifold_dumbbell.cpp
index fa7edc6e4a..c40a5fff9f 100644
--- a/src/USER-MANIFOLD/manifold_dumbbell.cpp
+++ b/src/USER-MANIFOLD/manifold_dumbbell.cpp
@@ -6,7 +6,7 @@ using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_dumbbell::manifold_dumbbell( LAMMPS *lmp, int argc, char **argv ) : manifold(lmp)
+manifold_dumbbell::manifold_dumbbell( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) : manifold(lmp)
{}
diff --git a/src/USER-MANIFOLD/manifold_ellipsoid.cpp b/src/USER-MANIFOLD/manifold_ellipsoid.cpp
index f590123dc3..d5e7bb146e 100644
--- a/src/USER-MANIFOLD/manifold_ellipsoid.cpp
+++ b/src/USER-MANIFOLD/manifold_ellipsoid.cpp
@@ -4,7 +4,7 @@ using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_ellipsoid::manifold_ellipsoid( LAMMPS *lmp, int narg, char **argv ) : manifold(lmp)
+manifold_ellipsoid::manifold_ellipsoid( LAMMPS *lmp, int /*narg*/, char **/*argv*/ ) : manifold(lmp)
{}
diff --git a/src/USER-MANIFOLD/manifold_gaussian_bump.cpp b/src/USER-MANIFOLD/manifold_gaussian_bump.cpp
index a9ee35bbfc..b95162740b 100644
--- a/src/USER-MANIFOLD/manifold_gaussian_bump.cpp
+++ b/src/USER-MANIFOLD/manifold_gaussian_bump.cpp
@@ -25,7 +25,6 @@ public:
cubic_hermite( double x0, double x1, double y0, double y1,
double yp0, double yp1, LAMMPS_NS::Error *err ) :
- x0(x0), x1(x1), y0(y0), y1(y1), yp0(yp0), yp1(yp1),
a( 2*x0 + 2 - 2*x1 ),
b( -3*x0 - 3 + 3*x1 ),
c( 1.0 ),
@@ -34,6 +33,7 @@ public:
u( -3*y0 + 3*y1 - 2*yp0 - yp1 ),
v( yp0 ),
w( y0 ),
+ x0(x0), x1(x1), y0(y0), y1(y1), yp0(yp0), yp1(yp1),
err(err)
{
test();
@@ -133,7 +133,7 @@ public:
// Manifold itself:
manifold_gaussian_bump::manifold_gaussian_bump(class LAMMPS* lmp,
- int narg, char **arg)
+ int /*narg*/, char **/*arg*/)
: manifold(lmp), lut_z(NULL), lut_zp(NULL) {}
diff --git a/src/USER-MANIFOLD/manifold_plane.cpp b/src/USER-MANIFOLD/manifold_plane.cpp
index d33617fbfb..6c3f17393a 100644
--- a/src/USER-MANIFOLD/manifold_plane.cpp
+++ b/src/USER-MANIFOLD/manifold_plane.cpp
@@ -4,7 +4,7 @@ using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_plane::manifold_plane( LAMMPS *lmp, int argc, char **argv ) :
+manifold_plane::manifold_plane( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) :
manifold(lmp)
{}
@@ -16,7 +16,7 @@ double manifold_plane::g( const double *x )
}
-void manifold_plane::n( const double *x, double *n )
+void manifold_plane::n( const double * /*x*/, double *n )
{
n[0] = params[0];
n[1] = params[1];
diff --git a/src/USER-MANIFOLD/manifold_plane_wiggle.cpp b/src/USER-MANIFOLD/manifold_plane_wiggle.cpp
index ccf0a794da..983702b6f3 100644
--- a/src/USER-MANIFOLD/manifold_plane_wiggle.cpp
+++ b/src/USER-MANIFOLD/manifold_plane_wiggle.cpp
@@ -5,7 +5,7 @@
using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_plane_wiggle::manifold_plane_wiggle( LAMMPS *lmp, int argc, char **argv ) :
+manifold_plane_wiggle::manifold_plane_wiggle( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) :
manifold(lmp)
{}
diff --git a/src/USER-MANIFOLD/manifold_sphere.h b/src/USER-MANIFOLD/manifold_sphere.h
index 5d4ae55fda..d9cd46c9c3 100644
--- a/src/USER-MANIFOLD/manifold_sphere.h
+++ b/src/USER-MANIFOLD/manifold_sphere.h
@@ -40,7 +40,7 @@ namespace user_manifold {
nn[2] = 2*x[2];
}
- virtual void H( double *x, double h[3][3] )
+ virtual void H( double * /*x*/, double h[3][3] )
{
h[0][1] = h[0][2] = h[1][0] = h[1][2] = h[2][0] = h[2][1] = 0.0;
h[0][0] = h[1][1] = h[2][2] = 2.0;
diff --git a/src/USER-MANIFOLD/manifold_spine.cpp b/src/USER-MANIFOLD/manifold_spine.cpp
index 308190c528..0ca4c67002 100644
--- a/src/USER-MANIFOLD/manifold_spine.cpp
+++ b/src/USER-MANIFOLD/manifold_spine.cpp
@@ -8,7 +8,7 @@ using namespace user_manifold;
-manifold_spine::manifold_spine( LAMMPS *lmp, int argc, char **argv )
+manifold_spine::manifold_spine( LAMMPS *lmp, int /*argc*/, char **/*argv*/ )
: manifold(lmp)
{
power = 4;
diff --git a/src/USER-MANIFOLD/manifold_thylakoid.cpp b/src/USER-MANIFOLD/manifold_thylakoid.cpp
index b7eb155ba2..93cf60ad03 100644
--- a/src/USER-MANIFOLD/manifold_thylakoid.cpp
+++ b/src/USER-MANIFOLD/manifold_thylakoid.cpp
@@ -12,7 +12,7 @@ using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_thylakoid::manifold_thylakoid( LAMMPS *lmp, int narg, char ** arg)
+manifold_thylakoid::manifold_thylakoid( LAMMPS *lmp, int /*narg*/, char ** /*arg*/)
: manifold(lmp)
{
// You can NOT depend on proper construction of the domains in
@@ -117,7 +117,7 @@ void manifold_thylakoid::n( const double *x, double *n )
}
}
-thyla_part *manifold_thylakoid::get_thyla_part( const double *x, int *err_flag, std::size_t *idx )
+thyla_part *manifold_thylakoid::get_thyla_part( const double *x, int * /*err_flag*/, std::size_t *idx )
{
for( std::size_t i = 0; i < parts.size(); ++i ){
diff --git a/src/USER-MANIFOLD/manifold_torus.cpp b/src/USER-MANIFOLD/manifold_torus.cpp
index 44a17725b5..0b4ca24370 100644
--- a/src/USER-MANIFOLD/manifold_torus.cpp
+++ b/src/USER-MANIFOLD/manifold_torus.cpp
@@ -6,7 +6,7 @@ using namespace LAMMPS_NS;
using namespace user_manifold;
-manifold_torus::manifold_torus( LAMMPS *lmp, int argc, char **argv ) : manifold(lmp)
+manifold_torus::manifold_torus( LAMMPS *lmp, int /*argc*/, char **/*argv*/ ) : manifold(lmp)
{}
diff --git a/src/USER-MEAMC/meam_dens_final.cpp b/src/USER-MEAMC/meam_dens_final.cpp
index de188e497d..2be215c282 100644
--- a/src/USER-MEAMC/meam_dens_final.cpp
+++ b/src/USER-MEAMC/meam_dens_final.cpp
@@ -5,7 +5,7 @@ using namespace LAMMPS_NS;
void
MEAM::meam_dens_final(int nlocal, int eflag_either, int eflag_global, int eflag_atom, double* eng_vdwl,
- double* eatom, int ntype, int* type, int* fmap, int& errorflag)
+ double* eatom, int /*ntype*/, int* type, int* fmap, int& errorflag)
{
int i, elti;
int m;
diff --git a/src/USER-MEAMC/meam_dens_init.cpp b/src/USER-MEAMC/meam_dens_init.cpp
index e1a7509ab3..4bbaa42596 100644
--- a/src/USER-MEAMC/meam_dens_init.cpp
+++ b/src/USER-MEAMC/meam_dens_init.cpp
@@ -93,7 +93,7 @@ MEAM::meam_dens_init(int i, int ntype, int* type, int* fmap, double** x,
void
MEAM::getscreen(int i, double* scrfcn, double* dscrfcn, double* fcpair, double** x, int numneigh,
- int* firstneigh, int numneigh_full, int* firstneigh_full, int ntype, int* type, int* fmap)
+ int* firstneigh, int numneigh_full, int* firstneigh_full, int /*ntype*/, int* type, int* fmap)
{
int jn, j, kn, k;
int elti, eltj, eltk;
@@ -256,7 +256,7 @@ MEAM::getscreen(int i, double* scrfcn, double* dscrfcn, double* fcpair, double**
// ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
void
-MEAM::calc_rho1(int i, int ntype, int* type, int* fmap, double** x, int numneigh, int* firstneigh,
+MEAM::calc_rho1(int i, int /*ntype*/, int* type, int* fmap, double** x, int numneigh, int* firstneigh,
double* scrfcn, double* fcpair)
{
int jn, j, m, n, p, elti, eltj;
diff --git a/src/USER-MEAMC/meam_force.cpp b/src/USER-MEAMC/meam_force.cpp
index 85314dd8a2..06fbb57adb 100644
--- a/src/USER-MEAMC/meam_force.cpp
+++ b/src/USER-MEAMC/meam_force.cpp
@@ -7,7 +7,7 @@ using namespace LAMMPS_NS;
void
MEAM::meam_force(int i, int eflag_either, int eflag_global, int eflag_atom, int vflag_atom, double* eng_vdwl,
- double* eatom, int ntype, int* type, int* fmap, double** x, int numneigh, int* firstneigh,
+ double* eatom, int /*ntype*/, int* type, int* fmap, double** x, int numneigh, int* firstneigh,
int numneigh_full, int* firstneigh_full, int fnoffset, double** f, double** vatom)
{
int j, jn, k, kn, kk, m, n, p, q;
diff --git a/src/USER-MEAMC/meam_setup_global.cpp b/src/USER-MEAMC/meam_setup_global.cpp
index 7f8ad3d81f..503ee65496 100644
--- a/src/USER-MEAMC/meam_setup_global.cpp
+++ b/src/USER-MEAMC/meam_setup_global.cpp
@@ -3,7 +3,7 @@
using namespace LAMMPS_NS;
void
-MEAM::meam_setup_global(int nelt, lattice_t* lat, double* z, int* ielement, double* atwt, double* alpha,
+MEAM::meam_setup_global(int nelt, lattice_t* lat, double* z, int* ielement, double* /*atwt*/, double* alpha,
double* b0, double* b1, double* b2, double* b3, double* alat, double* esub,
double* asub, double* t0, double* t1, double* t2, double* t3, double* rozero,
int* ibar)
diff --git a/src/USER-MEAMC/pair_meamc.cpp b/src/USER-MEAMC/pair_meamc.cpp
index 027e4c27a7..eca1040c9c 100644
--- a/src/USER-MEAMC/pair_meamc.cpp
+++ b/src/USER-MEAMC/pair_meamc.cpp
@@ -195,7 +195,7 @@ void PairMEAMC::allocate()
global settings
------------------------------------------------------------------------- */
-void PairMEAMC::settings(int narg, char **arg)
+void PairMEAMC::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -312,7 +312,7 @@ void PairMEAMC::init_list(int id, NeighList *ptr)
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairMEAMC::init_one(int i, int j)
+double PairMEAMC::init_one(int /*i*/, int /*j*/)
{
return cutmax;
}
@@ -598,7 +598,7 @@ void PairMEAMC::read_files(char *globalfile, char *userfile)
/* ---------------------------------------------------------------------- */
int PairMEAMC::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,k,m;
diff --git a/src/USER-MESO/fix_edpd_source.cpp b/src/USER-MESO/fix_edpd_source.cpp
index 8b03e05181..24bef2b1f7 100644
--- a/src/USER-MESO/fix_edpd_source.cpp
+++ b/src/USER-MESO/fix_edpd_source.cpp
@@ -87,7 +87,7 @@ void FixEDPDSource::init()
/* ---------------------------------------------------------------------- */
-void FixEDPDSource::post_force(int vflag)
+void FixEDPDSource::post_force(int /*vflag*/)
{
double **x = atom->x;
double *edpd_flux = atom->edpd_flux;
diff --git a/src/USER-MESO/fix_mvv_dpd.cpp b/src/USER-MESO/fix_mvv_dpd.cpp
index c97a2d779c..f663165f78 100644
--- a/src/USER-MESO/fix_mvv_dpd.cpp
+++ b/src/USER-MESO/fix_mvv_dpd.cpp
@@ -72,7 +72,7 @@ void FixMvvDPD::init()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixMvvDPD::initial_integrate(int vflag)
+void FixMvvDPD::initial_integrate(int /*vflag*/)
{
double dtfm;
double **x = atom->x;
diff --git a/src/USER-MESO/fix_mvv_edpd.cpp b/src/USER-MESO/fix_mvv_edpd.cpp
index 89a831e121..8719d0d262 100644
--- a/src/USER-MESO/fix_mvv_edpd.cpp
+++ b/src/USER-MESO/fix_mvv_edpd.cpp
@@ -78,7 +78,7 @@ void FixMvvEDPD::init()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixMvvEDPD::initial_integrate(int vflag)
+void FixMvvEDPD::initial_integrate(int /*vflag*/)
{
double dtfm,dtT;
// update v and x and cc of atoms in group
diff --git a/src/USER-MESO/fix_mvv_tdpd.cpp b/src/USER-MESO/fix_mvv_tdpd.cpp
index e16171800b..24b1bbcf48 100644
--- a/src/USER-MESO/fix_mvv_tdpd.cpp
+++ b/src/USER-MESO/fix_mvv_tdpd.cpp
@@ -76,7 +76,7 @@ void FixMvvTDPD::init()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixMvvTDPD::initial_integrate(int vflag)
+void FixMvvTDPD::initial_integrate(int /*vflag*/)
{
double dtfm;
// update v and x and cc of atoms in group
diff --git a/src/USER-MESO/fix_tdpd_source.cpp b/src/USER-MESO/fix_tdpd_source.cpp
index 64964a4c98..89e8005b43 100644
--- a/src/USER-MESO/fix_tdpd_source.cpp
+++ b/src/USER-MESO/fix_tdpd_source.cpp
@@ -88,7 +88,7 @@ void FixTDPDSource::init()
/* ---------------------------------------------------------------------- */
-void FixTDPDSource::post_force(int vflag)
+void FixTDPDSource::post_force(int /*vflag*/)
{
double **x = atom->x;
double **cc_flux = atom->cc_flux;
diff --git a/src/USER-MESO/pair_edpd.cpp b/src/USER-MESO/pair_edpd.cpp
index 351637a842..5ed63a2a8b 100644
--- a/src/USER-MESO/pair_edpd.cpp
+++ b/src/USER-MESO/pair_edpd.cpp
@@ -530,7 +530,7 @@ void PairEDPD::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
double PairEDPD::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_dpd, double &fforce)
+ double /*factor_coul*/, double factor_dpd, double &fforce)
{
double r,rinv,wc,phi;
double *T = atom->edpd_temp;
diff --git a/src/USER-MESO/pair_mdpd_rhosum.cpp b/src/USER-MESO/pair_mdpd_rhosum.cpp
index 1264d03ed3..806a63f898 100644
--- a/src/USER-MESO/pair_mdpd_rhosum.cpp
+++ b/src/USER-MESO/pair_mdpd_rhosum.cpp
@@ -186,7 +186,7 @@ void PairMDPDRhoSum::allocate() {
global settings
------------------------------------------------------------------------- */
-void PairMDPDRhoSum::settings(int narg, char **arg) {
+void PairMDPDRhoSum::settings(int narg, char **/*arg*/) {
if (narg != 0)
error->all(FLERR,"Illegal number of setting arguments for pair_style mdpd/rhosum");
}
@@ -236,8 +236,8 @@ double PairMDPDRhoSum::init_one(int i, int j) {
/* ---------------------------------------------------------------------- */
-double PairMDPDRhoSum::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj, double &fforce) {
+double PairMDPDRhoSum::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, double /*rsq*/,
+ double /*factor_coul*/, double /*factor_lj*/, double &fforce) {
fforce = 0.0;
return 0.0;
@@ -246,7 +246,7 @@ double PairMDPDRhoSum::single(int i, int j, int itype, int jtype, double rsq,
/* ---------------------------------------------------------------------- */
int PairMDPDRhoSum::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc) {
+ int /*pbc_flag*/, int * /*pbc*/) {
int i, j, m;
double *rho = atom->rho;
diff --git a/src/USER-MESO/pair_tdpd.cpp b/src/USER-MESO/pair_tdpd.cpp
index b8bbf6d622..821d8c0486 100644
--- a/src/USER-MESO/pair_tdpd.cpp
+++ b/src/USER-MESO/pair_tdpd.cpp
@@ -465,8 +465,8 @@ void PairTDPD::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairTDPD::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_dpd, double &fforce)
+double PairTDPD::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_dpd, double &fforce)
{
double r,rinv,wc,phi;
diff --git a/src/USER-MGPT/mgpt_linalg.cpp b/src/USER-MGPT/mgpt_linalg.cpp
index 94a4e21ea6..68701037f4 100644
--- a/src/USER-MGPT/mgpt_linalg.cpp
+++ b/src/USER-MGPT/mgpt_linalg.cpp
@@ -81,8 +81,8 @@
#define const
#endif
static void transprod_generic(const double * restrict A,
- const double * restrict B,
- double * restrict C) {
+ const double * restrict B,
+ double * restrict C) {
const int lda = 8,n = mgpt_linalg::matrix_size;
int i,j,k;
double s;
@@ -90,15 +90,15 @@ static void transprod_generic(const double * restrict A,
for(j = 0; jall(__FILE__,__LINE__,"Illegal pair_style command");
}
@@ -2025,7 +2025,7 @@ void PairMGPT::init_list(int id, NeighList *ptr)
/* ----------------------------------------------------------------------
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairMGPT::init_one(int i, int j)
+double PairMGPT::init_one(int /*i*/, int /*j*/)
{
return cutoff;
}
diff --git a/src/USER-MISC/angle_dipole.cpp b/src/USER-MISC/angle_dipole.cpp
index bcb631c61f..c4186da472 100644
--- a/src/USER-MISC/angle_dipole.cpp
+++ b/src/USER-MISC/angle_dipole.cpp
@@ -229,7 +229,7 @@ void AngleDipole::write_data(FILE *fp)
used by ComputeAngleLocal
------------------------------------------------------------------------- */
-double AngleDipole::single(int type, int iRef, int iDip, int iDummy)
+double AngleDipole::single(int type, int iRef, int iDip, int /*iDummy*/)
{
double **x = atom->x; // position vector
double **mu = atom->mu; // point-dipole components and moment magnitude
diff --git a/src/USER-MISC/bond_harmonic_shift.cpp b/src/USER-MISC/bond_harmonic_shift.cpp
index 7148c5438d..b34f71e888 100644
--- a/src/USER-MISC/bond_harmonic_shift.cpp
+++ b/src/USER-MISC/bond_harmonic_shift.cpp
@@ -203,7 +203,7 @@ void BondHarmonicShift::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondHarmonicShift::single(int type, double rsq, int i, int j,
+double BondHarmonicShift::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
double r = sqrt(rsq);
diff --git a/src/USER-MISC/bond_harmonic_shift_cut.cpp b/src/USER-MISC/bond_harmonic_shift_cut.cpp
index 20c8a1a300..a58df70878 100644
--- a/src/USER-MISC/bond_harmonic_shift_cut.cpp
+++ b/src/USER-MISC/bond_harmonic_shift_cut.cpp
@@ -205,7 +205,7 @@ void BondHarmonicShiftCut::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondHarmonicShiftCut::single(int type, double rsq, int i, int j,
+double BondHarmonicShiftCut::single(int type, double rsq, int /*i*/, int /*j*/,
double &fforce)
{
fforce = 0.0;
diff --git a/src/USER-MISC/compute_ackland_atom.cpp b/src/USER-MISC/compute_ackland_atom.cpp
index a17aefe71b..bcf41591eb 100644
--- a/src/USER-MISC/compute_ackland_atom.cpp
+++ b/src/USER-MISC/compute_ackland_atom.cpp
@@ -105,7 +105,7 @@ void ComputeAcklandAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeAcklandAtom::init_list(int id, NeighList *ptr)
+void ComputeAcklandAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/USER-MISC/compute_basal_atom.cpp b/src/USER-MISC/compute_basal_atom.cpp
index 4d8627a11f..3b9b38343d 100644
--- a/src/USER-MISC/compute_basal_atom.cpp
+++ b/src/USER-MISC/compute_basal_atom.cpp
@@ -85,7 +85,7 @@ void ComputeBasalAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeBasalAtom::init_list(int id, NeighList *ptr)
+void ComputeBasalAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/USER-MISC/compute_cnp_atom.cpp b/src/USER-MISC/compute_cnp_atom.cpp
index 51cf3ab07a..6fa16f1a9a 100644
--- a/src/USER-MISC/compute_cnp_atom.cpp
+++ b/src/USER-MISC/compute_cnp_atom.cpp
@@ -121,7 +121,7 @@ void ComputeCNPAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeCNPAtom::init_list(int id, NeighList *ptr)
+void ComputeCNPAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/USER-MISC/compute_entropy_atom.cpp b/src/USER-MISC/compute_entropy_atom.cpp
index 922f2aaf5e..4946bc437e 100644
--- a/src/USER-MISC/compute_entropy_atom.cpp
+++ b/src/USER-MISC/compute_entropy_atom.cpp
@@ -151,7 +151,7 @@ void ComputeEntropyAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeEntropyAtom::init_list(int id, NeighList *ptr)
+void ComputeEntropyAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/USER-MISC/fix_addtorque.cpp b/src/USER-MISC/fix_addtorque.cpp
index 654911769c..2cd1ac7527 100644
--- a/src/USER-MISC/fix_addtorque.cpp
+++ b/src/USER-MISC/fix_addtorque.cpp
@@ -164,7 +164,7 @@ void FixAddTorque::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixAddTorque::post_force(int vflag)
+void FixAddTorque::post_force(int /*vflag*/)
{
double **x = atom->x;
double **f = atom->f;
@@ -252,7 +252,7 @@ void FixAddTorque::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixAddTorque::post_force_respa(int vflag, int ilevel, int iloop)
+void FixAddTorque::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/USER-MISC/fix_ave_correlate_long.cpp b/src/USER-MISC/fix_ave_correlate_long.cpp
index da6d041287..0ce6121bf9 100644
--- a/src/USER-MISC/fix_ave_correlate_long.cpp
+++ b/src/USER-MISC/fix_ave_correlate_long.cpp
@@ -412,7 +412,7 @@ void FixAveCorrelateLong::init()
only does something if nvalid = current timestep
------------------------------------------------------------------------- */
-void FixAveCorrelateLong::setup(int vflag)
+void FixAveCorrelateLong::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/USER-MISC/fix_bond_react.cpp b/src/USER-MISC/fix_bond_react.cpp
index 5ce1f11475..ceac93178d 100644
--- a/src/USER-MISC/fix_bond_react.cpp
+++ b/src/USER-MISC/fix_bond_react.cpp
@@ -588,7 +588,7 @@ void FixBondReact::init()
/* ---------------------------------------------------------------------- */
-void FixBondReact::init_list(int id, NeighList *ptr)
+void FixBondReact::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -1558,7 +1558,6 @@ void FixBondReact::find_landlocked_atoms(int myrxn)
// would someone want to change an angle type but not bond or atom types? (etc.) ...hopefully not yet
for (int i = 0; i < twomol->natoms; i++) {
if (landlocked_atoms[i][myrxn] == 0) {
- int twomol_atomi = i+1;
for (int j = 0; j < twomol->num_bond[i]; j++) {
int twomol_atomj = twomol->bond_atom[i][j];
if (landlocked_atoms[twomol_atomj-1][myrxn] == 0) {
@@ -1862,13 +1861,13 @@ void FixBondReact::glove_ghostcheck()
// noteworthy: it's only relevant for parallel
// here we add glove to either local_mega_glove or ghostly_mega_glove
- int ghostly = 0;
- for (int i = 0; i < onemol->natoms; i++) {
- if (atom->map(glove[i][1]) >= atom->nlocal) {
- ghostly = 1;
- break;
- }
- }
+ int ghostly = 1;
+ //for (int i = 0; i < onemol->natoms; i++) {
+ // if (atom->map(glove[i][1]) >= atom->nlocal) {
+ // ghostly = 1;
+ // break;
+ // }
+ //}
if (ghostly == 1) {
ghostly_mega_glove[0][ghostly_num_mega] = rxnID;
@@ -2621,7 +2620,7 @@ double FixBondReact::compute_vector(int n)
/* ---------------------------------------------------------------------- */
-void FixBondReact::post_integrate_respa(int ilevel, int iloop)
+void FixBondReact::post_integrate_respa(int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_integrate();
}
@@ -2629,7 +2628,7 @@ void FixBondReact::post_integrate_respa(int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
int FixBondReact::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,k,m,ns;
diff --git a/src/USER-MISC/fix_filter_corotate.cpp b/src/USER-MISC/fix_filter_corotate.cpp
index 91c7033513..56ab2b3df9 100644
--- a/src/USER-MISC/fix_filter_corotate.cpp
+++ b/src/USER-MISC/fix_filter_corotate.cpp
@@ -705,7 +705,7 @@ double FixFilterCorotate::compute_array(int,int)
return 1;
}
-void FixFilterCorotate::pre_force_respa(int vflag, int ilevel, int iloop)
+void FixFilterCorotate::pre_force_respa(int /*vflag*/, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1)
{
@@ -717,7 +717,7 @@ void FixFilterCorotate::pre_force_respa(int vflag, int ilevel, int iloop)
}
}
-void FixFilterCorotate::post_force_respa(int vflag, int ilevel, int iloop)
+void FixFilterCorotate::post_force_respa(int /*vflag*/, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1)
{
@@ -1699,7 +1699,7 @@ void FixFilterCorotate::general_cluster(int index, int index_in_list)
}
int FixFilterCorotate::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
double**f = atom->f;
@@ -1839,7 +1839,7 @@ double FixFilterCorotate::memory_usage()
* copy values within local atom-based arrays
* ------------------------------------------------------------------------- */
-void FixFilterCorotate::copy_arrays(int i, int j, int delflag)
+void FixFilterCorotate::copy_arrays(int i, int j, int /*delflag*/)
{
int flag = shake_flag[j] = shake_flag[i];
if (flag == 1) {
diff --git a/src/USER-MISC/fix_flow_gauss.cpp b/src/USER-MISC/fix_flow_gauss.cpp
index 6a1e508030..b6366ec509 100644
--- a/src/USER-MISC/fix_flow_gauss.cpp
+++ b/src/USER-MISC/fix_flow_gauss.cpp
@@ -155,7 +155,7 @@ void FixFlowGauss::setup(int vflag)
/* ----------------------------------------------------------------------
this is where Gaussian dynamics constraint is applied
------------------------------------------------------------------------- */
-void FixFlowGauss::post_force(int vflag)
+void FixFlowGauss::post_force(int /*vflag*/)
{
double **f = atom->f;
double **v = atom->v;
@@ -222,7 +222,7 @@ void FixFlowGauss::post_force(int vflag)
}
-void FixFlowGauss::post_force_respa(int vflag, int ilevel, int iloop)
+void FixFlowGauss::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/USER-MISC/fix_gle.cpp b/src/USER-MISC/fix_gle.cpp
index 584b33bfe7..0b08fab4ca 100644
--- a/src/USER-MISC/fix_gle.cpp
+++ b/src/USER-MISC/fix_gle.cpp
@@ -582,7 +582,7 @@ void FixGLE::gle_integrate()
energy += deltae*0.5*force->mvv2e;
}
-void FixGLE::initial_integrate(int vflag)
+void FixGLE::initial_integrate(int /*vflag*/)
{
double dtfm;
@@ -685,7 +685,7 @@ void FixGLE::final_integrate()
}
/* ---------------------------------------------------------------------- */
-void FixGLE::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixGLE::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
@@ -699,7 +699,7 @@ void FixGLE::initial_integrate_respa(int vflag, int ilevel, int iloop)
else { final_integrate();}
}
-void FixGLE::final_integrate_respa(int ilevel, int iloop)
+void FixGLE::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
@@ -793,7 +793,7 @@ void FixGLE::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixGLE::copy_arrays(int i, int j, int delflag)
+void FixGLE::copy_arrays(int i, int j, int /*delflag*/)
{
for (int k = 0; k < 3*ns; k++) gle_s[j][k] = gle_s[i][k];
}
@@ -868,7 +868,7 @@ void FixGLE::unpack_restart(int nlocal, int nth)
fixes on a given processor.
------------------------------------------------------------------------- */
-int FixGLE::size_restart(int nlocal)
+int FixGLE::size_restart(int /*nlocal*/)
{
return 3*ns+1;
}
diff --git a/src/USER-MISC/fix_grem.cpp b/src/USER-MISC/fix_grem.cpp
index a5f8c34448..635acf705c 100644
--- a/src/USER-MISC/fix_grem.cpp
+++ b/src/USER-MISC/fix_grem.cpp
@@ -256,7 +256,7 @@ void FixGrem::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixGrem::post_force(int vflag)
+void FixGrem::post_force(int /*vflag*/)
{
double **f = atom->f;
int *mask = atom->mask;
diff --git a/src/USER-MISC/fix_imd.cpp b/src/USER-MISC/fix_imd.cpp
index abf9e7cb0b..1c3eafdc46 100644
--- a/src/USER-MISC/fix_imd.cpp
+++ b/src/USER-MISC/fix_imd.cpp
@@ -811,7 +811,7 @@ void FixIMD::ioworker()
/* ---------------------------------------------------------------------- */
/* Main IMD protocol handler:
* Send coodinates, energies, and add IMD forces to atoms. */
-void FixIMD::post_force(int vflag)
+void FixIMD::post_force(int /*vflag*/)
{
/* check for reconnect */
if (imd_inactive) {
@@ -1153,7 +1153,7 @@ void FixIMD::post_force(int vflag)
}
/* ---------------------------------------------------------------------- */
-void FixIMD::post_force_respa(int vflag, int ilevel, int iloop)
+void FixIMD::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
/* only process IMD on the outmost RESPA level. */
if (ilevel == nlevels_respa-1) post_force(vflag);
diff --git a/src/USER-MISC/fix_ipi.cpp b/src/USER-MISC/fix_ipi.cpp
index c4750ce49e..32892d87a8 100644
--- a/src/USER-MISC/fix_ipi.cpp
+++ b/src/USER-MISC/fix_ipi.cpp
@@ -269,7 +269,7 @@ void FixIPI::init()
neighbor->every = 1;
}
-void FixIPI::initial_integrate(int vflag)
+void FixIPI::initial_integrate(int /*vflag*/)
{
/* This is called at the beginning of the integration loop,
* and will be used to read positions from the socket. Then,
diff --git a/src/USER-MISC/fix_nvk.cpp b/src/USER-MISC/fix_nvk.cpp
index dbf7b56fe2..2ac2a7c9fc 100644
--- a/src/USER-MISC/fix_nvk.cpp
+++ b/src/USER-MISC/fix_nvk.cpp
@@ -94,7 +94,7 @@ void FixNVK::init()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixNVK::initial_integrate(int vflag)
+void FixNVK::initial_integrate(int /*vflag*/)
{
double sm;
double a,b,sqtb,s,sdot;
@@ -190,7 +190,7 @@ void FixNVK::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixNVK::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixNVK::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel];
@@ -204,7 +204,7 @@ void FixNVK::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixNVK::final_integrate_respa(int ilevel, int iloop)
+void FixNVK::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtf = 0.5 * step_respa[ilevel];
final_integrate();
diff --git a/src/USER-MISC/fix_pimd.cpp b/src/USER-MISC/fix_pimd.cpp
index e65ae6ae28..eba8ed5d0c 100644
--- a/src/USER-MISC/fix_pimd.cpp
+++ b/src/USER-MISC/fix_pimd.cpp
@@ -214,7 +214,7 @@ void FixPIMD::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixPIMD::initial_integrate(int vflag)
+void FixPIMD::initial_integrate(int /*vflag*/)
{
nhc_update_v();
nhc_update_x();
@@ -229,7 +229,7 @@ void FixPIMD::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixPIMD::post_force(int flag)
+void FixPIMD::post_force(int /*flag*/)
{
for(int i=0; inlocal; i++) for(int j=0; j<3; j++) atom->f[i][j] /= np;
@@ -686,7 +686,7 @@ void FixPIMD::comm_exec(double **ptr)
/* ---------------------------------------------------------------------- */
int FixPIMD::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
@@ -744,7 +744,7 @@ void FixPIMD::grow_arrays(int nmax)
/* ---------------------------------------------------------------------- */
-void FixPIMD::copy_arrays(int i, int j, int delflag)
+void FixPIMD::copy_arrays(int i, int j, int /*delflag*/)
{
int i_pos = i*3;
int j_pos = j*3;
@@ -832,7 +832,7 @@ int FixPIMD::maxsize_restart()
/* ---------------------------------------------------------------------- */
-int FixPIMD::size_restart(int nlocal)
+int FixPIMD::size_restart(int /*nlocal*/)
{
return size_peratom_cols+1;
}
diff --git a/src/USER-MISC/fix_rhok.cpp b/src/USER-MISC/fix_rhok.cpp
index bbc4ce417a..78d63b79a8 100644
--- a/src/USER-MISC/fix_rhok.cpp
+++ b/src/USER-MISC/fix_rhok.cpp
@@ -144,7 +144,7 @@ FixRhok::min_setup( int inVFlag )
// Modify the forces calculated in the main force loop of ordinary MD
void
-FixRhok::post_force( int inVFlag )
+FixRhok::post_force( int /*inVFlag*/ )
{
double **x = atom->x;
double **f = atom->f;
@@ -206,7 +206,7 @@ FixRhok::post_force( int inVFlag )
// Forces in RESPA loop
void
-FixRhok::post_force_respa( int inVFlag, int inILevel, int inILoop )
+FixRhok::post_force_respa( int inVFlag, int inILevel, int /*inILoop*/ )
{
if( inILevel == mNLevelsRESPA - 1 )
post_force( inVFlag );
diff --git a/src/USER-MISC/fix_smd.cpp b/src/USER-MISC/fix_smd.cpp
index a42690c280..cbebdebdbf 100644
--- a/src/USER-MISC/fix_smd.cpp
+++ b/src/USER-MISC/fix_smd.cpp
@@ -461,7 +461,7 @@ void FixSMD::restart(char *buf)
/* ---------------------------------------------------------------------- */
-void FixSMD::post_force_respa(int vflag, int ilevel, int iloop)
+void FixSMD::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/USER-MISC/fix_srp.cpp b/src/USER-MISC/fix_srp.cpp
index e4d85e8674..ebc161ff99 100644
--- a/src/USER-MISC/fix_srp.cpp
+++ b/src/USER-MISC/fix_srp.cpp
@@ -145,7 +145,7 @@ void FixSRP::init()
insert bond particles
------------------------------------------------------------------------- */
-void FixSRP::setup_pre_force(int zz)
+void FixSRP::setup_pre_force(int /*zz*/)
{
double **x = atom->x;
double **xold;
@@ -394,7 +394,7 @@ void FixSRP::grow_arrays(int nmax)
called when move to new proc
------------------------------------------------------------------------- */
-void FixSRP::copy_arrays(int i, int j, int delflag)
+void FixSRP::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < 2; m++)
array[j][m] = array[i][m];
@@ -589,7 +589,7 @@ int FixSRP::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixSRP::size_restart(int nlocal)
+int FixSRP::size_restart(int /*nlocal*/)
{
return 3;
}
@@ -632,7 +632,7 @@ void FixSRP::restart(char *buf)
pair srp sets the bond type in this fix
------------------------------------------------------------------------- */
-int FixSRP::modify_param(int narg, char **arg)
+int FixSRP::modify_param(int /*narg*/, char **arg)
{
if (strcmp(arg[0],"btype") == 0) {
btype = atoi(arg[1]);
diff --git a/src/USER-MISC/fix_ti_spring.cpp b/src/USER-MISC/fix_ti_spring.cpp
index 5812142763..305e29e033 100644
--- a/src/USER-MISC/fix_ti_spring.cpp
+++ b/src/USER-MISC/fix_ti_spring.cpp
@@ -167,7 +167,7 @@ void FixTISpring::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTISpring::post_force(int vflag)
+void FixTISpring::post_force(int /*vflag*/)
{
// do not calculate forces during equilibration
if ((update->ntimestep - t0) < t_equil) return;
@@ -200,7 +200,7 @@ void FixTISpring::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTISpring::post_force_respa(int vflag, int ilevel, int iloop)
+void FixTISpring::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
@@ -214,7 +214,7 @@ void FixTISpring::min_post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTISpring::initial_integrate(int vflag)
+void FixTISpring::initial_integrate(int /*vflag*/)
{
// Update the coupling parameter value if needed
if ((update->ntimestep - t0) < t_equil) return;
@@ -278,7 +278,7 @@ void FixTISpring::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixTISpring::copy_arrays(int i, int j, int delflag)
+void FixTISpring::copy_arrays(int i, int j, int /*delflag*/)
{
xoriginal[j][0] = xoriginal[i][0];
xoriginal[j][1] = xoriginal[i][1];
@@ -354,7 +354,7 @@ int FixTISpring::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixTISpring::size_restart(int nlocal)
+int FixTISpring::size_restart(int /*nlocal*/)
{
return 4;
}
diff --git a/src/USER-MISC/fix_ttm_mod.cpp b/src/USER-MISC/fix_ttm_mod.cpp
index 1e1e62b638..65f8e90ec3 100644
--- a/src/USER-MISC/fix_ttm_mod.cpp
+++ b/src/USER-MISC/fix_ttm_mod.cpp
@@ -357,7 +357,7 @@ void FixTTMMod::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTTMMod::post_force(int vflag)
+void FixTTMMod::post_force(int /*vflag*/)
{
double **x = atom->x;
double **v = atom->v;
@@ -451,7 +451,7 @@ void FixTTMMod::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTTMMod::post_force_setup(int vflag)
+void FixTTMMod::post_force_setup(int /*vflag*/)
{
double **f = atom->f;
int *mask = atom->mask;
@@ -468,14 +468,14 @@ void FixTTMMod::post_force_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixTTMMod::post_force_respa(int vflag, int ilevel, int iloop)
+void FixTTMMod::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
/* ---------------------------------------------------------------------- */
-void FixTTMMod::post_force_respa_setup(int vflag, int ilevel, int iloop)
+void FixTTMMod::post_force_respa_setup(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force_setup(vflag);
}
@@ -916,7 +916,7 @@ int FixTTMMod::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixTTMMod::size_restart(int nlocal)
+int FixTTMMod::size_restart(int /*nlocal*/)
{
return 4;
}
diff --git a/src/USER-MISC/fix_wall_region_ees.cpp b/src/USER-MISC/fix_wall_region_ees.cpp
index 82a78d3e73..33bf636e64 100644
--- a/src/USER-MISC/fix_wall_region_ees.cpp
+++ b/src/USER-MISC/fix_wall_region_ees.cpp
@@ -149,7 +149,7 @@ void FixWallRegionEES::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWallRegionEES::post_force(int vflag)
+void FixWallRegionEES::post_force(int /*vflag*/)
{
//sth is needed here, but I dont know what
//that is calculation of sn
@@ -246,7 +246,7 @@ void FixWallRegionEES::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWallRegionEES::post_force_respa(int vflag, int ilevel, int iloop)
+void FixWallRegionEES::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
diff --git a/src/USER-MISC/pair_agni.cpp b/src/USER-MISC/pair_agni.cpp
index 11bf2ae01e..998582f619 100644
--- a/src/USER-MISC/pair_agni.cpp
+++ b/src/USER-MISC/pair_agni.cpp
@@ -246,7 +246,7 @@ void PairAGNI::allocate()
global settings
------------------------------------------------------------------------- */
-void PairAGNI::settings(int narg, char **arg)
+void PairAGNI::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -394,7 +394,7 @@ void PairAGNI::read_file(char *file)
if (nwords == 0) continue;
if (nwords > MAXWORD)
- error->all(FLERR,"Increase MAXWORD and recompile");
+ error->all(FLERR,"Increase MAXWORD and re-compile");
// words = ptrs to all words in line
diff --git a/src/USER-MISC/pair_buck_mdf.cpp b/src/USER-MISC/pair_buck_mdf.cpp
index 457d75bc77..61d32892fc 100644
--- a/src/USER-MISC/pair_buck_mdf.cpp
+++ b/src/USER-MISC/pair_buck_mdf.cpp
@@ -391,8 +391,8 @@ void PairBuckMDF::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairBuckMDF::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+double PairBuckMDF::single(int /*i*/, int /*j*/, int itype, int jtype,
+ double rsq, double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,r,rexp,forcebuck,phibuck;
diff --git a/src/USER-MISC/pair_coul_diel.cpp b/src/USER-MISC/pair_coul_diel.cpp
index 3f07df3d98..0154e89731 100644
--- a/src/USER-MISC/pair_coul_diel.cpp
+++ b/src/USER-MISC/pair_coul_diel.cpp
@@ -326,7 +326,7 @@ void PairCoulDiel::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
double PairCoulDiel::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+ double rsq, double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r, rarg,forcedielec,phidielec;
diff --git a/src/USER-MISC/pair_coul_shield.cpp b/src/USER-MISC/pair_coul_shield.cpp
index deec7da81f..11df975c19 100644
--- a/src/USER-MISC/pair_coul_shield.cpp
+++ b/src/USER-MISC/pair_coul_shield.cpp
@@ -341,7 +341,7 @@ void PairCoulShield::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
double PairCoulShield::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+ double rsq, double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r, rarg,Vc,fvc,forcecoul,phishieldec;
diff --git a/src/USER-MISC/pair_edip.cpp b/src/USER-MISC/pair_edip.cpp
index 2976d7ad73..4716e271d7 100644
--- a/src/USER-MISC/pair_edip.cpp
+++ b/src/USER-MISC/pair_edip.cpp
@@ -621,7 +621,7 @@ void PairEDIP::allocate()
global settings
------------------------------------------------------------------------- */
-void PairEDIP::settings(int narg, char **arg)
+void PairEDIP::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/USER-MISC/pair_edip_multi.cpp b/src/USER-MISC/pair_edip_multi.cpp
index 6be57eee74..fc76aadb0b 100644
--- a/src/USER-MISC/pair_edip_multi.cpp
+++ b/src/USER-MISC/pair_edip_multi.cpp
@@ -516,7 +516,7 @@ void PairEDIPMulti::allocate()
global settings
------------------------------------------------------------------------- */
-void PairEDIPMulti::settings(int narg, char **arg)
+void PairEDIPMulti::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/USER-MISC/pair_extep.cpp b/src/USER-MISC/pair_extep.cpp
index 5a8cdf2884..49c562471f 100644
--- a/src/USER-MISC/pair_extep.cpp
+++ b/src/USER-MISC/pair_extep.cpp
@@ -442,7 +442,7 @@ void PairExTeP::allocate()
global settings
------------------------------------------------------------------------- */
-void PairExTeP::settings(int narg, char **arg)
+void PairExTeP::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/USER-MISC/pair_gauss_cut.cpp b/src/USER-MISC/pair_gauss_cut.cpp
index 85f7c02887..a000eff028 100644
--- a/src/USER-MISC/pair_gauss_cut.cpp
+++ b/src/USER-MISC/pair_gauss_cut.cpp
@@ -374,8 +374,8 @@ void PairGaussCut::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairGaussCut::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairGaussCut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r, rexp,ugauss,phigauss;
diff --git a/src/USER-MISC/pair_ilp_graphene_hbn.cpp b/src/USER-MISC/pair_ilp_graphene_hbn.cpp
index 30ee2e7a5a..7e11cdff4f 100644
--- a/src/USER-MISC/pair_ilp_graphene_hbn.cpp
+++ b/src/USER-MISC/pair_ilp_graphene_hbn.cpp
@@ -1010,8 +1010,8 @@ void PairILPGrapheneHBN::read_file(char *filename)
/* ---------------------------------------------------------------------- */
-double PairILPGrapheneHBN::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairILPGrapheneHBN::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,r2inv,r6inv,r8inv,forcelj,philj,fpair;
@@ -1047,7 +1047,7 @@ double PairILPGrapheneHBN::single(int i, int j, int itype, int jtype, double rsq
/* ---------------------------------------------------------------------- */
int PairILPGrapheneHBN::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m,id,ip,l;
diff --git a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp
index be0e81d48d..bc3bfaeba9 100644
--- a/src/USER-MISC/pair_kolmogorov_crespi_full.cpp
+++ b/src/USER-MISC/pair_kolmogorov_crespi_full.cpp
@@ -1015,8 +1015,8 @@ void PairKolmogorovCrespiFull::read_file(char *filename)
/* ---------------------------------------------------------------------- */
-double PairKolmogorovCrespiFull::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairKolmogorovCrespiFull::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,r2inv,r6inv,r8inv,forcelj,philj;
@@ -1050,7 +1050,7 @@ double PairKolmogorovCrespiFull::single(int i, int j, int itype, int jtype, doub
/* ---------------------------------------------------------------------- */
int PairKolmogorovCrespiFull::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m,l,ip,id;
diff --git a/src/USER-MISC/pair_lennard_mdf.cpp b/src/USER-MISC/pair_lennard_mdf.cpp
index f6e7f7f56b..45d0da4d83 100644
--- a/src/USER-MISC/pair_lennard_mdf.cpp
+++ b/src/USER-MISC/pair_lennard_mdf.cpp
@@ -352,9 +352,9 @@ void PairLJ_AB_MDF::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJ_AB_MDF::single(int i, int j, int itype, int jtype,
+double PairLJ_AB_MDF::single(int /*i*/, int /*j*/, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,forcelj,philj;
diff --git a/src/USER-MISC/pair_lj_mdf.cpp b/src/USER-MISC/pair_lj_mdf.cpp
index d43a6c3086..891239016b 100644
--- a/src/USER-MISC/pair_lj_mdf.cpp
+++ b/src/USER-MISC/pair_lj_mdf.cpp
@@ -352,9 +352,9 @@ void PairLJMDF::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJMDF::single(int i, int j, int itype, int jtype,
+double PairLJMDF::single(int /*i*/, int /*j*/, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,forcelj,philj;
diff --git a/src/USER-MISC/pair_meam_spline.cpp b/src/USER-MISC/pair_meam_spline.cpp
index 750f6ac5bb..e6ea6c2ae4 100644
--- a/src/USER-MISC/pair_meam_spline.cpp
+++ b/src/USER-MISC/pair_meam_spline.cpp
@@ -360,7 +360,7 @@ void PairMEAMSpline::allocate()
global settings
------------------------------------------------------------------------- */
-void PairMEAMSpline::settings(int narg, char **arg)
+void PairMEAMSpline::settings(int narg, char **/*arg*/)
{
if(narg != 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -592,7 +592,7 @@ void PairMEAMSpline::init_list(int id, NeighList *ptr)
/* ----------------------------------------------------------------------
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairMEAMSpline::init_one(int i, int j)
+double PairMEAMSpline::init_one(int /*i*/, int /*j*/)
{
return cutoff;
}
@@ -600,7 +600,7 @@ double PairMEAMSpline::init_one(int i, int j)
/* ---------------------------------------------------------------------- */
int PairMEAMSpline::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int* list_iter = list;
int* list_iter_end = list + n;
@@ -618,14 +618,14 @@ void PairMEAMSpline::unpack_forward_comm(int n, int first, double *buf)
/* ---------------------------------------------------------------------- */
-int PairMEAMSpline::pack_reverse_comm(int n, int first, double *buf)
+int PairMEAMSpline::pack_reverse_comm(int /*n*/, int /*first*/, double * /*buf*/)
{
return 0;
}
/* ---------------------------------------------------------------------- */
-void PairMEAMSpline::unpack_reverse_comm(int n, int *list, double *buf)
+void PairMEAMSpline::unpack_reverse_comm(int /*n*/, int * /*list*/, double * /*buf*/)
{
}
diff --git a/src/USER-MISC/pair_meam_sw_spline.cpp b/src/USER-MISC/pair_meam_sw_spline.cpp
index f6b7212f9c..891913ccfc 100644
--- a/src/USER-MISC/pair_meam_sw_spline.cpp
+++ b/src/USER-MISC/pair_meam_sw_spline.cpp
@@ -372,7 +372,7 @@ void PairMEAMSWSpline::allocate()
global settings
------------------------------------------------------------------------- */
-void PairMEAMSWSpline::settings(int narg, char **arg)
+void PairMEAMSWSpline::settings(int narg, char **/*arg*/)
{
if(narg != 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -552,7 +552,7 @@ void PairMEAMSWSpline::init_list(int id, NeighList *ptr)
/* ----------------------------------------------------------------------
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairMEAMSWSpline::init_one(int i, int j)
+double PairMEAMSWSpline::init_one(int /*i*/, int /*j*/)
{
return cutoff;
}
@@ -560,7 +560,7 @@ double PairMEAMSWSpline::init_one(int i, int j)
/* ---------------------------------------------------------------------- */
int PairMEAMSWSpline::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int* list_iter = list;
int* list_iter_end = list + n;
@@ -578,14 +578,14 @@ void PairMEAMSWSpline::unpack_forward_comm(int n, int first, double *buf)
/* ---------------------------------------------------------------------- */
-int PairMEAMSWSpline::pack_reverse_comm(int n, int first, double *buf)
+int PairMEAMSWSpline::pack_reverse_comm(int /*n*/, int /*first*/, double * /*buf*/)
{
return 0;
}
/* ---------------------------------------------------------------------- */
-void PairMEAMSWSpline::unpack_reverse_comm(int n, int *list, double *buf)
+void PairMEAMSWSpline::unpack_reverse_comm(int /*n*/, int * /*list*/, double * /*buf*/)
{
}
diff --git a/src/USER-MISC/pair_momb.cpp b/src/USER-MISC/pair_momb.cpp
index 12a40bb08b..927181ebf6 100644
--- a/src/USER-MISC/pair_momb.cpp
+++ b/src/USER-MISC/pair_momb.cpp
@@ -365,8 +365,8 @@ void PairMomb::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairMomb::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairMomb::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,dr,dexp,phi,r2inv,r6inv,ddexp,invexp;
diff --git a/src/USER-MISC/pair_morse_smooth_linear.cpp b/src/USER-MISC/pair_morse_smooth_linear.cpp
index 8a9c89cf69..328c1bd27b 100644
--- a/src/USER-MISC/pair_morse_smooth_linear.cpp
+++ b/src/USER-MISC/pair_morse_smooth_linear.cpp
@@ -337,8 +337,8 @@ void PairMorseSmoothLinear::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairMorseSmoothLinear::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairMorseSmoothLinear::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,dr,dexp,phi;
diff --git a/src/USER-MISC/pair_tersoff_table.cpp b/src/USER-MISC/pair_tersoff_table.cpp
index c2362b8de9..d7e28a1e40 100644
--- a/src/USER-MISC/pair_tersoff_table.cpp
+++ b/src/USER-MISC/pair_tersoff_table.cpp
@@ -719,7 +719,7 @@ void PairTersoffTable::allocate()
global settings
------------------------------------------------------------------------- */
-void PairTersoffTable::settings(int narg, char **arg)
+void PairTersoffTable::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
}
diff --git a/src/USER-MOFFF/angle_cosine_buck6d.cpp b/src/USER-MOFFF/angle_cosine_buck6d.cpp
index b5800db2be..3f87aeb757 100644
--- a/src/USER-MOFFF/angle_cosine_buck6d.cpp
+++ b/src/USER-MOFFF/angle_cosine_buck6d.cpp
@@ -56,7 +56,7 @@ AngleCosineBuck6d::~AngleCosineBuck6d()
void AngleCosineBuck6d::compute(int eflag, int vflag)
{
- int i,i1,i2,i3,n,type,itype,jtype;
+ int i1,i2,i3,n,type,itype,jtype;
double delx1,dely1,delz1,delx2,dely2,delz2;
double eangle,f1[3],f3[3];
double rsq1,rsq2,r1,r2,c,s,a,a11,a12,a22;
@@ -309,7 +309,7 @@ void AngleCosineBuck6d::init_style()
/* ---------------------------------------------------------------------- */
-double AngleCosineBuck6d::equilibrium_angle(int i)
+double AngleCosineBuck6d::equilibrium_angle(int /*i*/)
{
return MY_PI;
}
diff --git a/src/USER-MOFFF/improper_inversion_harmonic.cpp b/src/USER-MOFFF/improper_inversion_harmonic.cpp
index 53a7b4729a..9608d58054 100644
--- a/src/USER-MOFFF/improper_inversion_harmonic.cpp
+++ b/src/USER-MOFFF/improper_inversion_harmonic.cpp
@@ -139,7 +139,6 @@ void ImproperInversionHarmonic::invang(const int &i1,const int &i2,
double upx,upy,upz,upn,rup,umx,umy,umz,umn,rum,wwr;
double rucb,rudb,rvcb,rvdb,rupupn,rumumn;
- double **x = atom->x;
double **f = atom->f;
int nlocal = atom->nlocal;
int newton_bond = force->newton_bond;
@@ -242,7 +241,7 @@ void ImproperInversionHarmonic::invang(const int &i1,const int &i2,
f[i4][2] += f4[2];
}
- double rb1x, rb1y, rb1z, rb2x, rb2y, rb2z, rb3x, rb3y, rb3z;
+ double rb3x, rb3y, rb3z;
if (evflag)
rb3x = vb1x - vb2x;
@@ -253,7 +252,7 @@ void ImproperInversionHarmonic::invang(const int &i1,const int &i2,
vb3x,vb3y,vb3z,
vb2x,vb2y,vb2z,
rb3x,rb3y,rb3z);
- }
+}
/* ---------------------------------------------------------------------- */
diff --git a/src/USER-PHONON/fix_phonon.cpp b/src/USER-PHONON/fix_phonon.cpp
index 3a37c67a38..cdbe4068bc 100644
--- a/src/USER-PHONON/fix_phonon.cpp
+++ b/src/USER-PHONON/fix_phonon.cpp
@@ -299,7 +299,7 @@ void FixPhonon::init()
/* ---------------------------------------------------------------------- */
-void FixPhonon::setup(int flag)
+void FixPhonon::setup(int /*flag*/)
{
// initialize accumulating variables
for (int i = 0; i < sysdim; ++i) TempSum[i] = 0.;
diff --git a/src/USER-QTB/fix_qbmsst.cpp b/src/USER-QTB/fix_qbmsst.cpp
index fa5ee75bcb..e8a4f85eaa 100644
--- a/src/USER-QTB/fix_qbmsst.cpp
+++ b/src/USER-QTB/fix_qbmsst.cpp
@@ -424,7 +424,7 @@ void FixQBMSST::init()
/* ----------------------------------------------------------------------
compute T,P before integrator starts
------------------------------------------------------------------------- */
-void FixQBMSST::setup(int vflag)
+void FixQBMSST::setup(int /*vflag*/)
{
lagrangian_position = 0.0;
@@ -507,7 +507,7 @@ void FixQBMSST::setup(int vflag)
/* ----------------------------------------------------------------------
1st half of Verlet update
------------------------------------------------------------------------- */
-void FixQBMSST::initial_integrate(int vflag)
+void FixQBMSST::initial_integrate(int /*vflag*/)
{
int sd;
sd = direction;
@@ -1157,7 +1157,7 @@ void FixQBMSST::grow_arrays(int nmax)
/* ----------------------------------------------------------------------
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixQBMSST::copy_arrays(int i, int j, int delflag)
+void FixQBMSST::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < 2*N_f; m++) {
random_array_0[j][m] = random_array_0[i][m];
diff --git a/src/USER-QTB/fix_qtb.cpp b/src/USER-QTB/fix_qtb.cpp
index 7f9a6510be..015f953b8e 100644
--- a/src/USER-QTB/fix_qtb.cpp
+++ b/src/USER-QTB/fix_qtb.cpp
@@ -239,7 +239,7 @@ void FixQTB::setup(int vflag)
/* ----------------------------------------------------------------------
post_force
------------------------------------------------------------------------- */
-void FixQTB::post_force(int vflag)
+void FixQTB::post_force(int /*vflag*/)
{
double gamma1,gamma3;
@@ -334,7 +334,7 @@ void FixQTB::post_force(int vflag)
/* ----------------------------------------------------------------------
post_force_respa
------------------------------------------------------------------------- */
-void FixQTB::post_force_respa(int vflag, int ilevel, int iloop)
+void FixQTB::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
@@ -392,7 +392,7 @@ void FixQTB::grow_arrays(int nmax)
/* ----------------------------------------------------------------------
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixQTB::copy_arrays(int i, int j, int delflag)
+void FixQTB::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < 2*N_f; m++) {
random_array_0[j][m] = random_array_0[i][m];
diff --git a/src/USER-QUIP/pair_quip.cpp b/src/USER-QUIP/pair_quip.cpp
index 0c00a5ef59..6f5040d037 100644
--- a/src/USER-QUIP/pair_quip.cpp
+++ b/src/USER-QUIP/pair_quip.cpp
@@ -212,7 +212,7 @@ void PairQUIP::compute(int eflag, int vflag)
global settings
------------------------------------------------------------------------- */
-void PairQUIP::settings(int narg, char **arg)
+void PairQUIP::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
if (strcmp(force->pair_style,"hybrid") == 0)
@@ -315,7 +315,7 @@ void PairQUIP::init_style()
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairQUIP::init_one(int i, int j)
+double PairQUIP::init_one(int /*i*/, int /*j*/)
{
return cutoff;
}
diff --git a/src/USER-REAXC/fix_qeq_reax.cpp b/src/USER-REAXC/fix_qeq_reax.cpp
index a2f4d3d0e9..6f0b93235f 100644
--- a/src/USER-REAXC/fix_qeq_reax.cpp
+++ b/src/USER-REAXC/fix_qeq_reax.cpp
@@ -381,7 +381,7 @@ void FixQEqReax::init()
/* ---------------------------------------------------------------------- */
-void FixQEqReax::init_list(int id, NeighList *ptr)
+void FixQEqReax::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -485,7 +485,7 @@ void FixQEqReax::init_storage()
/* ---------------------------------------------------------------------- */
-void FixQEqReax::pre_force(int vflag)
+void FixQEqReax::pre_force(int /*vflag*/)
{
double t_start, t_end;
@@ -518,7 +518,7 @@ void FixQEqReax::pre_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixQEqReax::pre_force_respa(int vflag, int ilevel, int iloop)
+void FixQEqReax::pre_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) pre_force(vflag);
}
@@ -833,7 +833,7 @@ void FixQEqReax::calculate_Q()
/* ---------------------------------------------------------------------- */
int FixQEqReax::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int m;
@@ -952,7 +952,7 @@ void FixQEqReax::grow_arrays(int nmax)
copy values within fictitious charge arrays
------------------------------------------------------------------------- */
-void FixQEqReax::copy_arrays(int i, int j, int delflag)
+void FixQEqReax::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < nprev; m++) {
s_hist[j][m] = s_hist[i][m];
diff --git a/src/USER-REAXC/fix_reaxc.cpp b/src/USER-REAXC/fix_reaxc.cpp
index df06217993..c470173663 100644
--- a/src/USER-REAXC/fix_reaxc.cpp
+++ b/src/USER-REAXC/fix_reaxc.cpp
@@ -105,7 +105,7 @@ void FixReaxC::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixReaxC::copy_arrays(int i, int j, int delflag)
+void FixReaxC::copy_arrays(int i, int j, int /*delflag*/)
{
num_bonds[j] = num_bonds[i];
num_hbonds[j] = num_hbonds[i];
@@ -136,7 +136,7 @@ int FixReaxC::unpack_exchange(int nlocal, double *buf)
/* ---------------------------------------------------------------------- */
int FixReaxC::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/USER-REAXC/fix_reaxc_bonds.cpp b/src/USER-REAXC/fix_reaxc_bonds.cpp
index b38d137412..fb40b2042e 100644
--- a/src/USER-REAXC/fix_reaxc_bonds.cpp
+++ b/src/USER-REAXC/fix_reaxc_bonds.cpp
@@ -112,7 +112,7 @@ int FixReaxCBonds::setmask()
/* ---------------------------------------------------------------------- */
-void FixReaxCBonds::setup(int vflag)
+void FixReaxCBonds::setup(int /*vflag*/)
{
end_of_step();
}
@@ -137,7 +137,7 @@ void FixReaxCBonds::end_of_step()
/* ---------------------------------------------------------------------- */
-void FixReaxCBonds::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp)
+void FixReaxCBonds::Output_ReaxC_Bonds(bigint /*ntimestep*/, FILE * /*fp*/)
{
int i, j;
@@ -185,7 +185,7 @@ void FixReaxCBonds::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp)
/* ---------------------------------------------------------------------- */
-void FixReaxCBonds::FindBond(struct _reax_list *lists, int &numbonds)
+void FixReaxCBonds::FindBond(struct _reax_list * /*lists*/, int &numbonds)
{
int *ilist, i, ii, inum;
int j, pj, nj;
diff --git a/src/USER-REAXC/fix_reaxc_species.cpp b/src/USER-REAXC/fix_reaxc_species.cpp
index 61b4cebf96..8ec7f4174f 100644
--- a/src/USER-REAXC/fix_reaxc_species.cpp
+++ b/src/USER-REAXC/fix_reaxc_species.cpp
@@ -281,7 +281,7 @@ int FixReaxCSpecies::setmask()
/* ---------------------------------------------------------------------- */
-void FixReaxCSpecies::setup(int vflag)
+void FixReaxCSpecies::setup(int /*vflag*/)
{
ntotal = static_cast (atom->natoms);
if (Name == NULL)
@@ -427,7 +427,7 @@ void FixReaxCSpecies::create_fix()
/* ---------------------------------------------------------------------- */
-void FixReaxCSpecies::init_list(int id, NeighList *ptr)
+void FixReaxCSpecies::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -442,7 +442,7 @@ void FixReaxCSpecies::post_integrate()
/* ---------------------------------------------------------------------- */
-void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE *fp)
+void FixReaxCSpecies::Output_ReaxC_Bonds(bigint ntimestep, FILE * /*fp*/)
{
int Nmole, Nspec;
@@ -946,7 +946,7 @@ int FixReaxCSpecies::nint(const double &r)
/* ---------------------------------------------------------------------- */
int FixReaxCSpecies::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/USER-REAXC/pair_reaxc.cpp b/src/USER-REAXC/pair_reaxc.cpp
index 7f77d875bc..378d20952c 100644
--- a/src/USER-REAXC/pair_reaxc.cpp
+++ b/src/USER-REAXC/pair_reaxc.cpp
@@ -751,7 +751,7 @@ int PairReaxC::write_reax_lists()
/* ---------------------------------------------------------------------- */
-void PairReaxC::read_reax_forces(int vflag)
+void PairReaxC::read_reax_forces(int /*vflag*/)
{
for( int i = 0; i < system->N; ++i ) {
system->my_atoms[i].f[0] = workspace->f[i][0];
diff --git a/src/USER-REAXC/reaxc_allocate.cpp b/src/USER-REAXC/reaxc_allocate.cpp
index a07f090f92..c6c103b6f4 100644
--- a/src/USER-REAXC/reaxc_allocate.cpp
+++ b/src/USER-REAXC/reaxc_allocate.cpp
@@ -39,8 +39,8 @@
important: we cannot know the exact number of atoms that will fall into a
process's box throughout the whole simulation. therefore
we need to make upper bound estimates for various data structures */
-int PreAllocate_Space( reax_system *system, control_params *control,
- storage *workspace, MPI_Comm comm )
+int PreAllocate_Space( reax_system *system, control_params * /*control*/,
+ storage * workspace, MPI_Comm comm )
{
int mincap = system->mincap;
double safezone = system->safezone;
@@ -60,6 +60,8 @@ int PreAllocate_Space( reax_system *system, control_params *control,
workspace->forceReduction = NULL;
workspace->valence_angle_atom_myoffset = NULL;
workspace->my_ext_pressReduction = NULL;
+#else
+ LMP_UNUSED_PARAM(workspace);
#endif
return SUCCESS;
@@ -68,8 +70,8 @@ int PreAllocate_Space( reax_system *system, control_params *control,
/************* system *************/
-int Allocate_System( reax_system *system, int local_cap, int total_cap,
- char *msg )
+int Allocate_System( reax_system *system, int /*local_cap*/, int total_cap,
+ char * /*msg*/ )
{
system->my_atoms = (reax_atom*)
realloc( system->my_atoms, total_cap*sizeof(reax_atom) );
@@ -116,7 +118,7 @@ void DeAllocate_System( reax_system *system )
/************* workspace *************/
-void DeAllocate_Workspace( control_params *control, storage *workspace )
+void DeAllocate_Workspace( control_params * /*control*/, storage *workspace )
{
int i;
@@ -204,9 +206,9 @@ void DeAllocate_Workspace( control_params *control, storage *workspace )
}
-int Allocate_Workspace( reax_system *system, control_params *control,
+int Allocate_Workspace( reax_system * /*system*/, control_params * control,
storage *workspace, int local_cap, int total_cap,
- MPI_Comm comm, char *msg )
+ MPI_Comm comm, char * /*msg*/ )
{
int i, total_real, total_rvec, local_rvec;
@@ -307,6 +309,8 @@ int Allocate_Workspace( reax_system *system, control_params *control,
workspace->valence_angle_atom_myoffset = (int *) scalloc(sizeof(int), total_cap, "valence_angle_atom_myoffset", comm);
workspace->my_ext_pressReduction = (rvec *) calloc(sizeof(rvec), control->nthreads);
+#else
+ LMP_UNUSED_PARAM(control);
#endif
return SUCCESS;
diff --git a/src/USER-REAXC/reaxc_bond_orders.cpp b/src/USER-REAXC/reaxc_bond_orders.cpp
index 468164a2c0..572d27526c 100644
--- a/src/USER-REAXC/reaxc_bond_orders.cpp
+++ b/src/USER-REAXC/reaxc_bond_orders.cpp
@@ -359,8 +359,8 @@ int BOp( storage *workspace, reax_list *bonds, double bo_cut,
}
-void BO( reax_system *system, control_params *control, simulation_data *data,
- storage *workspace, reax_list **lists, output_controls *out_control )
+void BO( reax_system *system, control_params * /*control*/, simulation_data * /*data*/,
+ storage *workspace, reax_list **lists, output_controls * /*out_control*/ )
{
int i, j, pj, type_i, type_j;
int start_i, end_i, sym_index;
diff --git a/src/USER-REAXC/reaxc_bonds.cpp b/src/USER-REAXC/reaxc_bonds.cpp
index 9678addd6b..6fde18e5c2 100644
--- a/src/USER-REAXC/reaxc_bonds.cpp
+++ b/src/USER-REAXC/reaxc_bonds.cpp
@@ -31,9 +31,9 @@
#include "reaxc_tool_box.h"
#include "reaxc_vector.h"
-void Bonds( reax_system *system, control_params *control,
+void Bonds( reax_system *system, control_params * /*control*/,
simulation_data *data, storage *workspace, reax_list **lists,
- output_controls *out_control )
+ output_controls * /*out_control*/ )
{
int i, j, pj, natoms;
int start_i, end_i;
diff --git a/src/USER-REAXC/reaxc_forces.cpp b/src/USER-REAXC/reaxc_forces.cpp
index 00b29824ea..dfcc9fd4ae 100644
--- a/src/USER-REAXC/reaxc_forces.cpp
+++ b/src/USER-REAXC/reaxc_forces.cpp
@@ -41,9 +41,9 @@
interaction_function Interaction_Functions[NUM_INTRS];
-void Dummy_Interaction( reax_system *system, control_params *control,
- simulation_data *data, storage *workspace,
- reax_list **lists, output_controls *out_control )
+void Dummy_Interaction( reax_system * /*system*/, control_params * /*control*/,
+ simulation_data * /*data*/, storage * /*workspace*/,
+ reax_list **/*lists*/, output_controls * /*out_control*/ )
{
}
@@ -68,7 +68,7 @@ void Init_Force_Functions( control_params *control )
void Compute_Bonded_Forces( reax_system *system, control_params *control,
simulation_data *data, storage *workspace,
reax_list **lists, output_controls *out_control,
- MPI_Comm comm )
+ MPI_Comm /*comm*/ )
{
int i;
@@ -83,7 +83,7 @@ void Compute_Bonded_Forces( reax_system *system, control_params *control,
void Compute_NonBonded_Forces( reax_system *system, control_params *control,
simulation_data *data, storage *workspace,
reax_list **lists, output_controls *out_control,
- MPI_Comm comm )
+ MPI_Comm /*comm*/ )
{
/* van der Waals and Coulomb interactions */
@@ -98,7 +98,7 @@ void Compute_NonBonded_Forces( reax_system *system, control_params *control,
void Compute_Total_Force( reax_system *system, control_params *control,
simulation_data *data, storage *workspace,
- reax_list **lists, mpi_datatypes *mpi_data )
+ reax_list **lists, mpi_datatypes * /*mpi_data*/ )
{
int i, pj;
reax_list *bonds = (*lists) + BONDS;
@@ -114,8 +114,8 @@ void Compute_Total_Force( reax_system *system, control_params *control,
}
-void Validate_Lists( reax_system *system, storage *workspace, reax_list **lists,
- int step, int n, int N, int numH, MPI_Comm comm )
+void Validate_Lists( reax_system *system, storage * /*workspace*/, reax_list **lists,
+ int step, int /*n*/, int N, int numH, MPI_Comm comm )
{
int i, comp, Hindex;
reax_list *bonds, *hbonds;
@@ -173,7 +173,7 @@ void Validate_Lists( reax_system *system, storage *workspace, reax_list **lists,
void Init_Forces_noQEq( reax_system *system, control_params *control,
simulation_data *data, storage *workspace,
- reax_list **lists, output_controls *out_control,
+ reax_list **lists, output_controls * /*out_control*/,
MPI_Comm comm ) {
int i, j, pj;
int start_i, end_i;
@@ -317,7 +317,7 @@ void Init_Forces_noQEq( reax_system *system, control_params *control,
void Estimate_Storages( reax_system *system, control_params *control,
reax_list **lists, int *Htop, int *hb_top,
- int *bond_top, int *num_3body, MPI_Comm comm )
+ int *bond_top, int *num_3body, MPI_Comm /*comm*/ )
{
int i, j, pj;
int start_i, end_i;
diff --git a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp
index cb516b24f7..6442dd47e9 100644
--- a/src/USER-REAXC/reaxc_hydrogen_bonds.cpp
+++ b/src/USER-REAXC/reaxc_hydrogen_bonds.cpp
@@ -33,7 +33,7 @@
void Hydrogen_Bonds( reax_system *system, control_params *control,
simulation_data *data, storage *workspace,
- reax_list **lists, output_controls *out_control )
+ reax_list **lists, output_controls * /*out_control*/ )
{
int i, j, k, pi, pk;
int type_i, type_j, type_k;
diff --git a/src/USER-REAXC/reaxc_init_md.cpp b/src/USER-REAXC/reaxc_init_md.cpp
index 4af21284f2..88fb9cf17f 100644
--- a/src/USER-REAXC/reaxc_init_md.cpp
+++ b/src/USER-REAXC/reaxc_init_md.cpp
@@ -36,7 +36,7 @@
#include "reaxc_tool_box.h"
#include "reaxc_vector.h"
-int Init_System( reax_system *system, control_params *control, char *msg )
+int Init_System( reax_system *system, control_params *control, char * /*msg*/ )
{
int i;
reax_atom *atom;
@@ -66,7 +66,7 @@ int Init_System( reax_system *system, control_params *control, char *msg )
int Init_Simulation_Data( reax_system *system, control_params *control,
- simulation_data *data, char *msg )
+ simulation_data *data, char * /*msg*/ )
{
Reset_Simulation_Data( data, control->virial );
@@ -139,8 +139,8 @@ int Init_Workspace( reax_system *system, control_params *control,
/************** setup communication data structures **************/
-int Init_MPI_Datatypes( reax_system *system, storage *workspace,
- mpi_datatypes *mpi_data, MPI_Comm comm, char *msg )
+int Init_MPI_Datatypes( reax_system *system, storage * /*workspace*/,
+ mpi_datatypes *mpi_data, MPI_Comm comm, char * /*msg*/ )
{
/* setup the world */
@@ -151,8 +151,8 @@ int Init_MPI_Datatypes( reax_system *system, storage *workspace,
}
int Init_Lists( reax_system *system, control_params *control,
- simulation_data *data, storage *workspace, reax_list **lists,
- mpi_datatypes *mpi_data, char *msg )
+ simulation_data * /*data*/, storage * /*workspace*/, reax_list **lists,
+ mpi_datatypes *mpi_data, char * /*msg*/ )
{
int i, total_hbonds, total_bonds, bond_cap, num_3body, cap_3body, Htop;
int *hb_top, *bond_top;
diff --git a/src/USER-REAXC/reaxc_io_tools.cpp b/src/USER-REAXC/reaxc_io_tools.cpp
index 4d58f7514d..b63fee2309 100644
--- a/src/USER-REAXC/reaxc_io_tools.cpp
+++ b/src/USER-REAXC/reaxc_io_tools.cpp
@@ -88,7 +88,7 @@ int Init_Output_Files( reax_system *system, control_params *control,
/************************ close output files ************************/
int Close_Output_Files( reax_system *system, control_params *control,
- output_controls *out_control, mpi_datatypes *mpi_data )
+ output_controls *out_control, mpi_datatypes * /*mpi_data*/ )
{
if( out_control->write_steps > 0 )
End_Traj( system->my_rank, out_control );
diff --git a/src/USER-REAXC/reaxc_lookup.cpp b/src/USER-REAXC/reaxc_lookup.cpp
index 9db8b7b9f6..918099a631 100644
--- a/src/USER-REAXC/reaxc_lookup.cpp
+++ b/src/USER-REAXC/reaxc_lookup.cpp
@@ -151,7 +151,7 @@ void Complete_Cubic_Spline( const double *h, const double *f, double v0, double
int Init_Lookup_Tables( reax_system *system, control_params *control,
- storage *workspace, mpi_datatypes *mpi_data, char *msg )
+ storage *workspace, mpi_datatypes *mpi_data, char * /*msg*/ )
{
int i, j, r;
int num_atom_types;
diff --git a/src/USER-REAXC/reaxc_multi_body.cpp b/src/USER-REAXC/reaxc_multi_body.cpp
index ce5b966529..360a9431cf 100644
--- a/src/USER-REAXC/reaxc_multi_body.cpp
+++ b/src/USER-REAXC/reaxc_multi_body.cpp
@@ -32,7 +32,7 @@
void Atom_Energy( reax_system *system, control_params *control,
simulation_data *data, storage *workspace, reax_list **lists,
- output_controls *out_control )
+ output_controls * /*out_control*/ )
{
int i, j, pj, type_i, type_j;
double Delta_lpcorr, dfvl;
diff --git a/src/USER-REAXC/reaxc_nonbonded.cpp b/src/USER-REAXC/reaxc_nonbonded.cpp
index 9c223428a6..b44632ec29 100644
--- a/src/USER-REAXC/reaxc_nonbonded.cpp
+++ b/src/USER-REAXC/reaxc_nonbonded.cpp
@@ -33,7 +33,7 @@
void vdW_Coulomb_Energy( reax_system *system, control_params *control,
simulation_data *data, storage *workspace,
- reax_list **lists, output_controls *out_control )
+ reax_list **lists, output_controls * /*out_control*/ )
{
int i, j, pj, natoms;
int start_i, end_i, flag;
@@ -206,7 +206,7 @@ void vdW_Coulomb_Energy( reax_system *system, control_params *control,
void Tabulated_vdW_Coulomb_Energy( reax_system *system,control_params *control,
simulation_data *data, storage *workspace,
reax_list **lists,
- output_controls *out_control )
+ output_controls * /*out_control*/ )
{
int i, j, pj, r, natoms;
int type_i, type_j, tmin, tmax;
diff --git a/src/USER-REAXC/reaxc_reset_tools.cpp b/src/USER-REAXC/reaxc_reset_tools.cpp
index 4ec744e7b1..1b16f10aee 100644
--- a/src/USER-REAXC/reaxc_reset_tools.cpp
+++ b/src/USER-REAXC/reaxc_reset_tools.cpp
@@ -87,7 +87,7 @@ void Reset_Pressures( simulation_data *data )
}
-void Reset_Simulation_Data( simulation_data* data, int virial )
+void Reset_Simulation_Data( simulation_data* data, int /*virial*/ )
{
Reset_Energies( &data->my_en );
Reset_Energies( &data->sys_en );
diff --git a/src/USER-REAXC/reaxc_torsion_angles.cpp b/src/USER-REAXC/reaxc_torsion_angles.cpp
index c5a7f23b30..2abfbde61d 100644
--- a/src/USER-REAXC/reaxc_torsion_angles.cpp
+++ b/src/USER-REAXC/reaxc_torsion_angles.cpp
@@ -41,7 +41,7 @@ double Calculate_Omega( rvec dvec_ij, double r_ij,
three_body_interaction_data *p_jkl,
rvec dcos_omega_di, rvec dcos_omega_dj,
rvec dcos_omega_dk, rvec dcos_omega_dl,
- output_controls *out_control )
+ output_controls * /*out_control*/ )
{
double unnorm_cos_omega, unnorm_sin_omega, omega;
double sin_ijk, cos_ijk, sin_jkl, cos_jkl;
diff --git a/src/USER-REAXC/reaxc_traj.cpp b/src/USER-REAXC/reaxc_traj.cpp
index ae2bba2150..c1f3e8ae8f 100644
--- a/src/USER-REAXC/reaxc_traj.cpp
+++ b/src/USER-REAXC/reaxc_traj.cpp
@@ -48,7 +48,7 @@ int Reallocate_Output_Buffer( output_controls *out_control, int req_space,
}
-void Write_Skip_Line( output_controls *out_control, mpi_datatypes *mpi_data,
+void Write_Skip_Line( output_controls *out_control, mpi_datatypes * /*mpi_data*/,
int my_rank, int skip, int num_section )
{
if( my_rank == MASTER_NODE )
@@ -259,7 +259,7 @@ int Write_Header( reax_system *system, control_params *control,
}
-int Write_Init_Desc( reax_system *system, control_params *control,
+int Write_Init_Desc( reax_system *system, control_params * /*control*/,
output_controls *out_control, mpi_datatypes *mpi_data )
{
int i, me, np, cnt, buffer_len, buffer_req;
@@ -482,7 +482,7 @@ int Write_Frame_Header( reax_system *system, control_params *control,
-int Write_Atoms( reax_system *system, control_params *control,
+int Write_Atoms( reax_system *system, control_params * /*control*/,
output_controls *out_control, mpi_datatypes *mpi_data )
{
int i, me, np, line_len, buffer_len, buffer_req, cnt;
diff --git a/src/USER-REAXC/reaxc_valence_angles.cpp b/src/USER-REAXC/reaxc_valence_angles.cpp
index c92996e56b..118735fbbd 100644
--- a/src/USER-REAXC/reaxc_valence_angles.cpp
+++ b/src/USER-REAXC/reaxc_valence_angles.cpp
@@ -76,7 +76,7 @@ void Calculate_dCos_Theta( rvec dvec_ji, double d_ji, rvec dvec_jk, double d_jk,
void Valence_Angles( reax_system *system, control_params *control,
simulation_data *data, storage *workspace,
- reax_list **lists, output_controls *out_control )
+ reax_list **lists, output_controls * /*out_control*/ )
{
int i, j, pi, k, pk, t;
int type_i, type_j, type_k;
diff --git a/src/USER-SMD/atom_vec_smd.cpp b/src/USER-SMD/atom_vec_smd.cpp
index e99f3c5169..020284312b 100644
--- a/src/USER-SMD/atom_vec_smd.cpp
+++ b/src/USER-SMD/atom_vec_smd.cpp
@@ -208,7 +208,7 @@ void AtomVecSMD::copy(int i, int j, int delflag) {
/* ---------------------------------------------------------------------- */
-int AtomVecSMD::pack_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) {
+int AtomVecSMD::pack_comm(int /*n*/, int * /*list*/, double * /*buf*/, int /*pbc_flag*/, int * /*pbc*/) {
error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on");
return -1;
}
@@ -333,7 +333,7 @@ int AtomVecSMD::pack_comm_hybrid(int n, int *list, double *buf) {
/* ---------------------------------------------------------------------- */
-void AtomVecSMD::unpack_comm(int n, int first, double *buf) {
+void AtomVecSMD::unpack_comm(int /*n*/, int /*first*/, double * /*buf*/) {
error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on");
}
@@ -441,7 +441,7 @@ int AtomVecSMD::unpack_reverse_hybrid(int n, int *list, double *buf) {
/* ---------------------------------------------------------------------- */
-int AtomVecSMD::pack_border(int n, int *list, double *buf, int pbc_flag, int *pbc) {
+int AtomVecSMD::pack_border(int /*n*/, int * /*list*/, double * /*buf*/, int /*pbc_flag*/, int * /*pbc*/) {
error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on");
return -1;
}
@@ -633,7 +633,7 @@ int AtomVecSMD::pack_border_hybrid(int n, int *list, double *buf) {
/* ---------------------------------------------------------------------- */
-void AtomVecSMD::unpack_border(int n, int first, double *buf) {
+void AtomVecSMD::unpack_border(int /*n*/, int /*first*/, double * /*buf*/) {
error->one(FLERR, "atom vec tlsph can only be used with ghost velocities turned on");
}
@@ -1098,7 +1098,7 @@ void AtomVecSMD::data_atom(double *coord, imageint imagetmp, char **values) {
initialize other atom quantities for this sub-style
------------------------------------------------------------------------- */
-int AtomVecSMD::data_atom_hybrid(int nlocal, char **values) {
+int AtomVecSMD::data_atom_hybrid(int /*nlocal*/, char **/*values*/) {
error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd");
return -1;
}
@@ -1120,7 +1120,7 @@ void AtomVecSMD::data_vel(int m, char **values) {
unpack hybrid quantities from one line in Velocities section of data file
------------------------------------------------------------------------- */
-int AtomVecSMD::data_vel_hybrid(int m, char **values) {
+int AtomVecSMD::data_vel_hybrid(int /*m*/, char **/*values*/) {
error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd");
return 0;
}
@@ -1158,7 +1158,7 @@ void AtomVecSMD::pack_data(double **buf) {
pack hybrid atom info for data file
------------------------------------------------------------------------- */
-int AtomVecSMD::pack_data_hybrid(int i, double *buf) {
+int AtomVecSMD::pack_data_hybrid(int /*i*/, double * /*buf*/) {
error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd");
return -1;
}
@@ -1180,7 +1180,7 @@ void AtomVecSMD::write_data(FILE *fp, int n, double **buf) {
write hybrid atom info to data file
------------------------------------------------------------------------- */
-int AtomVecSMD::write_data_hybrid(FILE *fp, double *buf) {
+int AtomVecSMD::write_data_hybrid(FILE * /*fp*/, double * /*buf*/) {
error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd");
return -1;
}
@@ -1203,7 +1203,7 @@ void AtomVecSMD::pack_vel(double **buf) {
pack hybrid velocity info for data file
------------------------------------------------------------------------- */
-int AtomVecSMD::pack_vel_hybrid(int i, double *buf) {
+int AtomVecSMD::pack_vel_hybrid(int /*i*/, double * /*buf*/) {
error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd");
return 0;
}
@@ -1222,7 +1222,7 @@ void AtomVecSMD::write_vel(FILE *fp, int n, double **buf) {
write hybrid velocity info to data file
------------------------------------------------------------------------- */
-int AtomVecSMD::write_vel_hybrid(FILE *fp, double *buf) {
+int AtomVecSMD::write_vel_hybrid(FILE * /*fp*/, double * /*buf*/) {
error->one(FLERR, "hybrid atom style functionality not yet implemented for atom style smd");
return 3;
}
diff --git a/src/USER-SMD/fix_smd_adjust_dt.cpp b/src/USER-SMD/fix_smd_adjust_dt.cpp
index 3685248d5e..f015c6c4df 100644
--- a/src/USER-SMD/fix_smd_adjust_dt.cpp
+++ b/src/USER-SMD/fix_smd_adjust_dt.cpp
@@ -86,13 +86,13 @@ void FixSMDTlsphDtReset::init() {
/* ---------------------------------------------------------------------- */
-void FixSMDTlsphDtReset::setup(int vflag) {
+void FixSMDTlsphDtReset::setup(int /*vflag*/) {
end_of_step();
}
/* ---------------------------------------------------------------------- */
-void FixSMDTlsphDtReset::initial_integrate(int vflag) {
+void FixSMDTlsphDtReset::initial_integrate(int /*vflag*/) {
//printf("in adjust_dt: dt = %20.10f\n", update->dt);
diff --git a/src/USER-SMD/fix_smd_integrate_tlsph.cpp b/src/USER-SMD/fix_smd_integrate_tlsph.cpp
index 4668e673fc..1eae45161f 100644
--- a/src/USER-SMD/fix_smd_integrate_tlsph.cpp
+++ b/src/USER-SMD/fix_smd_integrate_tlsph.cpp
@@ -125,7 +125,7 @@ void FixSMDIntegrateTlsph::init() {
/* ----------------------------------------------------------------------
------------------------------------------------------------------------- */
-void FixSMDIntegrateTlsph::initial_integrate(int vflag) {
+void FixSMDIntegrateTlsph::initial_integrate(int /*vflag*/) {
double dtfm, vsq, scale;
// update v and x of atoms in group
diff --git a/src/USER-SMD/fix_smd_integrate_ulsph.cpp b/src/USER-SMD/fix_smd_integrate_ulsph.cpp
index a145deeb61..685d6af5a8 100644
--- a/src/USER-SMD/fix_smd_integrate_ulsph.cpp
+++ b/src/USER-SMD/fix_smd_integrate_ulsph.cpp
@@ -158,7 +158,7 @@ void FixSMDIntegrateUlsph::init() {
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixSMDIntegrateUlsph::initial_integrate(int vflag) {
+void FixSMDIntegrateUlsph::initial_integrate(int /*vflag*/) {
double **x = atom->x;
double **v = atom->v;
double **f = atom->f;
diff --git a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp
index d4afbe0535..b0944f1186 100644
--- a/src/USER-SMD/fix_smd_move_triangulated_surface.cpp
+++ b/src/USER-SMD/fix_smd_move_triangulated_surface.cpp
@@ -248,7 +248,7 @@ void FixSMDMoveTriSurf::init() {
/* ----------------------------------------------------------------------
------------------------------------------------------------------------- */
-void FixSMDMoveTriSurf::initial_integrate(int vflag) {
+void FixSMDMoveTriSurf::initial_integrate(int /*vflag*/) {
double **x = atom->x;
double **x0 = atom->x0;
double **v = atom->v;
@@ -461,7 +461,7 @@ void FixSMDMoveTriSurf::reset_dt() {
/* ---------------------------------------------------------------------- */
-int FixSMDMoveTriSurf::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) {
+int FixSMDMoveTriSurf::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) {
int i, j, m;
double **x0 = atom->x0;
double **smd_data_9 = atom->smd_data_9;
diff --git a/src/USER-SMD/fix_smd_setvel.cpp b/src/USER-SMD/fix_smd_setvel.cpp
index 5e7cdbad38..4bc8b5127b 100644
--- a/src/USER-SMD/fix_smd_setvel.cpp
+++ b/src/USER-SMD/fix_smd_setvel.cpp
@@ -231,7 +231,7 @@ void FixSMDSetVel::min_setup(int vflag) {
/* ---------------------------------------------------------------------- */
//void FixSMDSetVel::initial_integrate(int vflag) {
-void FixSMDSetVel::post_force(int vflag) {
+void FixSMDSetVel::post_force(int /*vflag*/) {
double **x = atom->x;
double **f = atom->f;
double **v = atom->v;
diff --git a/src/USER-SMD/fix_smd_setvel.h b/src/USER-SMD/fix_smd_setvel.h
index b987a56f6c..a3e650e682 100644
--- a/src/USER-SMD/fix_smd_setvel.h
+++ b/src/USER-SMD/fix_smd_setvel.h
@@ -56,7 +56,6 @@ class FixSMDSetVel : public Fix {
int xvar,yvar,zvar,xstyle,ystyle,zstyle;
double foriginal[3],foriginal_all[3];
int force_flag;
- int nlevels_respa;
int maxatom;
double **sforce;
diff --git a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp
index 3e2812aa12..a2813cc3ca 100644
--- a/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp
+++ b/src/USER-SMD/fix_smd_tlsph_reference_configuration.cpp
@@ -149,7 +149,7 @@ void FixSMD_TLSPH_ReferenceConfiguration::pre_exchange() {
if (updateFlag > 0) {
if (comm->me == 0) {
- printf("**** updating ref config at step: %ld\n", update->ntimestep);
+ printf("**** updating ref config at step: " BIGINT_FORMAT "\n", update->ntimestep);
}
for (i = 0; i < nlocal; i++) {
@@ -199,7 +199,7 @@ void FixSMD_TLSPH_ReferenceConfiguration::pre_exchange() {
so can be migrated or stored with atoms
------------------------------------------------------------------------- */
-void FixSMD_TLSPH_ReferenceConfiguration::setup(int vflag) {
+void FixSMD_TLSPH_ReferenceConfiguration::setup(int /*vflag*/) {
int i, j, ii, jj, n, inum, jnum;
int *ilist, *jlist, *numneigh, **firstneigh;
double r, h, wf, wfd;
@@ -386,7 +386,7 @@ void FixSMD_TLSPH_ReferenceConfiguration::grow_arrays(int nmax) {
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixSMD_TLSPH_ReferenceConfiguration::copy_arrays(int i, int j, int delflag) {
+void FixSMD_TLSPH_ReferenceConfiguration::copy_arrays(int i, int j, int /*delflag*/) {
npartner[j] = npartner[i];
for (int m = 0; m < npartner[j]; m++) {
partner[j][m] = partner[i][m];
@@ -470,7 +470,7 @@ int FixSMD_TLSPH_ReferenceConfiguration::pack_restart(int i, double *buf) {
unpack values from atom->extra array to restart the fix
------------------------------------------------------------------------- */
-void FixSMD_TLSPH_ReferenceConfiguration::unpack_restart(int nlocal, int nth) {
+void FixSMD_TLSPH_ReferenceConfiguration::unpack_restart(int /*nlocal*/, int /*nth*/) {
// ipage = NULL if being called from granular pair style init()
// skip to Nth set of extra values
@@ -512,7 +512,7 @@ int FixSMD_TLSPH_ReferenceConfiguration::size_restart(int nlocal) {
/* ---------------------------------------------------------------------- */
-int FixSMD_TLSPH_ReferenceConfiguration::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) {
+int FixSMD_TLSPH_ReferenceConfiguration::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) {
int i, j, m;
double *radius = atom->radius;
double *vfrac = atom->vfrac;
diff --git a/src/USER-SMD/fix_smd_wall_surface.cpp b/src/USER-SMD/fix_smd_wall_surface.cpp
index 97c2ead5fc..4dd415f53e 100644
--- a/src/USER-SMD/fix_smd_wall_surface.cpp
+++ b/src/USER-SMD/fix_smd_wall_surface.cpp
@@ -110,7 +110,7 @@ void FixSMDWallSurface::min_setup(int vflag) {
must be done in setup (not init) since fix init comes before neigh init
------------------------------------------------------------------------- */
-void FixSMDWallSurface::setup(int vflag) {
+void FixSMDWallSurface::setup(int /*vflag*/) {
if (!first)
return;
diff --git a/src/USER-SMD/pair_smd_hertz.cpp b/src/USER-SMD/pair_smd_hertz.cpp
index 815db4a450..13f48e995e 100644
--- a/src/USER-SMD/pair_smd_hertz.cpp
+++ b/src/USER-SMD/pair_smd_hertz.cpp
@@ -373,7 +373,7 @@ double PairHertz::memory_usage() {
return 0.0;
}
-void *PairHertz::extract(const char *str, int &i) {
+void *PairHertz::extract(const char *str, int &/*i*/) {
//printf("in PairTriSurf::extract\n");
if (strcmp(str, "smd/hertz/stable_time_increment_ptr") == 0) {
return (void *) &stable_time_increment;
diff --git a/src/USER-SMD/pair_smd_tlsph.cpp b/src/USER-SMD/pair_smd_tlsph.cpp
index 4dd16c4d83..09fe3b1180 100644
--- a/src/USER-SMD/pair_smd_tlsph.cpp
+++ b/src/USER-SMD/pair_smd_tlsph.cpp
@@ -1802,7 +1802,7 @@ double PairTlsph::memory_usage() {
extract method to provide access to this class' data structures
------------------------------------------------------------------------- */
-void *PairTlsph::extract(const char *str, int &i) {
+void *PairTlsph::extract(const char *str, int &/*i*/) {
//printf("in PairTlsph::extract\n");
if (strcmp(str, "smd/tlsph/Fincr_ptr") == 0) {
return (void *) Fincr;
@@ -1839,7 +1839,7 @@ void *PairTlsph::extract(const char *str, int &i) {
/* ---------------------------------------------------------------------- */
-int PairTlsph::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) {
+int PairTlsph::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) {
int i, j, m;
tagint *mol = atom->molecule;
double *damage = atom->damage;
@@ -1928,7 +1928,7 @@ void PairTlsph::unpack_forward_comm(int n, int first, double *buf) {
------------------------------------------------------------------------- */
void PairTlsph::effective_longitudinal_modulus(const int itype, const double dt, const double d_iso, const double p_rate,
- const Matrix3d d_dev, const Matrix3d sigma_dev_rate, const double damage, double &K_eff, double &mu_eff, double &M_eff) {
+ const Matrix3d d_dev, const Matrix3d sigma_dev_rate, const double /*damage*/, double &K_eff, double &mu_eff, double &M_eff) {
double M0; // initial longitudinal modulus
double shear_rate_sq;
@@ -2094,7 +2094,7 @@ void PairTlsph::ComputeStressDeviator(const int i, const Matrix3d sigmaInitial_d
/* ----------------------------------------------------------------------
Compute damage. Called from AssembleStress().
------------------------------------------------------------------------- */
-void PairTlsph::ComputeDamage(const int i, const Matrix3d strain, const Matrix3d stress, Matrix3d &stress_damaged) {
+void PairTlsph::ComputeDamage(const int i, const Matrix3d strain, const Matrix3d stress, Matrix3d &/*stress_damaged*/) {
double *eff_plastic_strain = atom->eff_plastic_strain;
double *eff_plastic_strain_rate = atom->eff_plastic_strain_rate;
double *radius = atom->radius;
diff --git a/src/USER-SMD/pair_smd_triangulated_surface.cpp b/src/USER-SMD/pair_smd_triangulated_surface.cpp
index b8bff7e799..e40c876ec3 100644
--- a/src/USER-SMD/pair_smd_triangulated_surface.cpp
+++ b/src/USER-SMD/pair_smd_triangulated_surface.cpp
@@ -834,7 +834,7 @@ double PairTriSurf::clamp(const double a, const double min, const double max) {
}
}
-void *PairTriSurf::extract(const char *str, int &i) {
+void *PairTriSurf::extract(const char *str, int &/*i*/) {
//printf("in PairTriSurf::extract\n");
if (strcmp(str, "smd/tri_surface/stable_time_increment_ptr") == 0) {
return (void *) &stable_time_increment;
diff --git a/src/USER-SMD/pair_smd_ulsph.cpp b/src/USER-SMD/pair_smd_ulsph.cpp
index 96eb912fae..ff3720b2ff 100644
--- a/src/USER-SMD/pair_smd_ulsph.cpp
+++ b/src/USER-SMD/pair_smd_ulsph.cpp
@@ -1487,7 +1487,7 @@ double PairULSPH::memory_usage() {
/* ---------------------------------------------------------------------- */
-int PairULSPH::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc) {
+int PairULSPH::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/) {
double *vfrac = atom->vfrac;
double *eff_plastic_strain = atom->eff_plastic_strain;
int i, j, m;
@@ -1562,7 +1562,7 @@ void PairULSPH::unpack_forward_comm(int n, int first, double *buf) {
* EXTRACT
*/
-void *PairULSPH::extract(const char *str, int &i) {
+void *PairULSPH::extract(const char *str, int &/*i*/) {
//printf("in extract\n");
if (strcmp(str, "smd/ulsph/smoothVel_ptr") == 0) {
return (void *) smoothVel;
diff --git a/src/USER-SMD/smd_material_models.cpp b/src/USER-SMD/smd_material_models.cpp
index e3deb199b6..4213428872 100644
--- a/src/USER-SMD/smd_material_models.cpp
+++ b/src/USER-SMD/smd_material_models.cpp
@@ -97,7 +97,7 @@ void ShockEOS(double rho, double rho0, double e, double e0, double c0, double S,
final pressure pFinal
------------------------------------------------------------------------- */
-void polynomialEOS(double rho, double rho0, double e, double C0, double C1, double C2, double C3, double C4, double C5, double C6,
+void polynomialEOS(double rho, double rho0, double /*e*/, double C0, double C1, double C2, double C3, double /*C4*/, double /*C5*/, double /*C6*/,
double pInitial, double dt, double &pFinal, double &p_rate) {
double mu = rho / rho0 - 1.0;
@@ -307,7 +307,7 @@ void LinearPlasticStrength(const double G, const double yieldStress, const Matri
output: sigmaFinal_dev, sigmaFinal_dev_rate__: final stress deviator and its rate.
------------------------------------------------------------------------- */
void JohnsonCookStrength(const double G, const double cp, const double espec, const double A, const double B, const double a,
- const double C, const double epdot0, const double T0, const double Tmelt, const double M, const double dt, const double ep,
+ const double C, const double epdot0, const double T0, const double Tmelt, const double /*M*/, const double dt, const double ep,
const double epdot, const Matrix3d sigmaInitial_dev, const Matrix3d d_dev, Matrix3d &sigmaFinal_dev__,
Matrix3d &sigma_dev_rate__, double &plastic_strain_increment) {
diff --git a/src/USER-SMTBQ/pair_smtbq.cpp b/src/USER-SMTBQ/pair_smtbq.cpp
index 1028d8a897..a8cce49749 100644
--- a/src/USER-SMTBQ/pair_smtbq.cpp
+++ b/src/USER-SMTBQ/pair_smtbq.cpp
@@ -242,7 +242,7 @@ void PairSMTBQ::allocate()
global settings
------------------------------------------------------------------------- */
-void PairSMTBQ::settings(int narg, char **arg)
+void PairSMTBQ::settings(int narg, char **/*arg*/)
{
if (narg > 0) error->all(FLERR,"Illegal pair_style command");
}
@@ -1592,7 +1592,7 @@ void PairSMTBQ::tabqeq()
/* ---------------------------------------------------------------------*/
void PairSMTBQ::potqeq(int i, int j, double qi, double qj, double rsq,
- double &fforce, int eflag, double &eng)
+ double &fforce, int /*eflag*/, double &eng)
{
/* ===================================================================
@@ -1840,7 +1840,7 @@ void PairSMTBQ::pot_ES2 (int i, int j, double rsq, double &pot)
-------------------------------------------------------------------- */
void PairSMTBQ::rep_OO(Intparam *intparam, double rsq, double &fforce,
- int eflag, double &eng)
+ int /*eflag*/, double &eng)
{
double r,tmp_exp,tmp;
double A = intparam->abuck ;
@@ -1858,7 +1858,7 @@ void PairSMTBQ::rep_OO(Intparam *intparam, double rsq, double &fforce,
void PairSMTBQ::Attr_OO(Intparam *intparam, double rsq, double &fforce,
- int eflag, double &eng)
+ int /*eflag*/, double &eng)
{
double r,tmp_exp;
double aOO = intparam->aOO ;
@@ -1980,8 +1980,8 @@ void PairSMTBQ::tabsm()
/* -------------------------------------------------------------- */
-void PairSMTBQ::repulsive(Intparam *intparam, double rsq, int i, int j,
- double &fforce, int eflag, double &eng)
+void PairSMTBQ::repulsive(Intparam *intparam, double rsq, int /*i*/, int /*j*/,
+ double &fforce, int /*eflag*/, double &eng)
{
/* ================================================
@@ -2031,7 +2031,7 @@ void PairSMTBQ::repulsive(Intparam *intparam, double rsq, int i, int j,
void PairSMTBQ::attractive(Intparam *intparam, double rsq,
- int eflag, int i, double iq, int j, double jq)
+ int /*eflag*/, int i, double /*iq*/, int /*j*/, double /*jq*/)
{
int itype,l;
double r,t1,t2,xi,sds;
@@ -3334,7 +3334,7 @@ void PairSMTBQ::groupQEqAllParallel_QEq()
/* ---------------------------------------------------------------------- */
-void PairSMTBQ::Init_charge(int *nQEq, int *nQEqa, int *nQEqc)
+void PairSMTBQ::Init_charge(int * /*nQEq*/, int * /*nQEqa*/, int * /*nQEqc*/)
{
int ii,i,gp,itype;
int *ilist,test[nteam],init[nteam];
@@ -3391,7 +3391,7 @@ void PairSMTBQ::Init_charge(int *nQEq, int *nQEqa, int *nQEqc)
* COMMUNICATION
* ---------------------------------------------------------------------- */
-int PairSMTBQ::pack_forward_comm(int n, int *list, double *buf, int pbc_flag, int *pbc)
+int PairSMTBQ::pack_forward_comm(int n, int *list, double *buf, int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/USER-SPH/fix_meso.cpp b/src/USER-SPH/fix_meso.cpp
index d7a5d81517..b688eccfea 100644
--- a/src/USER-SPH/fix_meso.cpp
+++ b/src/USER-SPH/fix_meso.cpp
@@ -64,7 +64,7 @@ void FixMeso::init() {
dtf = 0.5 * update->dt * force->ftm2v;
}
-void FixMeso::setup_pre_force(int vflag)
+void FixMeso::setup_pre_force(int /*vflag*/)
{
// set vest equal to v
double **v = atom->v;
@@ -87,7 +87,7 @@ void FixMeso::setup_pre_force(int vflag)
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixMeso::initial_integrate(int vflag) {
+void FixMeso::initial_integrate(int /*vflag*/) {
// update v and x and rho and e of atoms in group
double **x = atom->x;
diff --git a/src/USER-SPH/fix_meso_stationary.cpp b/src/USER-SPH/fix_meso_stationary.cpp
index f5fc306320..29e8a1554c 100644
--- a/src/USER-SPH/fix_meso_stationary.cpp
+++ b/src/USER-SPH/fix_meso_stationary.cpp
@@ -67,7 +67,7 @@ void FixMesoStationary::init() {
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixMesoStationary::initial_integrate(int vflag) {
+void FixMesoStationary::initial_integrate(int /*vflag*/) {
double *rho = atom->rho;
double *drho = atom->drho;
diff --git a/src/USER-SPH/pair_sph_heatconduction.cpp b/src/USER-SPH/pair_sph_heatconduction.cpp
index 6f0cf7eca2..4a8990d6fd 100644
--- a/src/USER-SPH/pair_sph_heatconduction.cpp
+++ b/src/USER-SPH/pair_sph_heatconduction.cpp
@@ -155,7 +155,7 @@ void PairSPHHeatConduction::allocate() {
global settings
------------------------------------------------------------------------- */
-void PairSPHHeatConduction::settings(int narg, char **arg) {
+void PairSPHHeatConduction::settings(int narg, char **/*arg*/) {
if (narg != 0)
error->all(FLERR,
"Illegal number of setting arguments for pair_style sph/heatconduction");
@@ -211,8 +211,8 @@ double PairSPHHeatConduction::init_one(int i, int j) {
/* ---------------------------------------------------------------------- */
-double PairSPHHeatConduction::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj, double &fforce) {
+double PairSPHHeatConduction::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/,
+ double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) {
fforce = 0.0;
return 0.0;
diff --git a/src/USER-SPH/pair_sph_idealgas.cpp b/src/USER-SPH/pair_sph_idealgas.cpp
index 99fba05917..32b3e61233 100644
--- a/src/USER-SPH/pair_sph_idealgas.cpp
+++ b/src/USER-SPH/pair_sph_idealgas.cpp
@@ -197,7 +197,7 @@ void PairSPHIdealGas::allocate() {
global settings
------------------------------------------------------------------------- */
-void PairSPHIdealGas::settings(int narg, char **arg) {
+void PairSPHIdealGas::settings(int narg, char **/*arg*/) {
if (narg != 0)
error->all(FLERR,
"Illegal number of setting arguments for pair_style sph/idealgas");
@@ -252,8 +252,8 @@ double PairSPHIdealGas::init_one(int i, int j) {
/* ---------------------------------------------------------------------- */
-double PairSPHIdealGas::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj, double &fforce) {
+double PairSPHIdealGas::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/,
+ double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) {
fforce = 0.0;
return 0.0;
diff --git a/src/USER-SPH/pair_sph_lj.cpp b/src/USER-SPH/pair_sph_lj.cpp
index 5cefdf87c4..c382833baf 100644
--- a/src/USER-SPH/pair_sph_lj.cpp
+++ b/src/USER-SPH/pair_sph_lj.cpp
@@ -204,7 +204,7 @@ void PairSPHLJ::allocate() {
global settings
------------------------------------------------------------------------- */
-void PairSPHLJ::settings(int narg, char **arg) {
+void PairSPHLJ::settings(int narg, char **/*arg*/) {
if (narg != 0)
error->all(FLERR,
"Illegal number of setting arguments for pair_style sph/lj");
@@ -261,8 +261,8 @@ double PairSPHLJ::init_one(int i, int j) {
/* ---------------------------------------------------------------------- */
-double PairSPHLJ::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj, double &fforce) {
+double PairSPHLJ::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/,
+ double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) {
fforce = 0.0;
return 0.0;
diff --git a/src/USER-SPH/pair_sph_rhosum.cpp b/src/USER-SPH/pair_sph_rhosum.cpp
index 605187d3a7..7a3c78efd0 100644
--- a/src/USER-SPH/pair_sph_rhosum.cpp
+++ b/src/USER-SPH/pair_sph_rhosum.cpp
@@ -278,8 +278,8 @@ double PairSPHRhoSum::init_one(int i, int j) {
/* ---------------------------------------------------------------------- */
-double PairSPHRhoSum::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj, double &fforce) {
+double PairSPHRhoSum::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/, double /*rsq*/,
+ double /*factor_coul*/, double /*factor_lj*/, double &fforce) {
fforce = 0.0;
return 0.0;
@@ -288,7 +288,7 @@ double PairSPHRhoSum::single(int i, int j, int itype, int jtype, double rsq,
/* ---------------------------------------------------------------------- */
int PairSPHRhoSum::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc) {
+ int /*pbc_flag*/, int * /*pbc*/) {
int i, j, m;
double *rho = atom->rho;
diff --git a/src/USER-SPH/pair_sph_taitwater.cpp b/src/USER-SPH/pair_sph_taitwater.cpp
index 00500b940d..42b318f2c9 100644
--- a/src/USER-SPH/pair_sph_taitwater.cpp
+++ b/src/USER-SPH/pair_sph_taitwater.cpp
@@ -225,7 +225,7 @@ void PairSPHTaitwater::allocate() {
global settings
------------------------------------------------------------------------- */
-void PairSPHTaitwater::settings(int narg, char **arg) {
+void PairSPHTaitwater::settings(int narg, char **/*arg*/) {
if (narg != 0)
error->all(FLERR,
"Illegal number of setting arguments for pair_style sph/taitwater");
@@ -293,8 +293,8 @@ double PairSPHTaitwater::init_one(int i, int j) {
/* ---------------------------------------------------------------------- */
-double PairSPHTaitwater::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj, double &fforce) {
+double PairSPHTaitwater::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/,
+ double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) {
fforce = 0.0;
return 0.0;
diff --git a/src/USER-SPH/pair_sph_taitwater_morris.cpp b/src/USER-SPH/pair_sph_taitwater_morris.cpp
index 80607cb333..8012895af8 100644
--- a/src/USER-SPH/pair_sph_taitwater_morris.cpp
+++ b/src/USER-SPH/pair_sph_taitwater_morris.cpp
@@ -225,7 +225,7 @@ void PairSPHTaitwaterMorris::allocate() {
global settings
------------------------------------------------------------------------- */
-void PairSPHTaitwaterMorris::settings(int narg, char **arg) {
+void PairSPHTaitwaterMorris::settings(int narg, char **/*arg*/) {
if (narg != 0)
error->all(FLERR,
"Illegal number of setting arguments for pair_style sph/taitwater/morris");
@@ -289,8 +289,8 @@ double PairSPHTaitwaterMorris::init_one(int i, int j) {
/* ---------------------------------------------------------------------- */
-double PairSPHTaitwaterMorris::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj, double &fforce) {
+double PairSPHTaitwaterMorris::single(int /*i*/, int /*j*/, int /*itype*/, int /*jtype*/,
+ double /*rsq*/, double /*factor_coul*/, double /*factor_lj*/, double &fforce) {
fforce = 0.0;
return 0.0;
diff --git a/src/USER-UEF/fix_nh_uef.cpp b/src/USER-UEF/fix_nh_uef.cpp
index bfa4549286..bffcd7849f 100644
--- a/src/USER-UEF/fix_nh_uef.cpp
+++ b/src/USER-UEF/fix_nh_uef.cpp
@@ -348,7 +348,7 @@ void FixNHUef::final_integrate()
* at outer level: call this->final_integrate()
* at other levels: rotate -> 2nd verlet step -> rotate back
* ---------------------------------------------------------------------- */
-void FixNHUef::final_integrate_respa(int ilevel, int iloop)
+void FixNHUef::final_integrate_respa(int ilevel, int /*iloop*/)
{
// set timesteps by level
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
diff --git a/src/accelerator_kokkos.h b/src/accelerator_kokkos.h
index 8bbb6c4788..e64bde24be 100644
--- a/src/accelerator_kokkos.h
+++ b/src/accelerator_kokkos.h
@@ -66,8 +66,8 @@ class AtomKokkos : public Atom {
tagint **k_special;
AtomKokkos(class LAMMPS *lmp) : Atom(lmp) {}
~AtomKokkos() {}
- void sync(const ExecutionSpace space, unsigned int mask) {}
- void modified(const ExecutionSpace space, unsigned int mask) {}
+ void sync(const ExecutionSpace /*space*/, unsigned int /*mask*/) {}
+ void modified(const ExecutionSpace /*space*/, unsigned int /*mask*/) {}
};
class CommKokkos : public CommBrick {
diff --git a/src/accelerator_omp.h b/src/accelerator_omp.h
index 6caa0826fe..25910ae800 100644
--- a/src/accelerator_omp.h
+++ b/src/accelerator_omp.h
@@ -17,47 +17,6 @@
// true interface to USER-OMP
-// this part is used inside the neighbor.h header file to
-// add functions to the Neighbor class definition
-
-#ifdef LMP_INSIDE_NEIGHBOR_H
-
- void half_nsq_no_newton_omp(class NeighList *);
- void half_nsq_no_newton_ghost_omp(class NeighList *);
- void half_nsq_newton_omp(class NeighList *);
-
- void half_bin_no_newton_omp(class NeighList *);
- void half_bin_no_newton_ghost_omp(class NeighList *);
- void half_bin_newton_omp(class NeighList *);
- void half_bin_newton_tri_omp(class NeighList *);
-
- void half_multi_no_newton_omp(class NeighList *);
- void half_multi_newton_omp(class NeighList *);
- void half_multi_newton_tri_omp(class NeighList *);
-
- void full_nsq_omp(class NeighList *);
- void full_nsq_ghost_omp(class NeighList *);
- void full_bin_omp(class NeighList *);
- void full_bin_ghost_omp(class NeighList *);
- void full_multi_omp(class NeighList *);
-
- void half_from_full_no_newton_omp(class NeighList *);
- void half_from_full_newton_omp(class NeighList *);
-
- void granular_nsq_no_newton_omp(class NeighList *);
- void granular_nsq_newton_omp(class NeighList *);
- void granular_bin_no_newton_omp(class NeighList *);
- void granular_bin_newton_omp(class NeighList *);
- void granular_bin_newton_tri_omp(class NeighList *);
-
- void respa_nsq_no_newton_omp(class NeighList *);
- void respa_nsq_newton_omp(class NeighList *);
- void respa_bin_no_newton_omp(class NeighList *);
- void respa_bin_newton_omp(class NeighList *);
- void respa_bin_newton_tri_omp(class NeighList *);
-
-#else /* !LMP_INSIDE_NEIGHBOR_H */
-
// provide a DomainOMP class with some overrides for Domain
#include "domain.h"
@@ -68,8 +27,8 @@ namespace LAMMPS_NS {
class DomainOMP : public Domain {
public:
- DomainOMP(class LAMMPS *lmp) : Domain(lmp) {};
- virtual ~DomainOMP() {};
+ DomainOMP(class LAMMPS *lmp) : Domain(lmp) {}
+ virtual ~DomainOMP() {}
// multi-threaded versions
virtual void pbc();
@@ -81,48 +40,5 @@ class DomainOMP : public Domain {
}
#endif /* LMP_DOMAIN_OMP_H */
-#endif /* !LMP_INSIDE_NEIGHBOR_H */
-
-#else /* !LMP_USER_OMP */
-
-// dummy interface to USER-OMP
-// needed for compiling when USER-OMP is not installed
-
-#ifdef LMP_INSIDE_NEIGHBOR_H
-
- void half_nsq_no_newton_omp(class NeighList *) {}
- void half_nsq_no_newton_ghost_omp(class NeighList *) {}
- void half_nsq_newton_omp(class NeighList *) {}
-
- void half_bin_no_newton_omp(class NeighList *) {}
- void half_bin_no_newton_ghost_omp(class NeighList *) {}
- void half_bin_newton_omp(class NeighList *) {}
- void half_bin_newton_tri_omp(class NeighList *) {}
-
- void half_multi_no_newton_omp(class NeighList *) {}
- void half_multi_newton_omp(class NeighList *) {}
- void half_multi_newton_tri_omp(class NeighList *) {}
-
- void full_nsq_omp(class NeighList *) {}
- void full_nsq_ghost_omp(class NeighList *) {}
- void full_bin_omp(class NeighList *) {}
- void full_bin_ghost_omp(class NeighList *) {}
- void full_multi_omp(class NeighList *) {}
-
- void half_from_full_no_newton_omp(class NeighList *) {}
- void half_from_full_newton_omp(class NeighList *) {}
-
- void granular_nsq_no_newton_omp(class NeighList *) {}
- void granular_nsq_newton_omp(class NeighList *) {}
- void granular_bin_no_newton_omp(class NeighList *) {}
- void granular_bin_newton_omp(class NeighList *) {}
- void granular_bin_newton_tri_omp(class NeighList *) {}
-
- void respa_nsq_no_newton_omp(class NeighList *) {}
- void respa_nsq_newton_omp(class NeighList *) {}
- void respa_bin_no_newton_omp(class NeighList *) {}
- void respa_bin_newton_omp(class NeighList *) {}
- void respa_bin_newton_tri_omp(class NeighList *) {}
-#endif
#endif /* !LMP_USER_OMP */
diff --git a/src/angle_zero.cpp b/src/angle_zero.cpp
index e5191c4fb2..d7b7c9cdb5 100644
--- a/src/angle_zero.cpp
+++ b/src/angle_zero.cpp
@@ -148,7 +148,7 @@ void AngleZero::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double AngleZero::single(int type, int i1, int i2, int i3)
+double AngleZero::single(int /*type*/, int /*i1*/, int /*i2*/, int /*i3*/)
{
return 0.0;
}
diff --git a/src/atom.cpp b/src/atom.cpp
index cf4d20a71e..95f5406d95 100644
--- a/src/atom.cpp
+++ b/src/atom.cpp
@@ -99,7 +99,7 @@ Atom::Atom(LAMMPS *lmp) : Pointers(lmp)
// SPIN package
sp = fm = NULL;
-
+
// USER-DPD
uCond = uMech = uChem = uCG = uCGnew = NULL;
@@ -1516,7 +1516,7 @@ void Atom::set_mass(const char *file, int line, int itype, double value)
called from reading of input script
------------------------------------------------------------------------- */
-void Atom::set_mass(const char *file, int line, int narg, char **arg)
+void Atom::set_mass(const char *file, int line, int /*narg*/, char **arg)
{
if (mass == NULL) error->all(file,line,"Cannot set mass for this atom style");
@@ -1533,7 +1533,8 @@ void Atom::set_mass(const char *file, int line, int narg, char **arg)
}
/* ----------------------------------------------------------------------
- set all masses as read in from restart file
+ set all masses
+ called from reading of restart file, also from ServerMD
------------------------------------------------------------------------- */
void Atom::set_mass(double *values)
diff --git a/src/atom_vec.cpp b/src/atom_vec.cpp
index b04bfba34c..a7ca6fcb19 100644
--- a/src/atom_vec.cpp
+++ b/src/atom_vec.cpp
@@ -66,7 +66,7 @@ void AtomVec::store_args(int narg, char **arg)
no additional args by default
------------------------------------------------------------------------- */
-void AtomVec::process_args(int narg, char **arg)
+void AtomVec::process_args(int narg, char ** /*arg*/)
{
if (narg) error->all(FLERR,"Invalid atom_style command");
}
diff --git a/src/atom_vec_body.cpp b/src/atom_vec_body.cpp
index 4d3b5643ae..5a277627ee 100644
--- a/src/atom_vec_body.cpp
+++ b/src/atom_vec_body.cpp
@@ -82,6 +82,9 @@ AtomVecBody::~AtomVecBody()
void AtomVecBody::process_args(int narg, char **arg)
{
+ // suppress unused parameter warning dependent on style_body.h
+ (void)(arg);
+
if (narg < 1) error->all(FLERR,"Invalid atom_style body command");
if (0) bptr = NULL;
diff --git a/src/body.cpp b/src/body.cpp
index 42f4ccbdd3..78e2f5d71b 100644
--- a/src/body.cpp
+++ b/src/body.cpp
@@ -21,7 +21,7 @@ using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */
-Body::Body(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp)
+Body::Body(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp)
{
int n = strlen(arg[0]) + 1;
style = new char[n];
diff --git a/src/bond_zero.cpp b/src/bond_zero.cpp
index 9fd9d4a580..9fcf300b21 100644
--- a/src/bond_zero.cpp
+++ b/src/bond_zero.cpp
@@ -149,8 +149,8 @@ void BondZero::write_data(FILE *fp)
/* ---------------------------------------------------------------------- */
-double BondZero::single(int type, double rsq, int i, int j,
- double &fforce)
+double BondZero::single(int /*type*/, double /*rsq*/, int /*i*/, int /*j*/,
+ double & /*fforce*/)
{
return 0.0;
}
diff --git a/src/comm_brick.cpp b/src/comm_brick.cpp
index 3aa6d7748c..49c9db172f 100644
--- a/src/comm_brick.cpp
+++ b/src/comm_brick.cpp
@@ -88,7 +88,7 @@ CommBrick::~CommBrick()
// The call to Comm::copy_arrays() then converts the shallow copy
// into a deep copy of the class with the new layout.
-CommBrick::CommBrick(LAMMPS *lmp, Comm *oldcomm) : Comm(*oldcomm)
+CommBrick::CommBrick(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm)
{
if (oldcomm->layout == Comm::LAYOUT_TILED)
error->all(FLERR,"Cannot change to comm_style brick from tiled layout");
@@ -457,7 +457,7 @@ int CommBrick::updown(int dim, int dir, int loc,
other per-atom attributes may also be sent via pack/unpack routines
------------------------------------------------------------------------- */
-void CommBrick::forward_comm(int dummy)
+void CommBrick::forward_comm(int /*dummy*/)
{
int n;
MPI_Request request;
diff --git a/src/comm_tiled.cpp b/src/comm_tiled.cpp
index 584be94bf3..d7d2e4725d 100644
--- a/src/comm_tiled.cpp
+++ b/src/comm_tiled.cpp
@@ -55,7 +55,7 @@ CommTiled::CommTiled(LAMMPS *lmp) : Comm(lmp)
// The call to Comm::copy_arrays() then converts the shallow copy
// into a deep copy of the class with the new layout.
-CommTiled::CommTiled(LAMMPS *lmp, Comm *oldcomm) : Comm(*oldcomm)
+CommTiled::CommTiled(LAMMPS * /*lmp*/, Comm *oldcomm) : Comm(*oldcomm)
{
style = 1;
layout = oldcomm->layout;
@@ -438,7 +438,7 @@ void CommTiled::setup()
other per-atom attributes may also be sent via pack/unpack routines
------------------------------------------------------------------------- */
-void CommTiled::forward_comm(int dummy)
+void CommTiled::forward_comm(int /*dummy*/)
{
int i,irecv,n,nsend,nrecv;
AtomVec *avec = atom->avec;
@@ -1164,7 +1164,7 @@ void CommTiled::reverse_comm_fix(Fix *fix, int size)
NOTE: how to setup one big buf recv with correct offsets ??
------------------------------------------------------------------------- */
-void CommTiled::reverse_comm_fix_variable(Fix *fix)
+void CommTiled::reverse_comm_fix_variable(Fix * /*fix*/)
{
error->all(FLERR,"Reverse comm fix variable not yet supported by CommTiled");
}
@@ -1428,7 +1428,7 @@ void CommTiled::forward_comm_array(int nsize, double **array)
NOTE: this method is currently not used
------------------------------------------------------------------------- */
-int CommTiled::exchange_variable(int n, double *inbuf, double *&outbuf)
+int CommTiled::exchange_variable(int n, double * /*inbuf*/, double *& /*outbuf*/)
{
int nrecv = n;
return nrecv;
@@ -1509,7 +1509,7 @@ void CommTiled::box_drop_brick(int idim, double *lo, double *hi, int &indexme)
no need to split lo/hi box as recurse b/c OK if box extends outside RCB box
------------------------------------------------------------------------- */
-void CommTiled::box_drop_tiled(int idim, double *lo, double *hi, int &indexme)
+void CommTiled::box_drop_tiled(int /*idim*/, double *lo, double *hi, int &indexme)
{
box_drop_tiled_recurse(lo,hi,0,nprocs-1,indexme);
}
@@ -1601,7 +1601,7 @@ void CommTiled::box_other_brick(int idim, int idir,
return other box owned by proc as lo/hi corner pts
------------------------------------------------------------------------- */
-void CommTiled::box_other_tiled(int idim, int idir,
+void CommTiled::box_other_tiled(int /*idim*/, int /*idir*/,
int proc, double *lo, double *hi)
{
double (*split)[2] = rcbinfo[proc].mysplit;
diff --git a/src/compute_aggregate_atom.cpp b/src/compute_aggregate_atom.cpp
index 56855fcc29..6c8c8e5d9a 100644
--- a/src/compute_aggregate_atom.cpp
+++ b/src/compute_aggregate_atom.cpp
@@ -98,7 +98,7 @@ void ComputeAggregateAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeAggregateAtom::init_list(int id, NeighList *ptr)
+void ComputeAggregateAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -231,7 +231,7 @@ void ComputeAggregateAtom::compute_peratom()
/* ---------------------------------------------------------------------- */
int ComputeAggregateAtom::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/compute_bond_local.cpp b/src/compute_bond_local.cpp
index 985e3ef075..56abb9b071 100644
--- a/src/compute_bond_local.cpp
+++ b/src/compute_bond_local.cpp
@@ -337,7 +337,7 @@ int ComputeBondLocal::compute_bonds(int flag)
/* ---------------------------------------------------------------------- */
int ComputeBondLocal::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/compute_centro_atom.cpp b/src/compute_centro_atom.cpp
index 48af453635..5096879b32 100644
--- a/src/compute_centro_atom.cpp
+++ b/src/compute_centro_atom.cpp
@@ -110,7 +110,7 @@ void ComputeCentroAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeCentroAtom::init_list(int id, NeighList *ptr)
+void ComputeCentroAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_cluster_atom.cpp b/src/compute_cluster_atom.cpp
index 85934c5e6d..0c34b42671 100644
--- a/src/compute_cluster_atom.cpp
+++ b/src/compute_cluster_atom.cpp
@@ -89,7 +89,7 @@ void ComputeClusterAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeClusterAtom::init_list(int id, NeighList *ptr)
+void ComputeClusterAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -209,7 +209,7 @@ void ComputeClusterAtom::compute_peratom()
/* ---------------------------------------------------------------------- */
int ComputeClusterAtom::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/compute_cna_atom.cpp b/src/compute_cna_atom.cpp
index a1b97d9404..b8ad3f0f64 100644
--- a/src/compute_cna_atom.cpp
+++ b/src/compute_cna_atom.cpp
@@ -100,7 +100,7 @@ void ComputeCNAAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeCNAAtom::init_list(int id, NeighList *ptr)
+void ComputeCNAAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_contact_atom.cpp b/src/compute_contact_atom.cpp
index f3c4513b01..e60a51832a 100644
--- a/src/compute_contact_atom.cpp
+++ b/src/compute_contact_atom.cpp
@@ -80,7 +80,7 @@ void ComputeContactAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeContactAtom::init_list(int id, NeighList *ptr)
+void ComputeContactAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_coord_atom.cpp b/src/compute_coord_atom.cpp
index b86d818d06..33b318ea17 100644
--- a/src/compute_coord_atom.cpp
+++ b/src/compute_coord_atom.cpp
@@ -153,7 +153,7 @@ void ComputeCoordAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeCoordAtom::init_list(int id, NeighList *ptr)
+void ComputeCoordAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -311,7 +311,7 @@ void ComputeCoordAtom::compute_peratom()
/* ---------------------------------------------------------------------- */
int ComputeCoordAtom::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,m=0,j;
for (i = 0; i < n; ++i) {
diff --git a/src/compute_fragment_atom.cpp b/src/compute_fragment_atom.cpp
index b9fb2331ec..bb273f3bdb 100644
--- a/src/compute_fragment_atom.cpp
+++ b/src/compute_fragment_atom.cpp
@@ -159,7 +159,7 @@ void ComputeFragmentAtom::compute_peratom()
/* ---------------------------------------------------------------------- */
int ComputeFragmentAtom::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/compute_group_group.cpp b/src/compute_group_group.cpp
index dc94db50f6..51f84b020d 100644
--- a/src/compute_group_group.cpp
+++ b/src/compute_group_group.cpp
@@ -173,7 +173,7 @@ void ComputeGroupGroup::init()
/* ---------------------------------------------------------------------- */
-void ComputeGroupGroup::init_list(int id, NeighList *ptr)
+void ComputeGroupGroup::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_hexorder_atom.cpp b/src/compute_hexorder_atom.cpp
index cb2946beba..6d17ae15bd 100644
--- a/src/compute_hexorder_atom.cpp
+++ b/src/compute_hexorder_atom.cpp
@@ -129,7 +129,7 @@ void ComputeHexOrderAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeHexOrderAtom::init_list(int id, NeighList *ptr)
+void ComputeHexOrderAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_orientorder_atom.cpp b/src/compute_orientorder_atom.cpp
index f263fdfaed..8a0a525fdc 100644
--- a/src/compute_orientorder_atom.cpp
+++ b/src/compute_orientorder_atom.cpp
@@ -187,7 +187,7 @@ void ComputeOrientOrderAtom::init()
/* ---------------------------------------------------------------------- */
-void ComputeOrientOrderAtom::init_list(int id, NeighList *ptr)
+void ComputeOrientOrderAtom::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
@@ -542,4 +542,3 @@ double ComputeOrientOrderAtom::associated_legendre(int l, int m, double x)
return p;
}
-
diff --git a/src/compute_pair_local.cpp b/src/compute_pair_local.cpp
index 3f1147ed27..e4cbabfd3d 100644
--- a/src/compute_pair_local.cpp
+++ b/src/compute_pair_local.cpp
@@ -139,7 +139,7 @@ void ComputePairLocal::init()
/* ---------------------------------------------------------------------- */
-void ComputePairLocal::init_list(int id, NeighList *ptr)
+void ComputePairLocal::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_property_local.cpp b/src/compute_property_local.cpp
index ad68459650..ddcf5913ca 100644
--- a/src/compute_property_local.cpp
+++ b/src/compute_property_local.cpp
@@ -308,7 +308,7 @@ void ComputePropertyLocal::init()
/* ---------------------------------------------------------------------- */
-void ComputePropertyLocal::init_list(int id, NeighList *ptr)
+void ComputePropertyLocal::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp
index f2635c0948..0a0e8fb684 100644
--- a/src/compute_rdf.cpp
+++ b/src/compute_rdf.cpp
@@ -213,7 +213,7 @@ void ComputeRDF::init()
/* ---------------------------------------------------------------------- */
-void ComputeRDF::init_list(int id, NeighList *ptr)
+void ComputeRDF::init_list(int /*id*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/compute_temp_com.cpp b/src/compute_temp_com.cpp
index 35f4512ab2..f2ad40ea43 100644
--- a/src/compute_temp_com.cpp
+++ b/src/compute_temp_com.cpp
@@ -163,7 +163,7 @@ void ComputeTempCOM::compute_vector()
remove velocity bias from atom I to leave thermal velocity
------------------------------------------------------------------------- */
-void ComputeTempCOM::remove_bias(int i, double *v)
+void ComputeTempCOM::remove_bias(int /*i*/, double *v)
{
v[0] -= vbias[0];
v[1] -= vbias[1];
@@ -204,7 +204,7 @@ void ComputeTempCOM::remove_bias_all()
assume remove_bias() was previously called
------------------------------------------------------------------------- */
-void ComputeTempCOM::restore_bias(int i, double *v)
+void ComputeTempCOM::restore_bias(int /*i*/, double *v)
{
v[0] += vbias[0];
v[1] += vbias[1];
diff --git a/src/compute_temp_deform.cpp b/src/compute_temp_deform.cpp
index 8729204e70..39780b5cf6 100644
--- a/src/compute_temp_deform.cpp
+++ b/src/compute_temp_deform.cpp
@@ -277,7 +277,7 @@ void ComputeTempDeform::remove_bias_all()
assume remove_bias() was previously called
------------------------------------------------------------------------- */
-void ComputeTempDeform::restore_bias(int i, double *v)
+void ComputeTempDeform::restore_bias(int /*i*/, double *v)
{
v[0] += vbias[0];
v[1] += vbias[1];
@@ -289,7 +289,7 @@ void ComputeTempDeform::restore_bias(int i, double *v)
assume remove_bias_thr() was previously called with the same buffer b
------------------------------------------------------------------------- */
-void ComputeTempDeform::restore_bias_thr(int i, double *v, double *b)
+void ComputeTempDeform::restore_bias_thr(int /*i*/, double *v, double *b)
{
v[0] += b[0];
v[1] += b[1];
diff --git a/src/compute_temp_partial.cpp b/src/compute_temp_partial.cpp
index 4b87a2249e..4425aebdda 100644
--- a/src/compute_temp_partial.cpp
+++ b/src/compute_temp_partial.cpp
@@ -90,7 +90,7 @@ void ComputeTempPartial::dof_compute()
/* ---------------------------------------------------------------------- */
-int ComputeTempPartial::dof_remove(int i)
+int ComputeTempPartial::dof_remove(int /*i*/)
{
int nper = xflag+yflag+zflag;
return (domain->dimension - nper);
@@ -169,7 +169,7 @@ void ComputeTempPartial::compute_vector()
remove velocity bias from atom I to leave thermal velocity
------------------------------------------------------------------------- */
-void ComputeTempPartial::remove_bias(int i, double *v)
+void ComputeTempPartial::remove_bias(int /*i*/, double *v)
{
if (!xflag) {
vbias[0] = v[0];
@@ -189,7 +189,7 @@ void ComputeTempPartial::remove_bias(int i, double *v)
remove velocity bias from atom I to leave thermal velocity
------------------------------------------------------------------------- */
-void ComputeTempPartial::remove_bias_thr(int i, double *v, double *b)
+void ComputeTempPartial::remove_bias_thr(int /*i*/, double *v, double *b)
{
if (!xflag) {
b[0] = v[0];
@@ -275,7 +275,7 @@ void ComputeTempPartial::reapply_bias_all()
assume remove_bias() was previously called
------------------------------------------------------------------------- */
-void ComputeTempPartial::restore_bias(int i, double *v)
+void ComputeTempPartial::restore_bias(int /*i*/, double *v)
{
if (!xflag) v[0] += vbias[0];
if (!yflag) v[1] += vbias[1];
@@ -287,7 +287,7 @@ void ComputeTempPartial::restore_bias(int i, double *v)
assume remove_bias_thr() was previously called with the same buffer b
------------------------------------------------------------------------- */
-void ComputeTempPartial::restore_bias_thr(int i, double *v, double *b)
+void ComputeTempPartial::restore_bias_thr(int /*i*/, double *v, double *b)
{
if (!xflag) v[0] += b[0];
if (!yflag) v[1] += b[1];
diff --git a/src/compute_temp_ramp.cpp b/src/compute_temp_ramp.cpp
index 42d258d8b2..ba572645f3 100644
--- a/src/compute_temp_ramp.cpp
+++ b/src/compute_temp_ramp.cpp
@@ -279,7 +279,7 @@ void ComputeTempRamp::remove_bias_all()
assume remove_bias() was previously called
------------------------------------------------------------------------- */
-void ComputeTempRamp::restore_bias(int i, double *v)
+void ComputeTempRamp::restore_bias(int /*i*/, double *v)
{
v[v_dim] += vbias[v_dim];
}
@@ -289,7 +289,7 @@ void ComputeTempRamp::restore_bias(int i, double *v)
assume remove_bias_thr() was previously called with the same buffer b
------------------------------------------------------------------------- */
-void ComputeTempRamp::restore_bias_thr(int i, double *v, double *b)
+void ComputeTempRamp::restore_bias_thr(int /*i*/, double *v, double *b)
{
v[v_dim] += b[v_dim];
}
diff --git a/src/compute_temp_region.cpp b/src/compute_temp_region.cpp
index bde70a20f0..4aa4dac0a1 100644
--- a/src/compute_temp_region.cpp
+++ b/src/compute_temp_region.cpp
@@ -253,7 +253,7 @@ void ComputeTempRegion::remove_bias_all()
assume remove_bias() was previously called
------------------------------------------------------------------------- */
-void ComputeTempRegion::restore_bias(int i, double *v)
+void ComputeTempRegion::restore_bias(int /*i*/, double *v)
{
v[0] += vbias[0];
v[1] += vbias[1];
@@ -265,7 +265,7 @@ void ComputeTempRegion::restore_bias(int i, double *v)
assume remove_bias_thr() was previously called with the same buffer b
------------------------------------------------------------------------- */
-void ComputeTempRegion::restore_bias_thr(int i, double *v, double *b)
+void ComputeTempRegion::restore_bias_thr(int /*i*/, double *v, double *b)
{
v[0] += b[0];
v[1] += b[1];
diff --git a/src/dihedral_zero.cpp b/src/dihedral_zero.cpp
index bdd2eaadd3..46facdb6db 100644
--- a/src/dihedral_zero.cpp
+++ b/src/dihedral_zero.cpp
@@ -99,13 +99,13 @@ void DihedralZero::coeff(int narg, char **arg)
proc 0 writes out coeffs to restart file
------------------------------------------------------------------------- */
-void DihedralZero::write_restart(FILE *fp) {}
+void DihedralZero::write_restart(FILE * /*fp*/) {}
/* ----------------------------------------------------------------------
proc 0 reads coeffs from restart file, bcasts them
------------------------------------------------------------------------- */
-void DihedralZero::read_restart(FILE *fp)
+void DihedralZero::read_restart(FILE * /*fp*/)
{
allocate();
for (int i = 1; i <= atom->ndihedraltypes; i++) setflag[i] = 1;
@@ -119,4 +119,3 @@ void DihedralZero::write_data(FILE *fp) {
for (int i = 1; i <= atom->ndihedraltypes; i++)
fprintf(fp,"%d\n",i);
}
-
diff --git a/src/domain.cpp b/src/domain.cpp
index 4c1d12018b..8238ab7eea 100644
--- a/src/domain.cpp
+++ b/src/domain.cpp
@@ -1176,12 +1176,12 @@ int Domain::closest_image(int i, int j)
if J is not a valid index like -1, just return it
------------------------------------------------------------------------- */
-int Domain::closest_image(double *pos, int j)
+int Domain::closest_image(const double * const pos, int j)
{
if (j < 0) return j;
- int *sametag = atom->sametag;
- double **x = atom->x;
+ const int * const sametag = atom->sametag;
+ const double * const * const x = atom->x;
int closest = j;
double delx = pos[0] - x[j][0];
@@ -1208,13 +1208,10 @@ int Domain::closest_image(double *pos, int j)
/* ----------------------------------------------------------------------
find and return Xj image = periodic image of Xj that is closest to Xi
for triclinic, add/subtract tilt factors in other dims as needed
- not currently used (Jan 2017):
- used to be called by pair TIP4P styles but no longer,
- due to use of other closest_image() method
+ called by ServerMD class and LammpsInterface in lib/atc.
------------------------------------------------------------------------- */
-void Domain::closest_image(const double * const xi, const double * const xj,
- double * const xjimage)
+void Domain::closest_image(const double * const xi, const double * const xj, double * const xjimage)
{
double dx = xj[0] - xi[0];
double dy = xj[1] - xi[1];
@@ -1618,7 +1615,7 @@ void Domain::image_flip(int m, int n, int p)
called from create_atoms() in library.cpp
------------------------------------------------------------------------- */
-int Domain::ownatom(int id, double *x, imageint *image, int shrinkexceed)
+int Domain::ownatom(int /*id*/, double *x, imageint *image, int shrinkexceed)
{
double lamda[3];
double *coord,*blo,*bhi,*slo,*shi;
diff --git a/src/domain.h b/src/domain.h
index 5581f9a45f..9ebdd6ae94 100644
--- a/src/domain.h
+++ b/src/domain.h
@@ -115,9 +115,8 @@ class Domain : protected Pointers {
void minimum_image(double *);
void minimum_image_once(double *);
int closest_image(int, int);
- int closest_image(double *, int);
- void closest_image(const double * const, const double * const,
- double * const);
+ int closest_image(const double * const, int);
+ void closest_image(const double * const, const double * const, double * const);
void remap(double *, imageint &);
void remap(double *);
void remap_near(double *, double *);
diff --git a/src/dump.cpp b/src/dump.cpp
index 7c171015bb..7cd80dcf71 100644
--- a/src/dump.cpp
+++ b/src/dump.cpp
@@ -45,7 +45,7 @@ enum{ASCEND,DESCEND};
/* ---------------------------------------------------------------------- */
-Dump::Dump(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp)
+Dump::Dump(LAMMPS *lmp, int /*narg*/, char **arg) : Pointers(lmp)
{
MPI_Comm_rank(world,&me);
MPI_Comm_size(world,&nprocs);
diff --git a/src/dump_custom.cpp b/src/dump_custom.cpp
index 4c3950c099..17ad4b89ef 100644
--- a/src/dump_custom.cpp
+++ b/src/dump_custom.cpp
@@ -1023,12 +1023,12 @@ int DumpCustom::count()
} else if (thresh_op[ithresh] == XOR) {
if (lastflag) {
for (i = 0; i < nlocal; i++, ptr += nstride)
- if (choose[i] && (*ptr == 0.0 && values[i] == 0.0) ||
+ if ((choose[i] && *ptr == 0.0 && values[i] == 0.0) ||
(*ptr != 0.0 && values[i] != 0.0))
choose[i] = 0;
} else {
for (i = 0; i < nlocal; i++, ptr += nstride)
- if (choose[i] && (*ptr == 0.0 && value == 0.0) ||
+ if ((choose[i] && *ptr == 0.0 && value == 0.0) ||
(*ptr != 0.0 && value != 0.0))
choose[i] = 0;
}
diff --git a/src/dump_image.cpp b/src/dump_image.cpp
index 60a1f545c9..a488f65161 100644
--- a/src/dump_image.cpp
+++ b/src/dump_image.cpp
@@ -1193,7 +1193,7 @@ void DumpImage::create_image()
/* ---------------------------------------------------------------------- */
int DumpImage::pack_forward_comm(int n, int *list, double *buf,
- int pbc_flag, int *pbc)
+ int /*pbc_flag*/, int * /*pbc*/)
{
int i,j,m;
diff --git a/src/dump_local.cpp b/src/dump_local.cpp
index 0d5172b5c1..8dc0554690 100644
--- a/src/dump_local.cpp
+++ b/src/dump_local.cpp
@@ -326,7 +326,7 @@ int DumpLocal::count()
/* ---------------------------------------------------------------------- */
-void DumpLocal::pack(tagint *dummy)
+void DumpLocal::pack(tagint * /*dummy*/)
{
for (int n = 0; n < size_one; n++) (this->*pack_choice[n])(n);
}
diff --git a/src/fix.cpp b/src/fix.cpp
index a54e295798..051ac12bbe 100644
--- a/src/fix.cpp
+++ b/src/fix.cpp
@@ -31,7 +31,7 @@ int Fix::instance_total = 0;
/* ---------------------------------------------------------------------- */
-Fix::Fix(LAMMPS *lmp, int narg, char **arg) :
+Fix::Fix(LAMMPS *lmp, int /*narg*/, char **arg) :
Pointers(lmp),
id(NULL), style(NULL), extlist(NULL), vector_atom(NULL), array_atom(NULL),
vector_local(NULL), array_local(NULL), eatom(NULL), vatom(NULL)
diff --git a/src/fix_adapt.cpp b/src/fix_adapt.cpp
index 42cd1bd199..950bc24253 100644
--- a/src/fix_adapt.cpp
+++ b/src/fix_adapt.cpp
@@ -476,7 +476,7 @@ void FixAdapt::init()
/* ---------------------------------------------------------------------- */
-void FixAdapt::setup_pre_force(int vflag)
+void FixAdapt::setup_pre_force(int /*vflag*/)
{
change_settings();
}
@@ -491,7 +491,7 @@ void FixAdapt::setup_pre_force_respa(int vflag, int ilevel)
/* ---------------------------------------------------------------------- */
-void FixAdapt::pre_force(int vflag)
+void FixAdapt::pre_force(int /*vflag*/)
{
if (nevery == 0) return;
if (update->ntimestep % nevery) return;
diff --git a/src/fix_addforce.cpp b/src/fix_addforce.cpp
index c2eedccd61..d66457a1f1 100644
--- a/src/fix_addforce.cpp
+++ b/src/fix_addforce.cpp
@@ -361,7 +361,7 @@ void FixAddForce::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixAddForce::post_force_respa(int vflag, int ilevel, int iloop)
+void FixAddForce::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_ave_atom.cpp b/src/fix_ave_atom.cpp
index a8c3be07af..c8cbad75c9 100644
--- a/src/fix_ave_atom.cpp
+++ b/src/fix_ave_atom.cpp
@@ -283,7 +283,7 @@ void FixAveAtom::init()
only does something if nvalid = current timestep
------------------------------------------------------------------------- */
-void FixAveAtom::setup(int vflag)
+void FixAveAtom::setup(int /*vflag*/)
{
end_of_step();
}
@@ -432,7 +432,7 @@ void FixAveAtom::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixAveAtom::copy_arrays(int i, int j, int delflag)
+void FixAveAtom::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < nvalues; m++)
array[j][m] = array[i][m];
diff --git a/src/fix_ave_chunk.cpp b/src/fix_ave_chunk.cpp
index 5f727fd3f7..1aead70644 100644
--- a/src/fix_ave_chunk.cpp
+++ b/src/fix_ave_chunk.cpp
@@ -557,7 +557,7 @@ void FixAveChunk::init()
that nchunk may not track it
------------------------------------------------------------------------- */
-void FixAveChunk::setup(int vflag)
+void FixAveChunk::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/fix_ave_correlate.cpp b/src/fix_ave_correlate.cpp
index 418464a248..198caf1514 100644
--- a/src/fix_ave_correlate.cpp
+++ b/src/fix_ave_correlate.cpp
@@ -404,7 +404,7 @@ void FixAveCorrelate::init()
only does something if nvalid = current timestep
------------------------------------------------------------------------- */
-void FixAveCorrelate::setup(int vflag)
+void FixAveCorrelate::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/fix_ave_histo.cpp b/src/fix_ave_histo.cpp
index 7aa5993899..ce32167b74 100644
--- a/src/fix_ave_histo.cpp
+++ b/src/fix_ave_histo.cpp
@@ -559,7 +559,7 @@ void FixAveHisto::init()
only does something if nvalid = current timestep
------------------------------------------------------------------------- */
-void FixAveHisto::setup(int vflag)
+void FixAveHisto::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/fix_ave_time.cpp b/src/fix_ave_time.cpp
index c3ace29684..53354ee066 100644
--- a/src/fix_ave_time.cpp
+++ b/src/fix_ave_time.cpp
@@ -529,7 +529,7 @@ void FixAveTime::init()
only does something if nvalid = current timestep
------------------------------------------------------------------------- */
-void FixAveTime::setup(int vflag)
+void FixAveTime::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/fix_aveforce.cpp b/src/fix_aveforce.cpp
index 4432a5dd36..1c87ba5785 100644
--- a/src/fix_aveforce.cpp
+++ b/src/fix_aveforce.cpp
@@ -194,7 +194,7 @@ void FixAveForce::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixAveForce::post_force(int vflag)
+void FixAveForce::post_force(int /*vflag*/)
{
// update region if necessary
@@ -259,7 +259,7 @@ void FixAveForce::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixAveForce::post_force_respa(int vflag, int ilevel, int iloop)
+void FixAveForce::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
// ave + extra force on selected RESPA level
// just ave on all other levels
diff --git a/src/fix_balance.cpp b/src/fix_balance.cpp
index e748e0ae31..8995a57afe 100644
--- a/src/fix_balance.cpp
+++ b/src/fix_balance.cpp
@@ -160,7 +160,7 @@ void FixBalance::init()
/* ---------------------------------------------------------------------- */
-void FixBalance::setup(int vflag)
+void FixBalance::setup(int /*vflag*/)
{
// compute final imbalance factor if setup_pre_exchange() invoked balancer
// this is called at end of run setup, before output
diff --git a/src/fix_drag.cpp b/src/fix_drag.cpp
index 6a69dddbf5..e4cf12d1ff 100644
--- a/src/fix_drag.cpp
+++ b/src/fix_drag.cpp
@@ -90,7 +90,7 @@ void FixDrag::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixDrag::post_force(int vflag)
+void FixDrag::post_force(int /*vflag*/)
{
// apply drag force to atoms in group of magnitude f_mag
// apply in direction (r-r0) if atom is further than delta away
@@ -132,7 +132,7 @@ void FixDrag::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixDrag::post_force_respa(int vflag, int ilevel, int iloop)
+void FixDrag::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_dt_reset.cpp b/src/fix_dt_reset.cpp
index f2a50fd6d1..7566094b48 100644
--- a/src/fix_dt_reset.cpp
+++ b/src/fix_dt_reset.cpp
@@ -129,7 +129,7 @@ void FixDtReset::init()
/* ---------------------------------------------------------------------- */
-void FixDtReset::setup(int vflag)
+void FixDtReset::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/fix_enforce2d.cpp b/src/fix_enforce2d.cpp
index 791a52c50c..ef7eb3a0ef 100644
--- a/src/fix_enforce2d.cpp
+++ b/src/fix_enforce2d.cpp
@@ -112,7 +112,7 @@ void FixEnforce2D::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixEnforce2D::post_force(int vflag)
+void FixEnforce2D::post_force(int /*vflag*/)
{
double **v = atom->v;
double **f = atom->f;
@@ -164,7 +164,7 @@ void FixEnforce2D::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixEnforce2D::post_force_respa(int vflag, int ilevel, int iloop)
+void FixEnforce2D::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/)
{
post_force(vflag);
}
diff --git a/src/fix_external.cpp b/src/fix_external.cpp
index 4fcc842f89..5ac9206e7f 100644
--- a/src/fix_external.cpp
+++ b/src/fix_external.cpp
@@ -129,7 +129,7 @@ void FixExternal::min_setup(int vflag)
store eflag, so can use it in post_force to tally per-atom energies
------------------------------------------------------------------------- */
-void FixExternal::pre_reverse(int eflag, int vflag)
+void FixExternal::pre_reverse(int eflag, int /*vflag*/)
{
eflag_caller = eflag;
}
@@ -305,7 +305,7 @@ void FixExternal::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixExternal::copy_arrays(int i, int j, int delflag)
+void FixExternal::copy_arrays(int i, int j, int /*delflag*/)
{
fexternal[j][0] = fexternal[i][0];
fexternal[j][1] = fexternal[i][1];
diff --git a/src/fix_gravity.cpp b/src/fix_gravity.cpp
index 9ace9d45ff..c3e73d86c9 100644
--- a/src/fix_gravity.cpp
+++ b/src/fix_gravity.cpp
@@ -247,7 +247,7 @@ void FixGravity::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixGravity::post_force(int vflag)
+void FixGravity::post_force(int /*vflag*/)
{
// update gravity due to variables
@@ -300,7 +300,7 @@ void FixGravity::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixGravity::post_force_respa(int vflag, int ilevel, int iloop)
+void FixGravity::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_group.cpp b/src/fix_group.cpp
index 10736964e7..0980ff5456 100644
--- a/src/fix_group.cpp
+++ b/src/fix_group.cpp
@@ -176,7 +176,7 @@ void FixGroup::init()
assign atoms to group
------------------------------------------------------------------------- */
-void FixGroup::setup(int vflag)
+void FixGroup::setup(int /*vflag*/)
{
set_group();
}
@@ -192,7 +192,7 @@ void FixGroup::post_integrate()
/* ---------------------------------------------------------------------- */
-void FixGroup::post_integrate_respa(int ilevel, int iloop)
+void FixGroup::post_integrate_respa(int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_integrate();
}
@@ -259,7 +259,7 @@ void FixGroup::set_group()
/* ---------------------------------------------------------------------- */
-void *FixGroup::extract(const char *str, int &unused)
+void *FixGroup::extract(const char *str, int &/*unused*/)
{
if (strcmp(str,"property") == 0 && propflag) return (void *) idprop;
if (strcmp(str,"variable") == 0 && varflag) return (void *) idvar;
diff --git a/src/fix_halt.cpp b/src/fix_halt.cpp
index 7de09a0fa4..983f993ae8 100644
--- a/src/fix_halt.cpp
+++ b/src/fix_halt.cpp
@@ -184,7 +184,7 @@ void FixHalt::end_of_step()
// print message with ID of fix halt in case multiple instances
char str[128];
- sprintf(str,"Fix halt %s condition met on step %ld with value %g",
+ sprintf(str,"Fix halt %s condition met on step " BIGINT_FORMAT " with value %g",
id,update->ntimestep,attvalue);
if (eflag == HARD) {
diff --git a/src/fix_indent.cpp b/src/fix_indent.cpp
index ade8cee532..b8e07dfd53 100644
--- a/src/fix_indent.cpp
+++ b/src/fix_indent.cpp
@@ -182,7 +182,7 @@ void FixIndent::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixIndent::post_force(int vflag)
+void FixIndent::post_force(int /*vflag*/)
{
// indenter values, 0 = energy, 1-3 = force components
// wrap variable evaluations with clear/add
@@ -357,7 +357,7 @@ void FixIndent::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixIndent::post_force_respa(int vflag, int ilevel, int iloop)
+void FixIndent::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_langevin.cpp b/src/fix_langevin.cpp
index e4c36cc739..d829982274 100644
--- a/src/fix_langevin.cpp
+++ b/src/fix_langevin.cpp
@@ -298,7 +298,7 @@ void FixLangevin::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixLangevin::post_force(int vflag)
+void FixLangevin::post_force(int /*vflag*/)
{
double *rmass = atom->rmass;
@@ -441,7 +441,7 @@ void FixLangevin::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixLangevin::post_force_respa(int vflag, int ilevel, int iloop)
+void FixLangevin::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
@@ -896,7 +896,7 @@ void FixLangevin::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixLangevin::copy_arrays(int i, int j, int delflag)
+void FixLangevin::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < nvalues; m++)
franprev[j][m] = franprev[i][m];
diff --git a/src/fix_lineforce.cpp b/src/fix_lineforce.cpp
index e90152c4e1..aea1a2a25b 100644
--- a/src/fix_lineforce.cpp
+++ b/src/fix_lineforce.cpp
@@ -80,7 +80,7 @@ void FixLineForce::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixLineForce::post_force(int vflag)
+void FixLineForce::post_force(int /*vflag*/)
{
double **f = atom->f;
int *mask = atom->mask;
@@ -98,7 +98,7 @@ void FixLineForce::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixLineForce::post_force_respa(int vflag, int ilevel, int iloop)
+void FixLineForce::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/)
{
post_force(vflag);
}
diff --git a/src/fix_minimize.cpp b/src/fix_minimize.cpp
index 06a3ac900d..fa39643a1b 100644
--- a/src/fix_minimize.cpp
+++ b/src/fix_minimize.cpp
@@ -184,7 +184,7 @@ void FixMinimize::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixMinimize::copy_arrays(int i, int j, int delflag)
+void FixMinimize::copy_arrays(int i, int j, int /*delflag*/)
{
int m,iper,nper,ni,nj;
diff --git a/src/fix_move.cpp b/src/fix_move.cpp
index 9eadfa5ab4..2f9fb0ebaa 100644
--- a/src/fix_move.cpp
+++ b/src/fix_move.cpp
@@ -453,7 +453,7 @@ void FixMove::init()
set x,v of particles
------------------------------------------------------------------------- */
-void FixMove::initial_integrate(int vflag)
+void FixMove::initial_integrate(int /*vflag*/)
{
int flag;
double ddotr,dx,dy,dz;
@@ -945,7 +945,7 @@ void FixMove::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixMove::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixMove::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
// outermost level - update v and x
// all other levels - nothing
@@ -955,7 +955,7 @@ void FixMove::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixMove::final_integrate_respa(int ilevel, int iloop)
+void FixMove::final_integrate_respa(int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) final_integrate();
}
@@ -1019,7 +1019,7 @@ void FixMove::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixMove::copy_arrays(int i, int j, int delflag)
+void FixMove::copy_arrays(int i, int j, int /*delflag*/)
{
xoriginal[j][0] = xoriginal[i][0];
xoriginal[j][1] = xoriginal[i][1];
@@ -1238,7 +1238,7 @@ int FixMove::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixMove::size_restart(int nlocal)
+int FixMove::size_restart(int /*nlocal*/)
{
return nrestart;
}
diff --git a/src/fix_neigh_history.cpp b/src/fix_neigh_history.cpp
index 3329b604ef..9661409a6a 100644
--- a/src/fix_neigh_history.cpp
+++ b/src/fix_neigh_history.cpp
@@ -35,7 +35,7 @@ enum{DEFAULT,NPARTNER,PERPARTNER}; // also set in fix neigh/history/omp
FixNeighHistory::FixNeighHistory(LAMMPS *lmp, int narg, char **arg) :
Fix(lmp, narg, arg),
- npartner(NULL), partner(NULL), valuepartner(NULL), pair(NULL),
+ pair(NULL), npartner(NULL), partner(NULL), valuepartner(NULL),
ipage_atom(NULL), dpage_atom(NULL), ipage_neigh(NULL), dpage_neigh(NULL)
{
if (narg != 4) error->all(FLERR,"Illegal fix NEIGH_HISTORY command");
@@ -686,7 +686,7 @@ void FixNeighHistory::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixNeighHistory::copy_arrays(int i, int j, int delflag)
+void FixNeighHistory::copy_arrays(int i, int j, int /*delflag*/)
{
// just copy pointers for partner and valuepartner
// b/c can't overwrite chunk allocation inside ipage_atom,dpage_atom
diff --git a/src/fix_nh.cpp b/src/fix_nh.cpp
index 73c70420c5..a1a562f2bb 100644
--- a/src/fix_nh.cpp
+++ b/src/fix_nh.cpp
@@ -742,7 +742,7 @@ void FixNH::init()
compute T,P before integrator starts
------------------------------------------------------------------------- */
-void FixNH::setup(int vflag)
+void FixNH::setup(int /*vflag*/)
{
// tdof needed by compute_temp_target()
@@ -827,7 +827,7 @@ void FixNH::setup(int vflag)
1st half of Verlet update
------------------------------------------------------------------------- */
-void FixNH::initial_integrate(int vflag)
+void FixNH::initial_integrate(int /*vflag*/)
{
// update eta_press_dot
@@ -922,7 +922,7 @@ void FixNH::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixNH::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixNH::initial_integrate_respa(int /*vflag*/, int ilevel, int /*iloop*/)
{
// set timesteps by level
@@ -991,7 +991,7 @@ void FixNH::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixNH::final_integrate_respa(int ilevel, int iloop)
+void FixNH::final_integrate_respa(int ilevel, int /*iloop*/)
{
// set timesteps by level
diff --git a/src/fix_nve.cpp b/src/fix_nve.cpp
index 58e33b9744..959483230e 100644
--- a/src/fix_nve.cpp
+++ b/src/fix_nve.cpp
@@ -62,7 +62,7 @@ void FixNVE::init()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixNVE::initial_integrate(int vflag)
+void FixNVE::initial_integrate(int /*vflag*/)
{
double dtfm;
@@ -143,7 +143,7 @@ void FixNVE::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixNVE::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixNVE::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
@@ -157,7 +157,7 @@ void FixNVE::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixNVE::final_integrate_respa(int ilevel, int iloop)
+void FixNVE::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
final_integrate();
diff --git a/src/fix_nve_limit.cpp b/src/fix_nve_limit.cpp
index f659597af7..b4fb43e56f 100644
--- a/src/fix_nve_limit.cpp
+++ b/src/fix_nve_limit.cpp
@@ -83,7 +83,7 @@ void FixNVELimit::init()
allow for both per-type and per-atom mass
------------------------------------------------------------------------- */
-void FixNVELimit::initial_integrate(int vflag)
+void FixNVELimit::initial_integrate(int /*vflag*/)
{
double dtfm,vsq,scale;
@@ -202,7 +202,7 @@ void FixNVELimit::final_integrate()
/* ---------------------------------------------------------------------- */
-void FixNVELimit::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixNVELimit::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
dtv = step_respa[ilevel];
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
@@ -213,7 +213,7 @@ void FixNVELimit::initial_integrate_respa(int vflag, int ilevel, int iloop)
/* ---------------------------------------------------------------------- */
-void FixNVELimit::final_integrate_respa(int ilevel, int iloop)
+void FixNVELimit::final_integrate_respa(int ilevel, int /*iloop*/)
{
dtf = 0.5 * step_respa[ilevel] * force->ftm2v;
final_integrate();
diff --git a/src/fix_nve_noforce.cpp b/src/fix_nve_noforce.cpp
index 3403f4f5ec..d4fca9e676 100644
--- a/src/fix_nve_noforce.cpp
+++ b/src/fix_nve_noforce.cpp
@@ -54,7 +54,7 @@ void FixNVENoforce::init()
/* ---------------------------------------------------------------------- */
-void FixNVENoforce::initial_integrate(int vflag)
+void FixNVENoforce::initial_integrate(int /*vflag*/)
{
double **x = atom->x;
double **v = atom->v;
diff --git a/src/fix_nve_sphere.cpp b/src/fix_nve_sphere.cpp
index fe37324cfb..0bee8b8685 100644
--- a/src/fix_nve_sphere.cpp
+++ b/src/fix_nve_sphere.cpp
@@ -97,7 +97,7 @@ void FixNVESphere::init()
/* ---------------------------------------------------------------------- */
-void FixNVESphere::initial_integrate(int vflag)
+void FixNVESphere::initial_integrate(int /*vflag*/)
{
double dtfm,dtirotate,msq,scale,s2,inv_len_mu;
double g[3];
diff --git a/src/fix_planeforce.cpp b/src/fix_planeforce.cpp
index f90be6a233..45dc782fcf 100644
--- a/src/fix_planeforce.cpp
+++ b/src/fix_planeforce.cpp
@@ -80,7 +80,7 @@ void FixPlaneForce::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixPlaneForce::post_force(int vflag)
+void FixPlaneForce::post_force(int /*vflag*/)
{
double **f = atom->f;
int *mask = atom->mask;
@@ -98,7 +98,7 @@ void FixPlaneForce::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixPlaneForce::post_force_respa(int vflag, int ilevel, int iloop)
+void FixPlaneForce::post_force_respa(int vflag, int /*ilevel*/, int /*iloop*/)
{
post_force(vflag);
}
diff --git a/src/fix_press_berendsen.cpp b/src/fix_press_berendsen.cpp
index 792154e93f..95db004436 100644
--- a/src/fix_press_berendsen.cpp
+++ b/src/fix_press_berendsen.cpp
@@ -334,7 +334,7 @@ void FixPressBerendsen::init()
compute T,P before integrator starts
------------------------------------------------------------------------- */
-void FixPressBerendsen::setup(int vflag)
+void FixPressBerendsen::setup(int /*vflag*/)
{
// trigger virial computation on next timestep
diff --git a/src/fix_property_atom.cpp b/src/fix_property_atom.cpp
index 5ad4dfa4ba..5b12b6def2 100644
--- a/src/fix_property_atom.cpp
+++ b/src/fix_property_atom.cpp
@@ -292,7 +292,7 @@ void FixPropertyAtom::read_data_section(char *keyword, int n, char *buf,
return # of lines in section of data file labeled by keyword
------------------------------------------------------------------------- */
-bigint FixPropertyAtom::read_data_skip_lines(char *keyword)
+bigint FixPropertyAtom::read_data_skip_lines(char * /*keyword*/)
{
return atom->natoms;
}
@@ -304,7 +304,7 @@ bigint FixPropertyAtom::read_data_skip_lines(char *keyword)
ny = columns = tag + nvalues
------------------------------------------------------------------------- */
-void FixPropertyAtom::write_data_section_size(int mth, int &nx, int &ny)
+void FixPropertyAtom::write_data_section_size(int /*mth*/, int &nx, int &ny)
{
nx = atom->nlocal;
ny = nvalue + 1;
@@ -315,7 +315,7 @@ void FixPropertyAtom::write_data_section_size(int mth, int &nx, int &ny)
buf allocated by caller as Nlocal by Nvalues+1
------------------------------------------------------------------------- */
-void FixPropertyAtom::write_data_section_pack(int mth, double **buf)
+void FixPropertyAtom::write_data_section_pack(int /*mth*/, double **buf)
{
int i;
@@ -354,7 +354,7 @@ void FixPropertyAtom::write_data_section_pack(int mth, double **buf)
only called by proc 0
------------------------------------------------------------------------- */
-void FixPropertyAtom::write_data_section_keyword(int mth, FILE *fp)
+void FixPropertyAtom::write_data_section_keyword(int /*mth*/, FILE *fp)
{
if (nvalue == 1 && style[0] == MOLECULE) fprintf(fp,"\nMolecules\n\n");
else if (nvalue == 1 && style[0] == CHARGE) fprintf(fp,"\nCharges\n\n");
@@ -368,8 +368,8 @@ void FixPropertyAtom::write_data_section_keyword(int mth, FILE *fp)
only called by proc 0
------------------------------------------------------------------------- */
-void FixPropertyAtom::write_data_section(int mth, FILE *fp,
- int n, double **buf, int index)
+void FixPropertyAtom::write_data_section(int /*mth*/, FILE *fp,
+ int n, double **buf, int /*index*/)
{
int m;
@@ -443,7 +443,7 @@ void FixPropertyAtom::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixPropertyAtom::copy_arrays(int i, int j, int delflag)
+void FixPropertyAtom::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < nvalue; m++) {
if (style[m] == MOLECULE)
@@ -644,7 +644,7 @@ int FixPropertyAtom::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixPropertyAtom::size_restart(int nlocal)
+int FixPropertyAtom::size_restart(int /*nlocal*/)
{
return nvalue+1;
}
diff --git a/src/fix_read_restart.cpp b/src/fix_read_restart.cpp
index b384234b99..3c3178f4af 100644
--- a/src/fix_read_restart.cpp
+++ b/src/fix_read_restart.cpp
@@ -96,7 +96,7 @@ void FixReadRestart::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixReadRestart::copy_arrays(int i, int j, int delflag)
+void FixReadRestart::copy_arrays(int i, int j, int /*delflag*/)
{
count[j] = count[i];
for (int m = 0; m < count[i]; m++) extra[j][m] = extra[i][m];
diff --git a/src/fix_recenter.cpp b/src/fix_recenter.cpp
index 49e370ac80..75b383d67a 100644
--- a/src/fix_recenter.cpp
+++ b/src/fix_recenter.cpp
@@ -149,7 +149,7 @@ void FixRecenter::init()
/* ---------------------------------------------------------------------- */
-void FixRecenter::initial_integrate(int vflag)
+void FixRecenter::initial_integrate(int /*vflag*/)
{
// target COM
// bounding box around domain works for both orthogonal and triclinic
@@ -211,7 +211,7 @@ void FixRecenter::initial_integrate(int vflag)
/* ---------------------------------------------------------------------- */
-void FixRecenter::initial_integrate_respa(int vflag, int ilevel, int iloop)
+void FixRecenter::initial_integrate_respa(int vflag, int ilevel, int /*iloop*/)
{
// outermost level - operate recenter
// all other levels - nothing
diff --git a/src/fix_respa.cpp b/src/fix_respa.cpp
index 3b9aad1286..64461ba7ca 100644
--- a/src/fix_respa.cpp
+++ b/src/fix_respa.cpp
@@ -93,7 +93,7 @@ void FixRespa::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixRespa::copy_arrays(int i, int j, int delflag)
+void FixRespa::copy_arrays(int i, int j, int /*delflag*/)
{
for (int k = 0; k < nlevels; k++) {
f_level[j][k][0] = f_level[i][k][0];
diff --git a/src/fix_restrain.cpp b/src/fix_restrain.cpp
index 6ad229fea7..bb09116374 100644
--- a/src/fix_restrain.cpp
+++ b/src/fix_restrain.cpp
@@ -188,7 +188,7 @@ void FixRestrain::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixRestrain::post_force(int vflag)
+void FixRestrain::post_force(int /*vflag*/)
{
energy = 0.0;
@@ -204,7 +204,7 @@ void FixRestrain::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixRestrain::post_force_respa(int vflag, int ilevel, int iloop)
+void FixRestrain::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_setforce.cpp b/src/fix_setforce.cpp
index 89b340b0ae..fc8b7aeb59 100644
--- a/src/fix_setforce.cpp
+++ b/src/fix_setforce.cpp
@@ -219,7 +219,7 @@ void FixSetForce::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSetForce::post_force(int vflag)
+void FixSetForce::post_force(int /*vflag*/)
{
double **x = atom->x;
double **f = atom->f;
@@ -293,7 +293,7 @@ void FixSetForce::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSetForce::post_force_respa(int vflag, int ilevel, int iloop)
+void FixSetForce::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
// set force to desired value on requested level, 0.0 on other levels
diff --git a/src/fix_spring.cpp b/src/fix_spring.cpp
index ecb84eeb0f..328a0eeafd 100644
--- a/src/fix_spring.cpp
+++ b/src/fix_spring.cpp
@@ -159,7 +159,7 @@ void FixSpring::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSpring::post_force(int vflag)
+void FixSpring::post_force(int /*vflag*/)
{
if (styleflag == TETHER) spring_tether();
else spring_couple();
@@ -335,7 +335,7 @@ void FixSpring::spring_couple()
/* ---------------------------------------------------------------------- */
-void FixSpring::post_force_respa(int vflag, int ilevel, int iloop)
+void FixSpring::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_spring_chunk.cpp b/src/fix_spring_chunk.cpp
index 53e9285a9c..5b5d95b111 100644
--- a/src/fix_spring_chunk.cpp
+++ b/src/fix_spring_chunk.cpp
@@ -144,7 +144,7 @@ void FixSpringChunk::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSpringChunk::post_force(int vflag)
+void FixSpringChunk::post_force(int /*vflag*/)
{
int i,m;
double dx,dy,dz,r;
@@ -231,7 +231,7 @@ void FixSpringChunk::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSpringChunk::post_force_respa(int vflag, int ilevel, int iloop)
+void FixSpringChunk::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_spring_rg.cpp b/src/fix_spring_rg.cpp
index c2e226a343..28c8969006 100644
--- a/src/fix_spring_rg.cpp
+++ b/src/fix_spring_rg.cpp
@@ -95,7 +95,7 @@ void FixSpringRG::setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSpringRG::post_force(int vflag)
+void FixSpringRG::post_force(int /*vflag*/)
{
// compute current Rg and center-of-mass
@@ -142,7 +142,7 @@ void FixSpringRG::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSpringRG::post_force_respa(int vflag, int ilevel, int iloop)
+void FixSpringRG::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_spring_self.cpp b/src/fix_spring_self.cpp
index 1a5c89c6a1..670883af41 100644
--- a/src/fix_spring_self.cpp
+++ b/src/fix_spring_self.cpp
@@ -148,7 +148,7 @@ void FixSpringSelf::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSpringSelf::post_force(int vflag)
+void FixSpringSelf::post_force(int /*vflag*/)
{
double **x = atom->x;
double **f = atom->f;
@@ -181,7 +181,7 @@ void FixSpringSelf::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixSpringSelf::post_force_respa(int vflag, int ilevel, int iloop)
+void FixSpringSelf::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
@@ -227,7 +227,7 @@ void FixSpringSelf::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixSpringSelf::copy_arrays(int i, int j, int delflag)
+void FixSpringSelf::copy_arrays(int i, int j, int /*delflag*/)
{
xoriginal[j][0] = xoriginal[i][0];
xoriginal[j][1] = xoriginal[i][1];
@@ -303,7 +303,7 @@ int FixSpringSelf::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixSpringSelf::size_restart(int nlocal)
+int FixSpringSelf::size_restart(int /*nlocal*/)
{
return 4;
}
diff --git a/src/fix_store.cpp b/src/fix_store.cpp
index 350e120972..9db65d0987 100644
--- a/src/fix_store.cpp
+++ b/src/fix_store.cpp
@@ -229,7 +229,7 @@ void FixStore::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixStore::copy_arrays(int i, int j, int delflag)
+void FixStore::copy_arrays(int i, int j, int /*delflag*/)
{
if (disable) return;
@@ -324,7 +324,7 @@ int FixStore::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixStore::size_restart(int nlocal)
+int FixStore::size_restart(int /*nlocal*/)
{
if (disable) return 1;
return nvalues+1;
diff --git a/src/fix_store_force.cpp b/src/fix_store_force.cpp
index 5e2150f68d..a841714098 100644
--- a/src/fix_store_force.cpp
+++ b/src/fix_store_force.cpp
@@ -95,7 +95,7 @@ void FixStoreForce::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixStoreForce::post_force(int vflag)
+void FixStoreForce::post_force(int /*vflag*/)
{
if (atom->nmax > nmax) {
nmax = atom->nmax;
@@ -118,7 +118,7 @@ void FixStoreForce::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixStoreForce::post_force_respa(int vflag, int ilevel, int iloop)
+void FixStoreForce::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == nlevels_respa-1) post_force(vflag);
}
diff --git a/src/fix_store_state.cpp b/src/fix_store_state.cpp
index 3195e983e3..da899a173c 100644
--- a/src/fix_store_state.cpp
+++ b/src/fix_store_state.cpp
@@ -446,7 +446,7 @@ void FixStoreState::init()
/* ---------------------------------------------------------------------- */
-void FixStoreState::setup(int vflag)
+void FixStoreState::setup(int /*vflag*/)
{
// if first invocation, store current values for compute, fix, variable
@@ -580,7 +580,7 @@ void FixStoreState::grow_arrays(int nmax)
copy values within local atom-based array
------------------------------------------------------------------------- */
-void FixStoreState::copy_arrays(int i, int j, int delflag)
+void FixStoreState::copy_arrays(int i, int j, int /*delflag*/)
{
for (int m = 0; m < nvalues; m++) values[j][m] = values[i][m];
}
@@ -646,7 +646,7 @@ int FixStoreState::maxsize_restart()
size of atom nlocal's restart data
------------------------------------------------------------------------- */
-int FixStoreState::size_restart(int nlocal)
+int FixStoreState::size_restart(int /*nlocal*/)
{
return nvalues+1;
}
diff --git a/src/fix_tmd.cpp b/src/fix_tmd.cpp
index 39d4173a63..dd11dfd0c7 100644
--- a/src/fix_tmd.cpp
+++ b/src/fix_tmd.cpp
@@ -170,7 +170,7 @@ void FixTMD::init()
/* ---------------------------------------------------------------------- */
-void FixTMD::initial_integrate(int vflag)
+void FixTMD::initial_integrate(int /*vflag*/)
{
double a,b,c,d,e;
double dx,dy,dz,dxkt,dykt,dzkt;
@@ -335,7 +335,7 @@ void FixTMD::grow_arrays(int nmax)
copy values within local atom-based arrays
------------------------------------------------------------------------- */
-void FixTMD::copy_arrays(int i, int j, int delflag)
+void FixTMD::copy_arrays(int i, int j, int /*delflag*/)
{
xf[j][0] = xf[i][0];
xf[j][1] = xf[i][1];
@@ -412,7 +412,7 @@ void FixTMD::readfile(char *file)
m++;
}
- MPI_Bcast(&eof,sizeof(char *)/sizeof(char),MPI_CHAR,0,world);
+ MPI_Bcast(&eof,sizeof(char *),MPI_CHAR,0,world);
MPI_Bcast(&nlines,1,MPI_INT,0,world);
MPI_Bcast(&m,1,MPI_INT,0,world);
MPI_Bcast(buffer,m,MPI_CHAR,0,world);
diff --git a/src/fix_vector.cpp b/src/fix_vector.cpp
index 9b7f016970..6387af7676 100644
--- a/src/fix_vector.cpp
+++ b/src/fix_vector.cpp
@@ -239,7 +239,7 @@ void FixVector::init()
only does something if nvalid = current timestep
------------------------------------------------------------------------- */
-void FixVector::setup(int vflag)
+void FixVector::setup(int /*vflag*/)
{
end_of_step();
}
diff --git a/src/fix_viscous.cpp b/src/fix_viscous.cpp
index 1d2609c8b6..e845142322 100644
--- a/src/fix_viscous.cpp
+++ b/src/fix_viscous.cpp
@@ -109,7 +109,7 @@ void FixViscous::min_setup(int vflag)
/* ---------------------------------------------------------------------- */
-void FixViscous::post_force(int vflag)
+void FixViscous::post_force(int /*vflag*/)
{
// apply drag force to atoms in group
// direction is opposed to velocity vector
@@ -134,7 +134,7 @@ void FixViscous::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixViscous::post_force_respa(int vflag, int ilevel, int iloop)
+void FixViscous::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_wall.cpp b/src/fix_wall.cpp
index 096bbe618a..e84d01191d 100644
--- a/src/fix_wall.cpp
+++ b/src/fix_wall.cpp
@@ -343,7 +343,7 @@ void FixWall::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWall::post_force_respa(int vflag, int ilevel, int iloop)
+void FixWall::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/fix_wall_region.cpp b/src/fix_wall_region.cpp
index ea1b62bfa5..ff147d7446 100644
--- a/src/fix_wall_region.cpp
+++ b/src/fix_wall_region.cpp
@@ -287,7 +287,7 @@ void FixWallRegion::post_force(int vflag)
/* ---------------------------------------------------------------------- */
-void FixWallRegion::post_force_respa(int vflag, int ilevel, int iloop)
+void FixWallRegion::post_force_respa(int vflag, int ilevel, int /*iloop*/)
{
if (ilevel == ilevel_respa) post_force(vflag);
}
diff --git a/src/group.cpp b/src/group.cpp
index dd5e53bb3c..3bc3f3d7bf 100644
--- a/src/group.cpp
+++ b/src/group.cpp
@@ -629,7 +629,7 @@ int Group::find_unused()
do not include molID = 0
------------------------------------------------------------------------- */
-void Group::add_molecules(int igroup, int bit)
+void Group::add_molecules(int /*igroup*/, int bit)
{
// hash = unique molecule IDs of atoms already in group
diff --git a/src/image.cpp b/src/image.cpp
index 301a2af88f..3df167bbf6 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -1017,6 +1017,8 @@ void Image::write_JPG(FILE *fp)
jpeg_finish_compress(&cinfo);
jpeg_destroy_compress(&cinfo);
+#else
+ LMP_UNUSED_PARAM(fp);
#endif
}
@@ -1074,6 +1076,8 @@ void Image::write_PNG(FILE *fp)
png_destroy_write_struct(&png_ptr, &info_ptr);
delete[] row_pointers;
+#else
+ LMP_UNUSED_PARAM(fp);
#endif
}
diff --git a/src/imbalance_var.cpp b/src/imbalance_var.cpp
index acb3da8d13..e089b1df0c 100644
--- a/src/imbalance_var.cpp
+++ b/src/imbalance_var.cpp
@@ -52,7 +52,7 @@ int ImbalanceVar::options(int narg, char **arg)
/* -------------------------------------------------------------------- */
-void ImbalanceVar::init(int flag)
+void ImbalanceVar::init(int /*flag*/)
{
id = input->variable->find(name);
if (id < 0) {
diff --git a/src/improper_zero.cpp b/src/improper_zero.cpp
index 25ab3e7bba..8a1fa529c6 100644
--- a/src/improper_zero.cpp
+++ b/src/improper_zero.cpp
@@ -99,13 +99,13 @@ void ImproperZero::coeff(int narg, char **arg)
proc 0 writes out coeffs to restart file
------------------------------------------------------------------------- */
-void ImproperZero::write_restart(FILE *fp) {}
+void ImproperZero::write_restart(FILE * /*fp*/) {}
/* ----------------------------------------------------------------------
proc 0 reads coeffs from restart file, bcasts them
------------------------------------------------------------------------- */
-void ImproperZero::read_restart(FILE *fp)
+void ImproperZero::read_restart(FILE * /*fp*/)
{
allocate();
for (int i = 1; i <= atom->nimpropertypes; i++) setflag[i] = 1;
diff --git a/src/integrate.cpp b/src/integrate.cpp
index 97d28d6d7c..d6b27e042d 100644
--- a/src/integrate.cpp
+++ b/src/integrate.cpp
@@ -24,7 +24,7 @@ using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */
-Integrate::Integrate(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp)
+Integrate::Integrate(LAMMPS *lmp, int /*narg*/, char **/*arg*/) : Pointers(lmp)
{
elist_global = elist_atom = NULL;
vlist_global = vlist_atom = NULL;
diff --git a/src/kspace.cpp b/src/kspace.cpp
index de96bee8b8..b92cd1e9dc 100644
--- a/src/kspace.cpp
+++ b/src/kspace.cpp
@@ -30,7 +30,7 @@ using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */
-KSpace::KSpace(LAMMPS *lmp, int narg, char **arg) : Pointers(lmp)
+KSpace::KSpace(LAMMPS *lmp, int /*narg*/, char **/*arg*/) : Pointers(lmp)
{
order_allocated = 0;
energy = 0.0;
diff --git a/src/lammps.cpp b/src/lammps.cpp
index df6519f9f4..fcdfecf30a 100644
--- a/src/lammps.cpp
+++ b/src/lammps.cpp
@@ -47,8 +47,8 @@
#include "accelerator_omp.h"
#include "timer.h"
#include "python.h"
-#include "memory.h"
#include "version.h"
+#include "memory.h"
#include "error.h"
#include "lmpinstalledpkgs.h"
@@ -73,12 +73,46 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator)
output = NULL;
python = NULL;
+ clientserver = 0;
+ cslib = NULL;
+ cscomm = 0;
+
screen = NULL;
logfile = NULL;
infile = NULL;
initclock = MPI_Wtime();
+ // check if -mpi is first arg
+ // if so, then 2 apps were launched with one mpirun command
+ // this means passed communicator (e.g. MPI_COMM_WORLD) is bigger than LAMMPS
+ // e.g. for client/server coupling with another code
+ // in the future LAMMPS might leverage this in other ways
+ // universe communicator needs to shrink to be just LAMMPS
+ // syntax: -mpi color
+ // color = integer for this app, different than other app(s)
+ // do the following:
+ // perform an MPI_Comm_split() to create a new LAMMPS-only subcomm
+ // NOTE: this assumes other app(s) does same thing, else will hang!
+ // re-create universe with subcomm
+ // store full multi-app comm in cscomm
+ // cscomm is used by CSLIB package to exchange messages w/ other app
+
+ int iarg = 1;
+ if (narg-iarg >= 2 && (strcmp(arg[iarg],"-mpi") == 0 ||
+ strcmp(arg[iarg],"-m") == 0)) {
+ int me,nprocs;
+ MPI_Comm_rank(communicator,&me);
+ MPI_Comm_size(communicator,&nprocs);
+ int color = atoi(arg[iarg+1]);
+ MPI_Comm subcomm;
+ MPI_Comm_split(communicator,color,me,&subcomm);
+ cscomm = communicator;
+ communicator = subcomm;
+ delete universe;
+ universe = new Universe(this,communicator);
+ }
+
// parse input switches
int inflag = 0;
@@ -107,59 +141,30 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator)
int *pfirst = NULL;
int *plast = NULL;
- int iarg = 1;
+ iarg = 1;
while (iarg < narg) {
- if (strcmp(arg[iarg],"-partition") == 0 ||
- strcmp(arg[iarg],"-p") == 0) {
- universe->existflag = 1;
+
+ if (strcmp(arg[iarg],"-echo") == 0 ||
+ strcmp(arg[iarg],"-e") == 0) {
if (iarg+2 > narg)
error->universe_all(FLERR,"Invalid command-line argument");
- iarg++;
- while (iarg < narg && arg[iarg][0] != '-') {
- universe->add_world(arg[iarg]);
- iarg++;
- }
+ iarg += 2;
+
+ } else if (strcmp(arg[iarg],"-help") == 0 ||
+ strcmp(arg[iarg],"-h") == 0) {
+ if (iarg+1 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ helpflag = 1;
+ citeflag = 0;
+ iarg += 1;
+
} else if (strcmp(arg[iarg],"-in") == 0 ||
strcmp(arg[iarg],"-i") == 0) {
if (iarg+2 > narg)
error->universe_all(FLERR,"Invalid command-line argument");
inflag = iarg + 1;
iarg += 2;
- } else if (strcmp(arg[iarg],"-screen") == 0 ||
- strcmp(arg[iarg],"-sc") == 0) {
- if (iarg+2 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- screenflag = iarg + 1;
- iarg += 2;
- } else if (strcmp(arg[iarg],"-log") == 0 ||
- strcmp(arg[iarg],"-l") == 0) {
- if (iarg+2 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- logflag = iarg + 1;
- iarg += 2;
- } else if (strcmp(arg[iarg],"-var") == 0 ||
- strcmp(arg[iarg],"-v") == 0) {
- if (iarg+3 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- iarg += 3;
- while (iarg < narg && arg[iarg][0] != '-') iarg++;
- } else if (strcmp(arg[iarg],"-echo") == 0 ||
- strcmp(arg[iarg],"-e") == 0) {
- if (iarg+2 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- iarg += 2;
- } else if (strcmp(arg[iarg],"-pscreen") == 0 ||
- strcmp(arg[iarg],"-ps") == 0) {
- if (iarg+2 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- partscreenflag = iarg + 1;
- iarg += 2;
- } else if (strcmp(arg[iarg],"-plog") == 0 ||
- strcmp(arg[iarg],"-pl") == 0) {
- if (iarg+2 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- partlogflag = iarg + 1;
- iarg += 2;
+
} else if (strcmp(arg[iarg],"-kokkos") == 0 ||
strcmp(arg[iarg],"-k") == 0) {
if (iarg+2 > narg)
@@ -172,6 +177,26 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator)
kkfirst = iarg;
while (iarg < narg && arg[iarg][0] != '-') iarg++;
kklast = iarg;
+
+ } else if (strcmp(arg[iarg],"-log") == 0 ||
+ strcmp(arg[iarg],"-l") == 0) {
+ if (iarg+2 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ logflag = iarg + 1;
+ iarg += 2;
+
+ } else if (strcmp(arg[iarg],"-mpi") == 0 ||
+ strcmp(arg[iarg],"-m") == 0) {
+ if (iarg+2 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ if (iarg != 1) error->universe_all(FLERR,"Invalid command-line argument");
+ iarg += 2;
+
+ } else if (strcmp(arg[iarg],"-nocite") == 0 ||
+ strcmp(arg[iarg],"-nc") == 0) {
+ citeflag = 0;
+ iarg++;
+
} else if (strcmp(arg[iarg],"-package") == 0 ||
strcmp(arg[iarg],"-pk") == 0) {
if (iarg+2 > narg)
@@ -188,6 +213,69 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator)
else break;
}
plast[npack++] = iarg;
+
+ } else if (strcmp(arg[iarg],"-partition") == 0 ||
+ strcmp(arg[iarg],"-p") == 0) {
+ universe->existflag = 1;
+ if (iarg+2 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ iarg++;
+ while (iarg < narg && arg[iarg][0] != '-') {
+ universe->add_world(arg[iarg]);
+ iarg++;
+ }
+
+ } else if (strcmp(arg[iarg],"-plog") == 0 ||
+ strcmp(arg[iarg],"-pl") == 0) {
+ if (iarg+2 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ partlogflag = iarg + 1;
+ iarg += 2;
+
+ } else if (strcmp(arg[iarg],"-pscreen") == 0 ||
+ strcmp(arg[iarg],"-ps") == 0) {
+ if (iarg+2 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ partscreenflag = iarg + 1;
+ iarg += 2;
+
+ } else if (strcmp(arg[iarg],"-reorder") == 0 ||
+ strcmp(arg[iarg],"-ro") == 0) {
+ if (iarg+3 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ if (universe->existflag)
+ error->universe_all(FLERR,"Cannot use -reorder after -partition");
+ universe->reorder(arg[iarg+1],arg[iarg+2]);
+ iarg += 3;
+
+ } else if (strcmp(arg[iarg],"-restart") == 0 ||
+ strcmp(arg[iarg],"-r") == 0) {
+ if (iarg+3 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ restartflag = 1;
+ rfile = arg[iarg+1];
+ dfile = arg[iarg+2];
+ // check for restart remap flag
+ if (strcmp(dfile,"remap") == 0) {
+ if (iarg+4 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ restartremapflag = 1;
+ dfile = arg[iarg+3];
+ iarg++;
+ }
+ iarg += 3;
+ // delimit any extra args for the write_data command
+ wdfirst = iarg;
+ while (iarg < narg && arg[iarg][0] != '-') iarg++;
+ wdlast = iarg;
+
+ } else if (strcmp(arg[iarg],"-screen") == 0 ||
+ strcmp(arg[iarg],"-sc") == 0) {
+ if (iarg+2 > narg)
+ error->universe_all(FLERR,"Invalid command-line argument");
+ screenflag = iarg + 1;
+ iarg += 2;
+
} else if (strcmp(arg[iarg],"-suffix") == 0 ||
strcmp(arg[iarg],"-sf") == 0) {
if (iarg+2 > narg)
@@ -213,45 +301,14 @@ LAMMPS::LAMMPS(int narg, char **arg, MPI_Comm communicator)
strcpy(suffix,arg[iarg+1]);
iarg += 2;
}
- } else if (strcmp(arg[iarg],"-reorder") == 0 ||
- strcmp(arg[iarg],"-ro") == 0) {
+
+ } else if (strcmp(arg[iarg],"-var") == 0 ||
+ strcmp(arg[iarg],"-v") == 0) {
if (iarg+3 > narg)
error->universe_all(FLERR,"Invalid command-line argument");
- if (universe->existflag)
- error->universe_all(FLERR,"Cannot use -reorder after -partition");
- universe->reorder(arg[iarg+1],arg[iarg+2]);
iarg += 3;
- } else if (strcmp(arg[iarg],"-restart") == 0 ||
- strcmp(arg[iarg],"-r") == 0) {
- if (iarg+3 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- restartflag = 1;
- rfile = arg[iarg+1];
- dfile = arg[iarg+2];
- // check for restart remap flag
- if (strcmp(dfile,"remap") == 0) {
- if (iarg+4 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- restartremapflag = 1;
- dfile = arg[iarg+3];
- iarg++;
- }
- iarg += 3;
- // delimit any extra args for the write_data command
- wdfirst = iarg;
while (iarg < narg && arg[iarg][0] != '-') iarg++;
- wdlast = iarg;
- } else if (strcmp(arg[iarg],"-nocite") == 0 ||
- strcmp(arg[iarg],"-nc") == 0) {
- citeflag = 0;
- iarg++;
- } else if (strcmp(arg[iarg],"-help") == 0 ||
- strcmp(arg[iarg],"-h") == 0) {
- if (iarg+1 > narg)
- error->universe_all(FLERR,"Invalid command-line argument");
- helpflag = 1;
- citeflag = 0;
- iarg += 1;
+
} else error->universe_all(FLERR,"Invalid command-line argument");
}
@@ -595,6 +652,14 @@ LAMMPS::~LAMMPS()
delete [] suffix;
delete [] suffix2;
+ // free the MPI comm created by -mpi command-line arg processed in constructor
+ // it was passed to universe as if original universe world
+ // may have been split later by partitions, universe will free the splits
+ // free a copy of uorig here, so check in universe destructor will still work
+
+ MPI_Comm copy = universe->uorig;
+ if (cscomm) MPI_Comm_free(©);
+
delete input;
delete universe;
delete error;
@@ -814,6 +879,7 @@ void LAMMPS::help()
"-in filename : read input from file, not stdin (-i)\n"
"-kokkos on/off ... : turn KOKKOS mode on or off (-k)\n"
"-log none/filename : where to send log output (-l)\n"
+ "-mpicolor color : which exe in a multi-exe mpirun cmd (-m)\n"
"-nocite : disable writing log.cite file (-nc)\n"
"-package style ... : invoke package command (-pk)\n"
"-partition size1 size2 ... : assign partition sizes (-p)\n"
diff --git a/src/lammps.h b/src/lammps.h
index b2c8673471..5ccef3026e 100644
--- a/src/lammps.h
+++ b/src/lammps.h
@@ -51,6 +51,10 @@ class LAMMPS {
int num_package; // number of cmdline package commands
int cite_enable; // 1 if generating log.cite, 0 if disabled
+ int clientserver; // 0 = neither, 1 = client, 2 = server
+ void *cslib; // client/server messaging via CSlib
+ MPI_Comm cscomm; // MPI comm for client+server in mpi/one mode
+
class KokkosLMP *kokkos; // KOKKOS accelerator class
class AtomKokkos *atomKK; // KOKKOS version of Atom class
class MemoryKokkos *memoryKK; // KOKKOS version of Memory class
diff --git a/src/library.cpp b/src/library.cpp
index 13e0756866..a46689da09 100644
--- a/src/library.cpp
+++ b/src/library.cpp
@@ -336,7 +336,7 @@ void lammps_free(void *ptr)
customize by adding names
------------------------------------------------------------------------- */
-int lammps_extract_setting(void *ptr, char *name)
+int lammps_extract_setting(void * /*ptr*/, char *name)
{
if (strcmp(name,"bigint") == 0) return sizeof(bigint);
if (strcmp(name,"tagint") == 0) return sizeof(tagint);
@@ -1515,7 +1515,8 @@ void lammps_create_atoms(void *ptr, int n, tagint *id, int *type,
if (lmp->atom->natoms != natoms_prev + n) {
char str[128];
sprintf(str,"Library warning in lammps_create_atoms, "
- "invalid total atoms %ld %ld",lmp->atom->natoms,natoms_prev+n);
+ "invalid total atoms " BIGINT_FORMAT " " BIGINT_FORMAT,
+ lmp->atom->natoms,natoms_prev+n);
if (lmp->comm->me == 0)
lmp->error->warning(FLERR,str);
}
diff --git a/src/lmptype.h b/src/lmptype.h
index 7e359d2abe..7c3dbc1c3d 100644
--- a/src/lmptype.h
+++ b/src/lmptype.h
@@ -213,4 +213,8 @@ typedef int bigint;
#include "lmpwindows.h"
#endif
+// suppress unused parameter warning
+
+#define LMP_UNUSED_PARAM(x) (void)(x)
+
#endif
diff --git a/src/math_extra.cpp b/src/math_extra.cpp
index b70986ce91..0bba2ad401 100644
--- a/src/math_extra.cpp
+++ b/src/math_extra.cpp
@@ -590,7 +590,7 @@ void inertia_triangle(double *v0, double *v1, double *v2,
return symmetric inertia tensor as 6-vector in Voigt notation
------------------------------------------------------------------------- */
-void inertia_triangle(double *idiag, double *quat, double mass,
+void inertia_triangle(double *idiag, double *quat, double /*mass*/,
double *inertia)
{
double p[3][3],ptrans[3][3],itemp[3][3],tensor[3][3];
diff --git a/src/memory.h b/src/memory.h
index f2faecf6e1..20ea426f90 100644
--- a/src/memory.h
+++ b/src/memory.h
@@ -50,7 +50,7 @@ class Memory : protected Pointers {
}
template
- TYPE **create(TYPE **&array, int n, const char *name)
+ TYPE **create(TYPE **& /*array*/, int /*n*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -68,7 +68,7 @@ class Memory : protected Pointers {
}
template
- TYPE **grow(TYPE **&array, int n, const char *name)
+ TYPE **grow(TYPE **& /*array*/, int /*n*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -96,7 +96,7 @@ class Memory : protected Pointers {
}
template
- TYPE **create1d_offset(TYPE **&array, int nlo, int nhi, const char *name)
+ TYPE **create1d_offset(TYPE **& /*array*/, int /*nlo*/, int /*nhi*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -131,7 +131,7 @@ class Memory : protected Pointers {
}
template
- TYPE ***create(TYPE ***&array, int n1, int n2, const char *name)
+ TYPE ***create(TYPE ***& /*array*/, int /*n1*/, int /*n2*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -158,7 +158,7 @@ class Memory : protected Pointers {
}
template
- TYPE ***grow(TYPE ***&array, int n1, int n2, const char *name)
+ TYPE ***grow(TYPE ***& /*array*/, int /*n1*/, int /*n2*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -198,7 +198,7 @@ class Memory : protected Pointers {
}
template
- TYPE ***create_ragged(TYPE ***&array, int n1, int *n2, const char *name)
+ TYPE ***create_ragged(TYPE ***& /*array*/, int /*n1*/, int * /*n2*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -217,7 +217,7 @@ class Memory : protected Pointers {
}
template
- TYPE ***create2d_offset(TYPE ***&array, int n1, int n2lo, int n2hi,
+ TYPE ***create2d_offset(TYPE ***& /*array*/, int /*n1*/, int /*n2lo*/, int /*n2hi*/,
const char *name) {fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -262,7 +262,7 @@ class Memory : protected Pointers {
}
template
- TYPE ****create(TYPE ****&array, int n1, int n2, int n3, const char *name)
+ TYPE ****create(TYPE ****& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -297,7 +297,7 @@ class Memory : protected Pointers {
}
template
- TYPE ****grow(TYPE ****&array, int n1, int n2, int n3, const char *name)
+ TYPE ****grow(TYPE ****& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -330,8 +330,8 @@ class Memory : protected Pointers {
}
template
- TYPE ****create3d_offset(TYPE ****&array, int n1lo, int n1hi,
- int n2, int n3, const char *name)
+ TYPE ****create3d_offset(TYPE ****& /*array*/, int /*n1lo*/, int /*n1hi*/,
+ int /*n2*/, int /*n3*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
@@ -374,8 +374,8 @@ class Memory : protected Pointers {
}
template
- TYPE ****create3d_offset(TYPE ****&array, int n1lo, int n1hi,
- int n2lo, int n2hi, int n3lo, int n3hi,
+ TYPE ****create3d_offset(TYPE ****& /*array*/, int /*n1lo*/, int /*n1hi*/,
+ int /*n2lo*/, int /*n2hi*/, int /*n3lo*/, int /*n3hi*/,
const char *name)
{fail(name); return NULL;}
@@ -432,7 +432,7 @@ class Memory : protected Pointers {
}
template
- TYPE *****create(TYPE *****&array, int n1, int n2, int n3, int n4,
+ TYPE *****create(TYPE *****& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, int /*n4*/,
const char *name)
{fail(name); return NULL;}
@@ -478,8 +478,8 @@ class Memory : protected Pointers {
}
template
- TYPE ****create4d_offset(TYPE *****&array, int n1, int n2lo, int n2hi,
- int n3lo, int n3hi, int n4lo, int n4hi,
+ TYPE ****create4d_offset(TYPE *****& /*array*/, int /*n1*/, int /*n2lo*/, int /*n2hi*/,
+ int /*n3lo*/, int /*n3hi*/, int /*n4lo*/, int /*n4hi*/,
const char *name)
{fail(name); return NULL;}
@@ -546,8 +546,8 @@ class Memory : protected Pointers {
}
template
- TYPE ******create(TYPE ******&array, int n1, int n2, int n3, int n4,
- int n5, const char *name)
+ TYPE ******create(TYPE ******& /*array*/, int /*n1*/, int /*n2*/, int /*n3*/, int /*n4*/,
+ int /*n5*/, const char *name)
{fail(name); return NULL;}
/* ----------------------------------------------------------------------
diff --git a/src/neighbor.cpp b/src/neighbor.cpp
index 912a636227..759f84e29f 100644
--- a/src/neighbor.cpp
+++ b/src/neighbor.cpp
@@ -2193,7 +2193,7 @@ void Neighbor::set(int narg, char **arg)
ditto for lastcall and last_setup_bins
------------------------------------------------------------------------- */
-void Neighbor::reset_timestep(bigint ntimestep)
+void Neighbor::reset_timestep(bigint /*ntimestep*/)
{
for (int i = 0; i < nbin; i++)
neigh_bin[i]->last_bin = -1;
diff --git a/src/pair.cpp b/src/pair.cpp
index 5c308cc7ce..18d561bdb5 100644
--- a/src/pair.cpp
+++ b/src/pair.cpp
@@ -301,7 +301,7 @@ void Pair::init_style()
specific pair style can override this function
------------------------------------------------------------------------- */
-void Pair::init_list(int which, NeighList *ptr)
+void Pair::init_list(int /*which*/, NeighList *ptr)
{
list = ptr;
}
diff --git a/src/pair_beck.cpp b/src/pair_beck.cpp
index cc8e14bf2c..d9c0fb902c 100644
--- a/src/pair_beck.cpp
+++ b/src/pair_beck.cpp
@@ -327,9 +327,9 @@ void PairBeck::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairBeck::single(int i, int j, int itype, int jtype,
+double PairBeck::single(int /*i*/, int /*j*/, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double phi_beck,r,rinv;
diff --git a/src/pair_born.cpp b/src/pair_born.cpp
index ce7a255fd4..1a1db9dd90 100644
--- a/src/pair_born.cpp
+++ b/src/pair_born.cpp
@@ -407,8 +407,8 @@ void PairBorn::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairBorn::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+double PairBorn::single(int /*i*/, int /*j*/, int itype, int jtype,
+ double rsq, double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,r,rexp,forceborn,phiborn;
diff --git a/src/pair_buck.cpp b/src/pair_buck.cpp
index 450ce291cb..8b6d79234b 100644
--- a/src/pair_buck.cpp
+++ b/src/pair_buck.cpp
@@ -380,8 +380,8 @@ void PairBuck::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairBuck::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+double PairBuck::single(int /*i*/, int /*j*/, int itype, int jtype,
+ double rsq, double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,r,rexp,forcebuck,phibuck;
diff --git a/src/pair_coul_cut.cpp b/src/pair_coul_cut.cpp
index edcf26bffe..8741abdb89 100644
--- a/src/pair_coul_cut.cpp
+++ b/src/pair_coul_cut.cpp
@@ -284,8 +284,8 @@ void PairCoulCut::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairCoulCut::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+double PairCoulCut::single(int i, int j, int /*itype*/, int /*jtype*/,
+ double rsq, double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r2inv,rinv,forcecoul,phicoul;
diff --git a/src/pair_coul_debye.cpp b/src/pair_coul_debye.cpp
index ee08ab3294..432a015598 100644
--- a/src/pair_coul_debye.cpp
+++ b/src/pair_coul_debye.cpp
@@ -163,8 +163,8 @@ void PairCoulDebye::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairCoulDebye::single(int i, int j, int itype, int jtype,
- double rsq, double factor_coul, double factor_lj,
+double PairCoulDebye::single(int i, int j, int /*itype*/, int /*jtype*/,
+ double rsq, double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r2inv,r,rinv,forcecoul,phicoul,screening;
diff --git a/src/pair_coul_dsf.cpp b/src/pair_coul_dsf.cpp
index f20eae43bd..8cd5f7fece 100644
--- a/src/pair_coul_dsf.cpp
+++ b/src/pair_coul_dsf.cpp
@@ -221,7 +221,7 @@ void PairCoulDSF::init_style()
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairCoulDSF::init_one(int i, int j)
+double PairCoulDSF::init_one(int /*i*/, int /*j*/)
{
return cut_coul;
}
@@ -291,8 +291,8 @@ void PairCoulDSF::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairCoulDSF::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairCoulDSF::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq,
+ double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r2inv,r,erfcc,erfcd,prefactor,t;
diff --git a/src/pair_coul_wolf.cpp b/src/pair_coul_wolf.cpp
index cd582f0693..762491166e 100644
--- a/src/pair_coul_wolf.cpp
+++ b/src/pair_coul_wolf.cpp
@@ -219,7 +219,7 @@ void PairCoulWolf::init_style()
init for one type pair i,j and corresponding j,i
------------------------------------------------------------------------- */
-double PairCoulWolf::init_one(int i, int j)
+double PairCoulWolf::init_one(int /*i*/, int /*j*/)
{
return cut_coul;
}
@@ -290,8 +290,8 @@ void PairCoulWolf::read_restart_settings(FILE *fp)
only the pair part is calculated here
------------------------------------------------------------------------- */
-double PairCoulWolf::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairCoulWolf::single(int i, int j, int /*itype*/, int /*jtype*/, double rsq,
+ double factor_coul, double /*factor_lj*/,
double &fforce)
{
double r,prefactor;
diff --git a/src/pair_dpd.cpp b/src/pair_dpd.cpp
index c209de87ed..5c5fc4254b 100644
--- a/src/pair_dpd.cpp
+++ b/src/pair_dpd.cpp
@@ -390,8 +390,8 @@ void PairDPD::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairDPD::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_dpd, double &fforce)
+double PairDPD::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_dpd, double &fforce)
{
double r,rinv,wd,phi;
diff --git a/src/pair_gauss.cpp b/src/pair_gauss.cpp
index fe53bcc9e1..426389753b 100644
--- a/src/pair_gauss.cpp
+++ b/src/pair_gauss.cpp
@@ -347,8 +347,8 @@ void PairGauss::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairGauss::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairGauss::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double /*factor_lj*/,
double &fforce)
{
double philj =
diff --git a/src/pair_hybrid.cpp b/src/pair_hybrid.cpp
index dc74dd040d..03747e1de3 100644
--- a/src/pair_hybrid.cpp
+++ b/src/pair_hybrid.cpp
@@ -844,7 +844,7 @@ void PairHybrid::modify_params(int narg, char **arg)
store a local per pair style override for special_lj and special_coul
------------------------------------------------------------------------- */
-void PairHybrid::modify_special(int m, int narg, char **arg)
+void PairHybrid::modify_special(int m, int /*narg*/, char **arg)
{
double special[4];
int i;
diff --git a/src/pair_lj96_cut.cpp b/src/pair_lj96_cut.cpp
index 28677a393e..457eba0e79 100644
--- a/src/pair_lj96_cut.cpp
+++ b/src/pair_lj96_cut.cpp
@@ -678,8 +678,8 @@ void PairLJ96Cut::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJ96Cut::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairLJ96Cut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r3inv,r6inv,forcelj,philj;
diff --git a/src/pair_lj_cubic.cpp b/src/pair_lj_cubic.cpp
index 4b140e5f05..770caa6359 100644
--- a/src/pair_lj_cubic.cpp
+++ b/src/pair_lj_cubic.cpp
@@ -175,7 +175,7 @@ void PairLJCubic::allocate()
global settings
------------------------------------------------------------------------- */
-void PairLJCubic::settings(int narg, char **arg)
+void PairLJCubic::settings(int narg, char **/*arg*/)
{
if (narg != 0) error->all(FLERR,"Illegal pair_style command");
@@ -321,9 +321,9 @@ void PairLJCubic::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJCubic::single(int i, int j, int itype, int jtype,
+double PairLJCubic::single(int /*i*/, int /*j*/, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,forcelj,philj;
diff --git a/src/pair_lj_cut.cpp b/src/pair_lj_cut.cpp
index bb2db6aa2f..13a546f5a5 100644
--- a/src/pair_lj_cut.cpp
+++ b/src/pair_lj_cut.cpp
@@ -672,8 +672,8 @@ void PairLJCut::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJCut::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairLJCut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,forcelj,philj;
diff --git a/src/pair_lj_expand.cpp b/src/pair_lj_expand.cpp
index ba72d7d45f..9aa58b3b88 100644
--- a/src/pair_lj_expand.cpp
+++ b/src/pair_lj_expand.cpp
@@ -396,8 +396,8 @@ void PairLJExpand::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJExpand::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairLJExpand::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,rshift,rshiftsq,r2inv,r6inv,forcelj,philj;
diff --git a/src/pair_lj_gromacs.cpp b/src/pair_lj_gromacs.cpp
index 6b2219d2c5..495e96c368 100644
--- a/src/pair_lj_gromacs.cpp
+++ b/src/pair_lj_gromacs.cpp
@@ -414,9 +414,9 @@ void PairLJGromacs::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJGromacs::single(int i, int j, int itype, int jtype,
+double PairLJGromacs::single(int /*i*/, int /*j*/, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,forcelj,philj;
diff --git a/src/pair_lj_smooth.cpp b/src/pair_lj_smooth.cpp
index 23256d486e..a12046bb3b 100644
--- a/src/pair_lj_smooth.cpp
+++ b/src/pair_lj_smooth.cpp
@@ -425,8 +425,8 @@ void PairLJSmooth::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJSmooth::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairLJSmooth::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,forcelj,philj,r,t,tsq,fskin;
diff --git a/src/pair_lj_smooth_linear.cpp b/src/pair_lj_smooth_linear.cpp
index 592a7f6f41..17c789bcee 100644
--- a/src/pair_lj_smooth_linear.cpp
+++ b/src/pair_lj_smooth_linear.cpp
@@ -326,9 +326,9 @@ void PairLJSmoothLinear::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairLJSmoothLinear::single(int i, int j, int itype, int jtype,
+double PairLJSmoothLinear::single(int /*i*/, int /*j*/, int itype, int jtype,
double rsq,
- double factor_coul, double factor_lj,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r6inv,forcelj,philj,r,rinv;
diff --git a/src/pair_mie_cut.cpp b/src/pair_mie_cut.cpp
index 1f9267ca30..c1e1c1ff50 100644
--- a/src/pair_mie_cut.cpp
+++ b/src/pair_mie_cut.cpp
@@ -682,8 +682,8 @@ void PairMIECut::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairMIECut::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_mie,
+double PairMIECut::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_mie,
double &fforce)
{
double r2inv,rgamR,rgamA,forcemie,phimie;
diff --git a/src/pair_morse.cpp b/src/pair_morse.cpp
index 32ddd723b2..c1031343e1 100644
--- a/src/pair_morse.cpp
+++ b/src/pair_morse.cpp
@@ -334,8 +334,8 @@ void PairMorse::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairMorse::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairMorse::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,dr,dexp,phi;
diff --git a/src/pair_soft.cpp b/src/pair_soft.cpp
index f428893fd1..d1c51ac600 100644
--- a/src/pair_soft.cpp
+++ b/src/pair_soft.cpp
@@ -307,8 +307,8 @@ void PairSoft::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairSoft::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairSoft::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r,arg,philj;
diff --git a/src/pair_table.cpp b/src/pair_table.cpp
index 9e9e41a54c..5c43761cab 100644
--- a/src/pair_table.cpp
+++ b/src/pair_table.cpp
@@ -993,8 +993,8 @@ void PairTable::read_restart_settings(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairTable::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairTable::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
int itable;
diff --git a/src/pair_ufm.cpp b/src/pair_ufm.cpp
index 965fe0204e..a9f076f504 100644
--- a/src/pair_ufm.cpp
+++ b/src/pair_ufm.cpp
@@ -353,8 +353,8 @@ void PairUFM::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairUFM::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairUFM::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double expuf,phiuf;
diff --git a/src/pair_yukawa.cpp b/src/pair_yukawa.cpp
index 040664abec..af520fd3da 100644
--- a/src/pair_yukawa.cpp
+++ b/src/pair_yukawa.cpp
@@ -319,8 +319,8 @@ void PairYukawa::write_data_all(FILE *fp)
/* ---------------------------------------------------------------------- */
-double PairYukawa::single(int i, int j, int itype, int jtype, double rsq,
- double factor_coul, double factor_lj,
+double PairYukawa::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*factor_coul*/, double factor_lj,
double &fforce)
{
double r2inv,r,rinv,screening,forceyukawa,phi;
diff --git a/src/pair_zbl.cpp b/src/pair_zbl.cpp
index 98048f61d0..f23a1e5d56 100644
--- a/src/pair_zbl.cpp
+++ b/src/pair_zbl.cpp
@@ -267,8 +267,8 @@ double PairZBL::init_one(int i, int j)
/* ---------------------------------------------------------------------- */
-double PairZBL::single(int i, int j, int itype, int jtype, double rsq,
- double dummy1, double dummy2,
+double PairZBL::single(int /*i*/, int /*j*/, int itype, int jtype, double rsq,
+ double /*dummy1*/, double /*dummy2*/,
double &fforce)
{
double phi,r,t,eswitch,fswitch;
diff --git a/src/rcb.cpp b/src/rcb.cpp
index 13e27b6fbf..630cef309a 100644
--- a/src/rcb.cpp
+++ b/src/rcb.cpp
@@ -1108,7 +1108,7 @@ void RCB::compute_old(int dimension, int n, double **x, double *wt,
merge of each component of an RCB bounding box
------------------------------------------------------------------------- */
-void box_merge(void *in, void *inout, int *len, MPI_Datatype *dptr)
+void box_merge(void *in, void *inout, int * /*len*/, MPI_Datatype * /*dptr*/)
{
RCB::BBox *box1 = (RCB::BBox *) in;
@@ -1138,7 +1138,7 @@ void box_merge(void *in, void *inout, int *len, MPI_Datatype *dptr)
all procs must get same proclo,prochi
------------------------------------------------------------------------- */
-void median_merge(void *in, void *inout, int *len, MPI_Datatype *dptr)
+void median_merge(void *in, void *inout, int * /*len*/, MPI_Datatype * /*dptr*/)
{
RCB::Median *med1 = (RCB::Median *) in;
diff --git a/src/reader_xyz.cpp b/src/reader_xyz.cpp
index 5cb3476510..37d30bd740 100644
--- a/src/reader_xyz.cpp
+++ b/src/reader_xyz.cpp
@@ -117,9 +117,9 @@ void ReaderXYZ::skip()
only called by proc 0
------------------------------------------------------------------------- */
-bigint ReaderXYZ::read_header(double box[3][3], int &triclinic,
+bigint ReaderXYZ::read_header(double /*box*/[3][3], int &triclinic,
int fieldinfo, int nfield,
- int *fieldtype, char **fieldlabel,
+ int *fieldtype, char **/*fieldlabel*/,
int scaleflag, int wrapflag, int &fieldflag,
int &xflag, int &yflag, int &zflag)
{
diff --git a/src/region.cpp b/src/region.cpp
index 88a414b134..c52c0181aa 100644
--- a/src/region.cpp
+++ b/src/region.cpp
@@ -28,7 +28,7 @@ using namespace LAMMPS_NS;
/* ---------------------------------------------------------------------- */
-Region::Region(LAMMPS *lmp, int narg, char **arg) :
+Region::Region(LAMMPS *lmp, int /*narg*/, char **arg) :
Pointers(lmp),
id(NULL), style(NULL), contact(NULL), list(NULL),
xstr(NULL), ystr(NULL), zstr(NULL), tstr(NULL)
diff --git a/src/reset_ids.cpp b/src/reset_ids.cpp
index fd898bd3ab..b2cf7a9bbc 100644
--- a/src/reset_ids.cpp
+++ b/src/reset_ids.cpp
@@ -28,7 +28,7 @@ ResetIDs::ResetIDs(LAMMPS *lmp) : Pointers(lmp) {}
/* ---------------------------------------------------------------------- */
-void ResetIDs::command(int narg, char **arg)
+void ResetIDs::command(int narg, char **/*arg*/)
{
if (domain->box_exist == 0)
error->all(FLERR,"Reset_ids command before simulation box is defined");
diff --git a/src/respa.cpp b/src/respa.cpp
index 73e280b03d..26bae5a1cb 100644
--- a/src/respa.cpp
+++ b/src/respa.cpp
@@ -774,7 +774,7 @@ void Respa::recurse(int ilevel)
clear other arrays as needed
------------------------------------------------------------------------- */
-void Respa::force_clear(int newtonflag)
+void Respa::force_clear(int /*newtonflag*/)
{
if (external_force_clear) return;
diff --git a/src/variable.cpp b/src/variable.cpp
index f005221400..3c54eac1ef 100644
--- a/src/variable.cpp
+++ b/src/variable.cpp
@@ -733,7 +733,7 @@ int Variable::find(char *name)
called when atom is created
------------------------------------------------------------------------- */
-void Variable::set_arrays(int i)
+void Variable::set_arrays(int /*i*/)
{
for (int i = 0; i < nvar; i++)
if (reader[i] && style[i] == ATOMFILE)
@@ -3733,7 +3733,7 @@ int Variable::group_function(char *word, char *contents, Tree **tree,
if (strcmp(word,"count") == 0) {
if (narg == 1) value = group->count(igroup);
- else if (narg == 2)
+ else if (narg == 2)
value = group->count(igroup,region_function(args[1],ivar));
else print_var_error(FLERR,"Invalid group function in variable formula",ivar);
@@ -3744,7 +3744,7 @@ int Variable::group_function(char *word, char *contents, Tree **tree,
} else if (strcmp(word,"charge") == 0) {
if (narg == 1) value = group->charge(igroup);
- else if (narg == 2)
+ else if (narg == 2)
value = group->charge(igroup,region_function(args[1],ivar));
else print_var_error(FLERR,"Invalid group function in variable formula",ivar);
@@ -3795,7 +3795,7 @@ int Variable::group_function(char *word, char *contents, Tree **tree,
} else if (strcmp(word,"bound") == 0) {
double minmax[6];
if (narg == 2) group->bounds(igroup,minmax);
- else if (narg == 3)
+ else if (narg == 3)
group->bounds(igroup,minmax,region_function(args[2],ivar));
else print_var_error(FLERR,"Invalid group function in variable formula",ivar);
if (strcmp(args[1],"xmin") == 0) value = minmax[0];
@@ -3959,7 +3959,7 @@ int Variable::special_function(char *word, char *contents, Tree **tree,
double *argstack, int &nargstack, int ivar)
{
bigint sx,sxx;
- double value,xvalue,sy,sxy;
+ double value,sy,sxy;
// word not a match to any special function
@@ -4055,7 +4055,7 @@ int Variable::special_function(char *word, char *contents, Tree **tree,
} else index = 0;
int ifix = modify->find_fix(&args[0][2]);
- if (ifix < 0)
+ if (ifix < 0)
print_var_error(FLERR,"Invalid fix ID in variable formula",ivar);
fix = modify->fix[ifix];
if (index == 0 && fix->vector_flag) {
diff --git a/src/velocity.cpp b/src/velocity.cpp
index f83f778f8b..3a0b95fb4d 100644
--- a/src/velocity.cpp
+++ b/src/velocity.cpp
@@ -410,7 +410,7 @@ void Velocity::create(double t_desired, int seed)
/* ---------------------------------------------------------------------- */
-void Velocity::set(int narg, char **arg)
+void Velocity::set(int /*narg*/, char **arg)
{
int xstyle,ystyle,zstyle,varflag;
double vx,vy,vz;
@@ -579,7 +579,7 @@ void Velocity::set(int narg, char **arg)
rescale velocities of a group after computing its temperature
------------------------------------------------------------------------- */
-void Velocity::scale(int narg, char **arg)
+void Velocity::scale(int /*narg*/, char **arg)
{
double t_desired = force->numeric(FLERR,arg[0]);
@@ -628,7 +628,7 @@ void Velocity::scale(int narg, char **arg)
apply a ramped set of velocities
------------------------------------------------------------------------- */
-void Velocity::ramp(int narg, char **arg)
+void Velocity::ramp(int /*narg*/, char **arg)
{
// set scale factors
@@ -705,7 +705,7 @@ void Velocity::ramp(int narg, char **arg)
zero linear or angular momentum of a group
------------------------------------------------------------------------- */
-void Velocity::zero(int narg, char **arg)
+void Velocity::zero(int /*narg*/, char **arg)
{
if (strcmp(arg[0],"linear") == 0) {
if (rfix < 0) zero_momentum();
diff --git a/src/version.h b/src/version.h
index 2192b25d91..fbeeabff8d 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1 +1 @@
-#define LAMMPS_VERSION "22 Aug 2018"
+#define LAMMPS_VERSION "31 Aug 2018"