Merge branch 'develop' into snann_slcsa

This commit is contained in:
Axel Kohlmeyer
2023-11-29 01:34:17 -05:00
1091 changed files with 84903 additions and 27600 deletions

8
.github/CODEOWNERS vendored
View File

@ -61,6 +61,7 @@ src/GPU/pair_vashishta_gpu.* @andeplane
src/KOKKOS/pair_vashishta_kokkos.* @andeplane src/KOKKOS/pair_vashishta_kokkos.* @andeplane
src/MANYBODY/pair_vashishta_table.* @andeplane src/MANYBODY/pair_vashishta_table.* @andeplane
src/MANYBODY/pair_atm.* @sergeylishchuk src/MANYBODY/pair_atm.* @sergeylishchuk
src/MANYBODY/pair_nb3b_screened.* @flodesani
src/REPLICA/*_grem.* @dstelter92 src/REPLICA/*_grem.* @dstelter92
src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel src/EXTRA-COMPUTE/compute_stress_mop*.* @RomainVermorel
src/EXTRA-COMPUTE/compute_born_matrix.* @Bibobu @athomps src/EXTRA-COMPUTE/compute_born_matrix.* @Bibobu @athomps
@ -135,6 +136,7 @@ src/timer.* @akohlmey
src/utils.* @akohlmey @rbberger src/utils.* @akohlmey @rbberger
src/verlet.* @sjplimp @stanmoore1 src/verlet.* @sjplimp @stanmoore1
src/math_eigen_impl.h @jewettaij src/math_eigen_impl.h @jewettaij
src/fix_press_langevin.* @Bibobu
# tools # tools
tools/coding_standard/* @akohlmey @rbberger tools/coding_standard/* @akohlmey @rbberger
@ -151,12 +153,12 @@ tools/vim/* @hammondkd
unittest/* @akohlmey unittest/* @akohlmey
# cmake # cmake
cmake/* @rbberger cmake/* @akohlmey
cmake/Modules/LAMMPSInterfacePlugin.cmake @akohlmey cmake/Modules/LAMMPSInterfacePlugin.cmake @akohlmey
cmake/Modules/MPI4WIN.cmake @akohlmey cmake/Modules/MPI4WIN.cmake @akohlmey
cmake/Modules/OpenCLLoader.cmake @akohlmey cmake/Modules/OpenCLLoader.cmake @akohlmey
cmake/Modules/Packages/COLVARS.cmake @rbberger @giacomofiorin cmake/Modules/Packages/COLVARS.cmake @giacomofiorin
cmake/Modules/Packages/KIM.cmake @rbberger @ellio167 cmake/Modules/Packages/KIM.cmake @ellio167
cmake/presets/*.cmake @akohlmey cmake/presets/*.cmake @akohlmey
# python # python

View File

@ -5,9 +5,9 @@ Thank you for considering to contribute to the LAMMPS software project.
The following is a set of guidelines as well as explanations of policies and work flows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project. The following is a set of guidelines as well as explanations of policies and work flows for contributing to the LAMMPS molecular dynamics software project. These guidelines focus on submitting issues or pull requests on the LAMMPS GitHub project.
Thus please also have a look at: Thus please also have a look at:
* [The guide for submitting new features in the LAMMPS manual](https://www.lammps.org/doc/Modify_contribute.html) * [The guide for submitting new features in the LAMMPS manual](https://docs.lammps.org/Modify_contribute.html)
* [The guide on programming style and requirement in the LAMMPS manual](https://www.lammps.org/doc/Modify_style.html) * [The guide on programming style and requirement in the LAMMPS manual](https://docs.lammps.org/Modify_requirements.html)
* [The GitHub tutorial in the LAMMPS manual](http://lammps.sandia.gov/doc/Howto_github.html) * [The GitHub tutorial in the LAMMPS manual](http://docs.lammps.org/Howto_github.html)
## Table of Contents ## Table of Contents
@ -27,17 +27,17 @@ __
## I don't want to read this whole thing I just have a question! ## I don't want to read this whole thing I just have a question!
> **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to either the ['lammps-users' mailing list](https://lammps.sandia.gov/mail.html) or the [LAMMPS Material Science Discourse forum](https://matsci.org/lammps). You do not need to be subscribed to post to the list (but a mailing list subscription avoids having your post delayed until it is approved by a mailing list moderator). Most posts to the mailing list receive a response within less than 24 hours. Before posting to the mailing list, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html). Following those guidelines will help greatly to get a helpful response. Always mention which LAMMPS version you are using. The LAMMPS forum was recently created as part of a larger effort to build a materials science community and have discussions not just about using LAMMPS. Thus the forum may be also used for discussions that would be off-topic for the mailing list. Those will just have to be posted to a more general category. > **Note:** Please do not file an issue to ask a general question about LAMMPS, its features, how to use specific commands, or how perform simulations or analysis in LAMMPS. Instead post your question to the [LAMMPS Material Science Discourse forum](https://matsci.org/lammps). Before posting to the forum, please read the general [guidelines](https://www.lammps.org/guidelines.html) and the forum specific [suggestions](https://matsci.org/t/please-read-this-first-guidelines-and-suggestions-for-posting-lammps-questions/49913). Following those guidelines and suggestions will help greatly to get a helpful response. *Always* mention which LAMMPS version you are using. The MatSci website may be also used for discussions that would be off-topic for the LAMMPS categories. Those will just have to be posted to a different category.
## How Can I Contribute? ## How Can I Contribute?
There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list or the forum, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list or posting in the LAMMPS Materials Science Discourse forum), and you can contribute by submitting pull requests on GitHub or e-mail your code There are several ways how you can actively contribute to the LAMMPS project: you can discuss compiling and using LAMMPS, and solving LAMMPS related problems with other LAMMPS users on the lammps-users mailing list or the forum, you can report bugs or suggest enhancements by creating issues on GitHub (or posting them to the lammps-users mailing list or posting in the LAMMPS Materials Science Discourse forum), and you can contribute by submitting pull requests on GitHub or e-mail your code
to one of the [LAMMPS core developers](https://lammps.sandia.gov/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers. to one of the [LAMMPS core developers](https://www.lammps.org/authors.html). As you may see from the aforementioned developer page, the LAMMPS software package includes the efforts of a very large number of contributors beyond the principal authors and maintainers.
### Discussing How To Use LAMMPS ### Discussing How To Use LAMMPS
The LAMMPS mailing list is hosted at SourceForge. The mailing list began in 2005, and now includes tens of thousands of messages in thousands of threads. LAMMPS developers try to respond to posted questions in a timely manner, but there are no guarantees. Please consider that people live in different timezone and may not have time to answer e-mails outside of their work hours. The LAMMPS mailing list is hosted at SourceForge. The mailing list began in 2005, and now includes tens of thousands of messages in thousands of threads. LAMMPS developers try to respond to posted questions in a timely manner, but there are no guarantees. Please consider that people live in different timezone and may not have time to answer e-mails outside of their work hours.
You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](https://lammps.sandia.gov/guidelines.html) to maximize your chances to receive a helpful response. You can post to list by sending your email to lammps-users at lists.sourceforge.net (no subscription required), but before posting, please read the [mailing list guidelines](https://www.lammps.org/guidelines.html) to maximize your chances to receive a helpful response.
Anyone can browse/search previous questions/answers in the archives. You do not have to subscribe to the list to post questions, receive answers (to your questions), or browse/search the archives. You **do** need to subscribe to the list if you want emails for **all** the posts (as individual messages or in digest form), or to answer questions yourself. Feel free to sign up and help us out! Answering questions from fellow LAMMPS users is a great way to pay back the community for providing you a useful tool for free, and to pass on the advice you have received yourself to others. It improves your karma and helps you understand your own research better. Anyone can browse/search previous questions/answers in the archives. You do not have to subscribe to the list to post questions, receive answers (to your questions), or browse/search the archives. You **do** need to subscribe to the list if you want emails for **all** the posts (as individual messages or in digest form), or to answer questions yourself. Feel free to sign up and help us out! Answering questions from fellow LAMMPS users is a great way to pay back the community for providing you a useful tool for free, and to pass on the advice you have received yourself to others. It improves your karma and helps you understand your own research better.
@ -47,7 +47,7 @@ The LAMMPS Materials Science Discourse forum was created recently to facilitate
### Reporting Bugs ### Reporting Bugs
While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](https://lammps.sandia.gov/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version. While developers writing code for LAMMPS are careful to test their code, LAMMPS is such a large and complex software, that it is impossible to test for all combinations of features under all normal and not so normal circumstances. Thus bugs do happen, and if you suspect, that you have encountered one, please try to document it and report it as an [Issue](https://github.com/lammps/lammps/issues) on the LAMMPS GitHub project web page. However, before reporting a bug, you need to check whether this is something that may have already been corrected. The [Latest Features and Bug Fixes in LAMMPS](https://www.lammps.org/bug.html) web page lists all significant changes to LAMMPS over the years. It also tells you what the current latest development version of LAMMPS is, and you should test whether your issue still applies to that version.
When you click on the green "New Issue" button, you will be provided with a text field, where you can enter your message. That text field with contain a template with several headlines and some descriptions. Keep the headlines that are relevant to your reported potential bug and replace the descriptions with the information as suggested by the descriptions. When you click on the green "New Issue" button, you will be provided with a text field, where you can enter your message. That text field with contain a template with several headlines and some descriptions. Keep the headlines that are relevant to your reported potential bug and replace the descriptions with the information as suggested by the descriptions.
You can also attach small text files (please add the file name extension `.txt` or it will be rejected), images, or small compressed text files (using gzip, do not use RAR or 7-ZIP or similar tools that are uncommon outside of Windows machines). In many cases, bugs are best illustrated by providing a small input deck (do **not** attach your entire production input, but remove everything that is not required to reproduce the issue, and scale down your system size, that the resulting calculation runs fast and can be run on small desktop quickly). You can also attach small text files (please add the file name extension `.txt` or it will be rejected), images, or small compressed text files (using gzip, do not use RAR or 7-ZIP or similar tools that are uncommon outside of Windows machines). In many cases, bugs are best illustrated by providing a small input deck (do **not** attach your entire production input, but remove everything that is not required to reproduce the issue, and scale down your system size, that the resulting calculation runs fast and can be run on small desktop quickly).
@ -65,9 +65,9 @@ To be able to submit an issue on GitHub, you have to register for an account (fo
We encourage users to submit new features or modifications for LAMMPS. Instructions, guidelines, requirements, We encourage users to submit new features or modifications for LAMMPS. Instructions, guidelines, requirements,
and recommendations are in the following sections of the LAMMPS manual: and recommendations are in the following sections of the LAMMPS manual:
* [The guide for submitting new features in the LAMMPS manual](https://lammps.sandia.gov/doc/Modify_contribute.html) * [The guide for submitting new features in the LAMMPS manual](https://docs.lammps.org/Modify_contribute.html)
* [The guide on programming style and requirement in the LAMMPS manual](https://lammps.sandia.gov/doc/Modify_contribute.html) * [The guide on programming style and requirement in the LAMMPS manual](https://docs.lammps.org/Modify_requirements.html)
* [The GitHub tutorial in the LAMMPS manual](http://lammps.sandia.gov/doc/Howto_github.html) * [The GitHub tutorial in the LAMMPS manual](http://docs.lammps.org/Howto_github.html)
## GitHub Workflows ## GitHub Workflows
@ -85,7 +85,7 @@ For bug reports, the next step is that one of the core LAMMPS developers will se
### Pull Requests ### Pull Requests
Pull requests are the **only** way that changes get made to the LAMMPS distribution. So also the LAMMPS core developers will submit pull requests for their own changes and discuss them on GitHub. Thus if you submit a pull request it will be treated in a similar fashion. When you submit a pull request you may opt to submit a "Draft" pull request. That means your changes are visible and will be subject to testing, but reviewers will not be (auto-)assigned and comments will take into account that this is not complete. On the other hand, this is a perfect way to ask the LAMMPS developers for comments on non-obvious changes and get feedback and possible suggestions for improvements or recommendations about what to avoid. Pull requests are the **only** way that changes get made to the LAMMPS distribution. So also the LAMMPS core developers will submit pull requests for their own changes and discuss them on GitHub. Thus if you submit a pull request it will be treated in a similar fashion. When you submit a pull request you may opt to submit a "Draft" pull request. That means your changes are visible and will be subject to testing, but reviewers will not be (auto-)assigned and comments will take into account that this is not complete. On the other hand, this is a perfect way to ask the LAMMPS developers for comments on non-obvious changes and get feedback and possible suggestions for improvements or recommendations about what to avoid.
Immediately after the submission, the LAMMPS continuing integration server at ci.lammps.org will download your submitted branch and perform a number of tests: it will tests whether it compiles cleanly under various conditions, it will also do a check on whether your included documentation translates cleanly and run some unit tests and other checks. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each time the pull request is updated with a push to the remote branch on GitHub. If you are unsure about what you need to change, ask a question in the discussion area of the pull request. Immediately after the submission, the LAMMPS continuing integration server at https://ci.lammps.org will download your submitted branch and perform a number of tests: it will tests whether it compiles cleanly under various conditions, it will also do a check on whether your included documentation translates cleanly and run some unit tests and other checks. Whether these tests are successful or fail will be recorded. If a test fails, please inspect the corresponding output on the CI server and take the necessary steps, if needed, so that the code can compile cleanly again. The test will be re-run each time the pull request is updated with a push to the remote branch on GitHub. If you are unsure about what you need to change, ask a question in the discussion area of the pull request.
Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you submitted a draft pull request, this will not happen unless you mark it "ready for review". If you are not yet invited as a LAMMPS collaborator, and your contribution seems significant, you may also receive an invitation for collaboration on the LAMMPS repository. As part of the assessment, the pull request will be categorized with labels. There are two special labels: `needs_work` (indicates that work from the submitter of the pull request is needed) and `work_in_progress` (indicates, that the assigned LAMMPS developer will make changes, if not done by the contributor who made the submit). Next a LAMMPS core developer will self-assign and do an overall technical assessment of the submission. If you submitted a draft pull request, this will not happen unless you mark it "ready for review". If you are not yet invited as a LAMMPS collaborator, and your contribution seems significant, you may also receive an invitation for collaboration on the LAMMPS repository. As part of the assessment, the pull request will be categorized with labels. There are two special labels: `needs_work` (indicates that work from the submitter of the pull request is needed) and `work_in_progress` (indicates, that the assigned LAMMPS developer will make changes, if not done by the contributor who made the submit).
You may also receive comments and suggestions on the overall submission or specific details and on occasion specific requests for changes as part of the review. If permitted, also additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes. You may also receive comments and suggestions on the overall submission or specific details and on occasion specific requests for changes as part of the review. If permitted, also additional changes may be pushed into your pull request branch or a pull request may be filed in your LAMMPS fork on GitHub to include those changes.
The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer. The LAMMPS developer may then decide to assign the pull request to another developer (e.g. when that developer is more knowledgeable about the submitted feature or enhancement or has written the modified code). It may also happen, that additional developers are requested to provide a review and approve the changes. For submissions, that may change the general behavior of LAMMPS, or where a possibility of unwanted side effects exists, additional tests may be requested by the assigned developer.

View File

@ -59,16 +59,13 @@ jobs:
-D BUILD_SHARED_LIBS=on \ -D BUILD_SHARED_LIBS=on \
-D LAMMPS_SIZES=SMALLBIG \ -D LAMMPS_SIZES=SMALLBIG \
-D LAMMPS_EXCEPTIONS=off \ -D LAMMPS_EXCEPTIONS=off \
-D PKG_MESSAGE=on \
-D PKG_MPIIO=on \
-D PKG_ATC=on \ -D PKG_ATC=on \
-D PKG_AWPMD=on \ -D PKG_AWPMD=on \
-D PKG_BOCS=on \
-D PKG_EFF=on \
-D PKG_H5MD=on \ -D PKG_H5MD=on \
-D PKG_INTEL=on \ -D PKG_INTEL=on \
-D PKG_LATBOLTZ=on \ -D PKG_LATBOLTZ=on \
-D PKG_MANIFOLD=on \ -D PKG_MANIFOLD=on \
-D PKG_MDI=on \
-D PKG_MGPT=on \ -D PKG_MGPT=on \
-D PKG_ML-PACE=on \ -D PKG_ML-PACE=on \
-D PKG_ML-RANN=on \ -D PKG_ML-RANN=on \
@ -77,7 +74,6 @@ jobs:
-D PKG_PTM=on \ -D PKG_PTM=on \
-D PKG_QTB=on \ -D PKG_QTB=on \
-D PKG_SMTBQ=on \ -D PKG_SMTBQ=on \
-D PKG_TALLY=on \
../cmake ../cmake
- name: Run Coverity Scan - name: Run Coverity Scan

View File

@ -2,7 +2,6 @@
######################################## ########################################
# CMake build system # CMake build system
# This file is part of LAMMPS # This file is part of LAMMPS
# Created by Christoph Junghans and Richard Berger
cmake_minimum_required(VERSION 3.16) cmake_minimum_required(VERSION 3.16)
######################################## ########################################
# set policy to silence warnings about ignoring <PackageName>_ROOT but use it # set policy to silence warnings about ignoring <PackageName>_ROOT but use it
@ -106,7 +105,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4) if(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 17.4)
set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512") set(CMAKE_TUNE_DEFAULT "-xCOMMON-AVX512")
else() else()
set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=2196") set(CMAKE_TUNE_DEFAULT "-xHost -fp-model fast=2 -no-prec-div -qoverride-limits -diag-disable=10441 -diag-disable=11074 -diag-disable=11076 -diag-disable=2196")
endif() endif()
endif() endif()
endif() endif()
@ -159,17 +158,20 @@ endif()
######################################################################## ########################################################################
# User input options # # User input options #
######################################################################## ########################################################################
# set path to python interpreter and thus enforcing python version when # backward compatibility with CMake before 3.12 and older LAMMPS documentation
# in a virtual environment and PYTHON_EXECUTABLE is not set on command line if (PYTHON_EXECUTABLE)
if(DEFINED ENV{VIRTUAL_ENV} AND NOT PYTHON_EXECUTABLE)
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(PYTHON_EXECUTABLE "$ENV{VIRTUAL_ENV}/Scripts/python.exe")
else()
set(PYTHON_EXECUTABLE "$ENV{VIRTUAL_ENV}/bin/python")
endif()
set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}") set(Python_EXECUTABLE "${PYTHON_EXECUTABLE}")
endif()
# set path to python interpreter and thus enforcing python version when
# in a virtual environment and Python_EXECUTABLE is not set on command line
if(DEFINED ENV{VIRTUAL_ENV} AND NOT Python_EXECUTABLE)
if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
set(Python_EXECUTABLE "$ENV{VIRTUAL_ENV}/Scripts/python.exe")
else()
set(Python_EXECUTABLE "$ENV{VIRTUAL_ENV}/bin/python")
endif()
message(STATUS "Running in virtual environment: $ENV{VIRTUAL_ENV}\n" message(STATUS "Running in virtual environment: $ENV{VIRTUAL_ENV}\n"
" Setting Python interpreter to: ${PYTHON_EXECUTABLE}") " Setting Python interpreter to: ${Python_EXECUTABLE}")
endif() endif()
set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically") set(LAMMPS_MACHINE "" CACHE STRING "Suffix to append to lmp binary (WON'T enable any features automatically")
@ -425,6 +427,18 @@ if(BUILD_OMP)
target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX) target_link_libraries(lmp PRIVATE OpenMP::OpenMP_CXX)
endif() endif()
# lower C++ standard for fmtlib sources when using Intel classic compiler
if((CMAKE_CXX_COMPILER_ID STREQUAL "Intel") AND (CMAKE_CXX_STANDARD GREATER_EQUAL 17)
AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 2021.10))
message(STATUS "Lowering C++ standard for compiling fmtlib sources with Intel Classic compiler")
get_filename_component(LMP_UTILS_SRC "${LAMMPS_SOURCE_DIR}/utils.cpp" ABSOLUTE)
get_filename_component(LMP_VARIABLE_SRC "${LAMMPS_SOURCE_DIR}/variable.cpp" ABSOLUTE)
get_filename_component(FMT_FORMAT_SRC "${LAMMPS_SOURCE_DIR}/fmtlib_format.cpp" ABSOLUTE)
get_filename_component(FMT_OS_SRC "${LAMMPS_SOURCE_DIR}/fmtlib_os.cpp" ABSOLUTE)
set_source_files_properties("${FMT_FORMAT_SRC}" "${FMT_OS_SRC}" "${LMP_VARIABLE_SRC}" "${LMP_UTILS_SRC}"
PROPERTIES COMPILE_OPTIONS "-std=c++14")
endif()
if(PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR BUILD_TOOLS) if(PKG_ATC OR PKG_AWPMD OR PKG_ML-QUIP OR PKG_ML-POD OR PKG_ELECTRODE OR BUILD_TOOLS)
enable_language(C) enable_language(C)
if (NOT USE_INTERNAL_LINALG) if (NOT USE_INTERNAL_LINALG)
@ -794,9 +808,6 @@ install(
############################################################################### ###############################################################################
if(BUILD_SHARED_LIBS) if(BUILD_SHARED_LIBS)
# backward compatibility # backward compatibility
if(PYTHON_EXECUTABLE)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif()
find_package(Python COMPONENTS Interpreter) find_package(Python COMPONENTS Interpreter)
if(BUILD_IS_MULTI_CONFIG) if(BUILD_IS_MULTI_CONFIG)
set(MY_BUILD_DIR ${CMAKE_BINARY_DIR}/$<CONFIG>) set(MY_BUILD_DIR ${CMAKE_BINARY_DIR}/$<CONFIG>)

View File

@ -83,12 +83,12 @@ function(check_for_autogen_files source_dir)
file(GLOB SRC_AUTOGEN_FILES CONFIGURE_DEPENDS ${source_dir}/style_*.h) file(GLOB SRC_AUTOGEN_FILES CONFIGURE_DEPENDS ${source_dir}/style_*.h)
file(GLOB SRC_AUTOGEN_PACKAGES CONFIGURE_DEPENDS ${source_dir}/packages_*.h) file(GLOB SRC_AUTOGEN_PACKAGES CONFIGURE_DEPENDS ${source_dir}/packages_*.h)
list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${source_dir}/lmpinstalledpkgs.h ${source_dir}/lmpgitversion.h) list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${source_dir}/lmpinstalledpkgs.h ${source_dir}/lmpgitversion.h)
list(APPEND SRC_AUTOGEN_FILES ${SRC_AUTOGEN_PACKAGES} ${source_dir}/mliap_model_python_couple.h ${source_dir}/mliap_model_python_couple.cpp) list(APPEND SRC_AUTOGEN_FILES ${source_dir}/mliap_model_python_couple.h ${source_dir}/mliap_model_python_couple.cpp)
foreach(_SRC ${SRC_AUTOGEN_FILES}) foreach(_SRC ${SRC_AUTOGEN_FILES})
get_filename_component(FILENAME "${_SRC}" NAME) get_filename_component(FILENAME "${_SRC}" NAME)
if(EXISTS ${source_dir}/${FILENAME}) if(EXISTS ${source_dir}/${FILENAME})
message(FATAL_ERROR "\n########################################################################\n" message(FATAL_ERROR "\n########################################################################\n"
"Found header file(s) generated by the make-based build system\n" "Found header file ${source_dir}/${FILENAME} generated by the make-based build system\n"
"\n" "\n"
"Please run\n" "Please run\n"
"make -C ${source_dir} purge\n" "make -C ${source_dir} purge\n"

View File

@ -50,8 +50,8 @@ if(DOWNLOAD_KOKKOS)
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}") list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_CXX_EXTENSIONS=${CMAKE_CXX_EXTENSIONS}")
list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") list(APPEND KOKKOS_LIB_BUILD_ARGS "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
include(ExternalProject) include(ExternalProject)
set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.1.00.tar.gz" CACHE STRING "URL for KOKKOS tarball") set(KOKKOS_URL "https://github.com/kokkos/kokkos/archive/4.2.00.tar.gz" CACHE STRING "URL for KOKKOS tarball")
set(KOKKOS_MD5 "a5f096bd8ad01b97fdc7a32583b17a33" CACHE STRING "MD5 checksum of KOKKOS tarball") set(KOKKOS_MD5 "731647b61a4233f568d583702e9cd6d1" CACHE STRING "MD5 checksum of KOKKOS tarball")
mark_as_advanced(KOKKOS_URL) mark_as_advanced(KOKKOS_URL)
mark_as_advanced(KOKKOS_MD5) mark_as_advanced(KOKKOS_MD5)
GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK) GetFallbackURL(KOKKOS_URL KOKKOS_FALLBACK)
@ -76,7 +76,7 @@ if(DOWNLOAD_KOKKOS)
add_dependencies(LAMMPS::KOKKOSCORE kokkos_build) add_dependencies(LAMMPS::KOKKOSCORE kokkos_build)
add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build) add_dependencies(LAMMPS::KOKKOSCONTAINERS kokkos_build)
elseif(EXTERNAL_KOKKOS) elseif(EXTERNAL_KOKKOS)
find_package(Kokkos 4.1.00 REQUIRED CONFIG) find_package(Kokkos 4.2.00 REQUIRED CONFIG)
target_link_libraries(lammps PRIVATE Kokkos::kokkos) target_link_libraries(lammps PRIVATE Kokkos::kokkos)
else() else()
set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos) set(LAMMPS_LIB_KOKKOS_SRC_DIR ${LAMMPS_LIB_SOURCE_DIR}/kokkos)

View File

@ -1,6 +1,6 @@
set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.01.3.fix.tar.gz" CACHE STRING "URL for PACE evaluator library sources") set(PACELIB_URL "https://github.com/ICAMS/lammps-user-pace/archive/refs/tags/v.2023.10.04.tar.gz" CACHE STRING "URL for PACE evaluator library sources")
set(PACELIB_MD5 "4f0b3b5b14456fe9a73b447de3765caa" CACHE STRING "MD5 checksum of PACE evaluator library tarball") set(PACELIB_MD5 "70ff79f4e59af175e55d24f3243ad1ff" CACHE STRING "MD5 checksum of PACE evaluator library tarball")
mark_as_advanced(PACELIB_URL) mark_as_advanced(PACELIB_URL)
mark_as_advanced(PACELIB_MD5) mark_as_advanced(PACELIB_MD5)
GetFallbackURL(PACELIB_URL PACELIB_FALLBACK) GetFallbackURL(PACELIB_URL PACELIB_FALLBACK)

View File

@ -1,6 +1,6 @@
if(NOT Python_INTERPRETER) if(NOT Python_INTERPRETER)
# backward compatibility # backward compatibility with CMake before 3.12 and older LAMMPS documentation
if(PYTHON_EXECUTABLE) if(PYTHON_EXECUTABLE)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE}) set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
endif() endif()

View File

@ -21,6 +21,13 @@ file(WRITE qtdeploy.bat "@ECHO OFF\r\nset VSCMD_DEBUG=0\r\nCALL ${VC_INIT} x64\r
execute_process(COMMAND cmd.exe /c qtdeploy.bat COMMAND_ECHO STDERR) execute_process(COMMAND cmd.exe /c qtdeploy.bat COMMAND_ECHO STDERR)
file(REMOVE qtdeploy.bat) file(REMOVE qtdeploy.bat)
# download and uncompress static FFMpeg and gzip binaries
file(DOWNLOAD "https://download.lammps.org/thirdparty/ffmpeg-gzip.zip" ffmpeg-gzip.zip)
file(WRITE unpackzip.ps1 "Expand-Archive -Path ffmpeg-gzip.zip -DestinationPath LAMMPS_GUI")
execute_process(COMMAND powershell -ExecutionPolicy Bypass -File unpackzip.ps1)
file(REMOVE unpackzip.ps1)
file(REMOVE ffmpeg-gzip.zip)
# create zip archive # create zip archive
file(WRITE makearchive.ps1 "Compress-Archive -Path LAMMPS_GUI -CompressionLevel Optimal -DestinationPath LAMMPS_GUI-Win10-amd64.zip") file(WRITE makearchive.ps1 "Compress-Archive -Path LAMMPS_GUI -CompressionLevel Optimal -DestinationPath LAMMPS_GUI-Win10-amd64.zip")
execute_process(COMMAND powershell -ExecutionPolicy Bypass -File makearchive.ps1) execute_process(COMMAND powershell -ExecutionPolicy Bypass -File makearchive.ps1)

View File

@ -6,6 +6,8 @@ set(Kokkos_ENABLE_SERIAL ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE) set(Kokkos_ENABLE_CUDA ON CACHE BOOL "" FORCE)
set(Kokkos_ARCH_PASCAL60 ON CACHE BOOL "" FORCE) set(Kokkos_ARCH_PASCAL60 ON CACHE BOOL "" FORCE)
set(BUILD_OMP ON CACHE BOOL "" FORCE) set(BUILD_OMP ON CACHE BOOL "" FORCE)
get_filename_component(NVCC_WRAPPER_CMD ${CMAKE_CURRENT_SOURCE_DIR}/../lib/kokkos/bin/nvcc_wrapper ABSOLUTE)
set(CMAKE_CXX_COMPILER ${NVCC_WRAPPER_CMD} CACHE FILEPATH "" FORCE)
# hide deprecation warnings temporarily for stable release # hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE) set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)

View File

@ -10,5 +10,3 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(BUILD_MPI FALSE CACHE BOOL "" FORCE) set(BUILD_MPI FALSE CACHE BOOL "" FORCE)
set(BUILD_SHARED_LIBS FALSE CACHE BOOL "" FORCE)
set(LAMMPS_EXCEPTIONS TRUE CACHE BOOL "" FORCE)

View File

@ -63,6 +63,7 @@ help:
@echo " anchor_check scan for duplicate anchor labels" @echo " anchor_check scan for duplicate anchor labels"
@echo " style_check check for complete and consistent style lists" @echo " style_check check for complete and consistent style lists"
@echo " package_check check for complete and consistent package lists" @echo " package_check check for complete and consistent package lists"
@echo " role_check check for misformatted role keywords"
@echo " spelling spell-check the manual" @echo " spelling spell-check the manual"
# ------------------------------------------ # ------------------------------------------
@ -98,6 +99,7 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\
$(PYTHON) $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\ $(PYTHON) $(BUILDDIR)/utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\ echo "############################################" ;\
deactivate ;\ deactivate ;\
@ -179,6 +181,7 @@ pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n '[^ -~]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\ env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst ;\
env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst ;\
$(PYTHON) utils/check-styles.py -s ../src -d src ;\ $(PYTHON) utils/check-styles.py -s ../src -d src ;\
echo "############################################" ;\ echo "############################################" ;\
deactivate ;\ deactivate ;\
@ -227,6 +230,7 @@ char_check :
role_check : role_check :
@( env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst && exit 1 || : ) @( env LC_ALL=C grep -n ' :[a-z]\+`' $(RSTDIR)/*.rst && exit 1 || : )
@( env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst && exit 1 || : ) @( env LC_ALL=C grep -n ' `[^`]\+<[a-z][^`]\+`[^_]' $(RSTDIR)/*.rst && exit 1 || : )
@( env LC_ALL=C grep -n ':\(ref\|doc\):[^`]' $(RSTDIR)/*.rst && exit 1 || : )
link_check : $(VENV) html link_check : $(VENV) html
@(\ @(\

View File

@ -1,7 +1,7 @@
.TH LAMMPS "1" "2 August 2023" "2023-08-2" .TH LAMMPS "1" "21 November 2023" "2023-11-21"
.SH NAME .SH NAME
.B LAMMPS .B LAMMPS
\- Molecular Dynamics Simulator. Version 2 August 2023 \- Molecular Dynamics Simulator. Version 21 November 2023
.SH SYNOPSIS .SH SYNOPSIS
.B lmp .B lmp

View File

@ -177,13 +177,13 @@ configuration is selected with the *-C* flag:
ctest -C Debug ctest -C Debug
The CMake scripts in LAMMPS have basic support for being compiled using a The CMake scripts in LAMMPS have basic support for being compiled using
multi-config build system, but not all of it has been ported. This is in a multi-config build system, but not all of it has been ported. This is
particular applicable to compiling packages that require additional libraries in particular applicable to compiling packages that require additional
that would be downloaded and compiled by CMake. The "windows" preset file libraries that would be downloaded and compiled by CMake. The
tries to keep track of which packages can be compiled natively with the ``windows.cmake`` preset file tries to keep track of which packages can
MSVC compilers out-of-the box. Not all of those external libraries are be compiled natively with the MSVC compilers out-of-the box. Not all of
portable to Windows, either. the external libraries are portable to Windows, either.
Installing CMake Installing CMake

View File

@ -626,22 +626,22 @@ They must be specified in uppercase.
* - HOPPER90 * - HOPPER90
- GPU - GPU
- NVIDIA Hopper generation CC 9.0 GPU - NVIDIA Hopper generation CC 9.0 GPU
* - VEGA900 * - AMD_GFX906
- GPU - GPU
- AMD GPU MI25 GFX900 - AMD GPU MI50/MI60
* - VEGA906 * - AMD_GFX908
- GPU - GPU
- AMD GPU MI50/MI60 GFX906 - AMD GPU MI100
* - VEGA908 * - AMD_GFX90A
- GPU - GPU
- AMD GPU MI100 GFX908 - AMD GPU MI200
* - VEGA90A * - AMD_GFX942
- GPU - GPU
- AMD GPU MI200 GFX90A - AMD GPU MI300
* - NAVI1030 * - AMD_GFX1030
- GPU - GPU
- AMD GPU V620/W6800 - AMD GPU V620/W6800
* - NAVI1100 * - AMD_GFX1100
- GPU - GPU
- AMD GPU RX7900XTX - AMD GPU RX7900XTX
* - INTEL_GEN * - INTEL_GEN
@ -666,7 +666,7 @@ They must be specified in uppercase.
- GPU - GPU
- Intel GPU Ponte Vecchio - Intel GPU Ponte Vecchio
This list was last updated for version 4.0.1 of the Kokkos library. This list was last updated for version 4.2 of the Kokkos library.
.. tabs:: .. tabs::
@ -722,9 +722,10 @@ This list was last updated for version 4.0.1 of the Kokkos library.
``cmake/presets`` folder, ``kokkos-serial.cmake``, ``cmake/presets`` folder, ``kokkos-serial.cmake``,
``kokkos-openmp.cmake``, ``kokkos-cuda.cmake``, ``kokkos-openmp.cmake``, ``kokkos-cuda.cmake``,
``kokkos-hip.cmake``, and ``kokkos-sycl.cmake``. They will enable ``kokkos-hip.cmake``, and ``kokkos-sycl.cmake``. They will enable
the KOKKOS package and enable some hardware choice. So to compile the KOKKOS package and enable some hardware choices. For GPU
with CUDA device parallelization (for GPUs with CC 5.0 and up) support those preset files must be customized to match the
with some common packages enabled, you can do the following: hardware used. So to compile with CUDA device parallelization with
some common packages enabled, you can do the following:
.. code-block:: bash .. code-block:: bash
@ -1055,12 +1056,12 @@ additional details.
.. code-block:: bash .. code-block:: bash
-D PYTHON_EXECUTABLE=path # path to Python executable to use -D Python_EXECUTABLE=path # path to Python executable to use
Without this setting, CMake will guess the default Python version Without this setting, CMake will guess the default Python version
on your system. To use a different Python version, you can either on your system. To use a different Python version, you can either
create a virtualenv, activate it and then run cmake. Or you can create a virtualenv, activate it and then run cmake. Or you can
set the PYTHON_EXECUTABLE variable to specify which Python set the Python_EXECUTABLE variable to specify which Python
interpreter should be used. Note note that you will also need to interpreter should be used. Note note that you will also need to
have the development headers installed for this version, have the development headers installed for this version,
e.g. python2-devel. e.g. python2-devel.

View File

@ -182,6 +182,7 @@ make a copy of one of them and modify it to suit your needs.
cmake -C ../cmake/presets/all_on.cmake [OPTIONS] ../cmake # enable all packages cmake -C ../cmake/presets/all_on.cmake [OPTIONS] ../cmake # enable all packages
cmake -C ../cmake/presets/all_off.cmake [OPTIONS] ../cmake # disable all packages cmake -C ../cmake/presets/all_off.cmake [OPTIONS] ../cmake # disable all packages
mingw64-cmake -C ../cmake/presets/mingw-cross.cmake [OPTIONS] ../cmake # compile with MinGW cross-compilers mingw64-cmake -C ../cmake/presets/mingw-cross.cmake [OPTIONS] ../cmake # compile with MinGW cross-compilers
cmake -C ../cmake/presets/macos-multiarch.cmake [OPTIONS] ../cmake # compile serial multi-arch binaries on macOS
Presets that have names starting with "windows" are specifically for Presets that have names starting with "windows" are specifically for
compiling LAMMPS :doc:`natively on Windows <Build_windows>` and compiling LAMMPS :doc:`natively on Windows <Build_windows>` and

View File

@ -69,7 +69,7 @@ OPT.
* :doc:`drude/transform/inverse <fix_drude_transform>` * :doc:`drude/transform/inverse <fix_drude_transform>`
* :doc:`dt/reset (k) <fix_dt_reset>` * :doc:`dt/reset (k) <fix_dt_reset>`
* :doc:`edpd/source <fix_dpd_source>` * :doc:`edpd/source <fix_dpd_source>`
* :doc:`efield <fix_efield>` * :doc:`efield (k) <fix_efield>`
* :doc:`efield/tip4p <fix_efield>` * :doc:`efield/tip4p <fix_efield>`
* :doc:`ehex <fix_ehex>` * :doc:`ehex <fix_ehex>`
* :doc:`electrode/conp (i) <fix_electrode>` * :doc:`electrode/conp (i) <fix_electrode>`
@ -181,6 +181,7 @@ OPT.
* :doc:`pour <fix_pour>` * :doc:`pour <fix_pour>`
* :doc:`precession/spin <fix_precession_spin>` * :doc:`precession/spin <fix_precession_spin>`
* :doc:`press/berendsen <fix_press_berendsen>` * :doc:`press/berendsen <fix_press_berendsen>`
* :doc:`press/langevin <fix_press_langevin>`
* :doc:`print <fix_print>` * :doc:`print <fix_print>`
* :doc:`propel/self <fix_propel_self>` * :doc:`propel/self <fix_propel_self>`
* :doc:`property/atom (k) <fix_property_atom>` * :doc:`property/atom (k) <fix_property_atom>`
@ -232,7 +233,7 @@ OPT.
* :doc:`spring <fix_spring>` * :doc:`spring <fix_spring>`
* :doc:`spring/chunk <fix_spring_chunk>` * :doc:`spring/chunk <fix_spring_chunk>`
* :doc:`spring/rg <fix_spring_rg>` * :doc:`spring/rg <fix_spring_rg>`
* :doc:`spring/self <fix_spring_self>` * :doc:`spring/self (k) <fix_spring_self>`
* :doc:`srd <fix_srd>` * :doc:`srd <fix_srd>`
* :doc:`store/force <fix_store_force>` * :doc:`store/force <fix_store_force>`
* :doc:`store/state <fix_store_state>` * :doc:`store/state <fix_store_state>`

View File

@ -220,7 +220,8 @@ OPT.
* :doc:`morse/soft <pair_fep_soft>` * :doc:`morse/soft <pair_fep_soft>`
* :doc:`multi/lucy <pair_multi_lucy>` * :doc:`multi/lucy <pair_multi_lucy>`
* :doc:`multi/lucy/rx (k) <pair_multi_lucy_rx>` * :doc:`multi/lucy/rx (k) <pair_multi_lucy_rx>`
* :doc:`nb3b/harmonic <pair_nb3b_harmonic>` * :doc:`nb3b/harmonic <pair_nb3b>`
* :doc:`nb3b/screened <pair_nb3b>`
* :doc:`nm/cut (o) <pair_nm>` * :doc:`nm/cut (o) <pair_nm>`
* :doc:`nm/cut/coul/cut (o) <pair_nm>` * :doc:`nm/cut/coul/cut (o) <pair_nm>`
* :doc:`nm/cut/coul/long (o) <pair_nm>` * :doc:`nm/cut/coul/long (o) <pair_nm>`
@ -265,7 +266,7 @@ OPT.
* :doc:`smd/tri_surface <pair_smd_triangulated_surface>` * :doc:`smd/tri_surface <pair_smd_triangulated_surface>`
* :doc:`smd/ulsph <pair_smd_ulsph>` * :doc:`smd/ulsph <pair_smd_ulsph>`
* :doc:`smtbq <pair_smtbq>` * :doc:`smtbq <pair_smtbq>`
* :doc:`snap (k) <pair_snap>` * :doc:`snap (ik) <pair_snap>`
* :doc:`soft (go) <pair_soft>` * :doc:`soft (go) <pair_soft>`
* :doc:`sph/heatconduction <pair_sph_heatconduction>` * :doc:`sph/heatconduction <pair_sph_heatconduction>`
* :doc:`sph/idealgas <pair_sph_idealgas>` * :doc:`sph/idealgas <pair_sph_idealgas>`
@ -305,5 +306,5 @@ OPT.
* :doc:`wf/cut <pair_wf_cut>` * :doc:`wf/cut <pair_wf_cut>`
* :doc:`ylz <pair_ylz>` * :doc:`ylz <pair_ylz>`
* :doc:`yukawa (gko) <pair_yukawa>` * :doc:`yukawa (gko) <pair_yukawa>`
* :doc:`yukawa/colloid (go) <pair_yukawa_colloid>` * :doc:`yukawa/colloid (gko) <pair_yukawa_colloid>`
* :doc:`zbl (gko) <pair_zbl>` * :doc:`zbl (gko) <pair_zbl>`

View File

@ -88,7 +88,7 @@ The same functionality is available through
MPIIO package MPIIO package
------------- -------------
.. deprecated:: TBD .. deprecated:: 21Nov2023
The MPIIO package has been removed from LAMMPS since it was unmaintained The MPIIO package has been removed from LAMMPS since it was unmaintained
for many years and thus not updated to incorporate required changes that for many years and thus not updated to incorporate required changes that
@ -107,7 +107,7 @@ see :doc:`restart <restart>`, :doc:`read_restart <read_restart>`,
MSCG package MSCG package
------------ ------------
.. deprecated:: TBD .. deprecated:: 21Nov2023
The MSCG package has been removed from LAMMPS since it was unmaintained The MSCG package has been removed from LAMMPS since it was unmaintained
for many years and instead superseded by the `OpenMSCG software for many years and instead superseded by the `OpenMSCG software

View File

@ -180,19 +180,11 @@ discarded but by setting the verbose flag (via setting the ``TEST_ARGS``
environment variable, ``TEST_ARGS=-v``) it can be printed and used to environment variable, ``TEST_ARGS=-v``) it can be printed and used to
understand why tests fail unexpectedly. understand why tests fail unexpectedly.
Another complexity of these tests stems from the need to capture The specifics of so-called "death tests", i.e. conditions where LAMMPS
situations where LAMMPS will stop with an error, i.e. handle so-called should fail and throw an exception, are implemented in the
"death tests". Here the LAMMPS code will operate differently depending ``TEST_FAILURE()`` macro. These tests operate by capturing the screen
on whether it was configured to throw C++ exceptions on errors or call output when executing the failing command and then comparing that with a
either ``exit()`` or ``MPI_Abort()``. In the latter case, the test code provided regular expression string pattern. Example:
also needs to detect whether LAMMPS was compiled with the OpenMPI
library, as OpenMPI is **only** compatible the death test options of the
GoogleTest library when C++ exceptions are enabled; otherwise those
"death tests" must be skipped to avoid reporting bogus failures. The
specifics of this step are implemented in the ``TEST_FAILURE()``
macro. These tests operate by capturing the screen output when executing
the failing command and then comparing that with a provided regular
expression string pattern. Example:
.. code-block:: c++ .. code-block:: c++

View File

@ -3038,14 +3038,6 @@ Procedures Bound to the :f:type:`lammps` Derived Type
This function can be used to query if an error inside of LAMMPS This function can be used to query if an error inside of LAMMPS
has thrown a :ref:`C++ exception <exceptions>`. has thrown a :ref:`C++ exception <exceptions>`.
.. note::
This function will always report "no error" when the LAMMPS library
has been compiled without ``-DLAMMPS_EXCEPTIONS``, which turns fatal
errors aborting LAMMPS into C++ exceptions. You can use the library
function :cpp:func:`lammps_config_has_exceptions` to check if this is
the case.
:to: :cpp:func:`lammps_has_error` :to: :cpp:func:`lammps_has_error`
:r has_error: ``.TRUE.`` if there is an error. :r has_error: ``.TRUE.`` if there is an error.
:rtype has_error: logical :rtype has_error: logical
@ -3068,13 +3060,6 @@ Procedures Bound to the :f:type:`lammps` Derived Type
would happen only in a single MPI rank and thus may not be recoverable, as would happen only in a single MPI rank and thus may not be recoverable, as
other MPI ranks may be waiting on the failing MPI rank(s) to send messages. other MPI ranks may be waiting on the failing MPI rank(s) to send messages.
.. note::
This function will do nothing when the LAMMPS library has been
compiled without ``-DLAMMPS_EXCEPTIONS``, which turns errors aborting
LAMMPS into C++ exceptions. You can use the function
:f:func:`config_has_exceptions` to check whether this is the case.
:p character(len=\*) buffer: string buffer to copy the error message into :p character(len=\*) buffer: string buffer to copy the error message into
:o integer(c_int) status [optional]: 1 when all ranks had the error, :o integer(c_int) status [optional]: 1 when all ranks had the error,
2 on a single-rank error. 2 on a single-rank error.

View File

@ -170,9 +170,9 @@ with this body style to compute body/body and body/non-body interactions.
The *rounded/polygon* body style represents body particles as a 2d The *rounded/polygon* body style represents body particles as a 2d
polygon with a variable number of N vertices. This style can only be polygon with a variable number of N vertices. This style can only be
used for 2d models; see the :doc:`boundary <boundary>` command. See the used for 2d models; see the :doc:`boundary <boundary>` command. See the
"pair_style body/rounded/polygon" page for a diagram of two :doc:`pair_style body/rounded/polygon <pair_body_rounded_polygon>` page for
squares with rounded circles at the vertices. Special cases for N = 1 a diagram of two squares with rounded circles at the vertices. Special cases
(circle) and N = 2 (rod with rounded ends) can also be specified. for N = 1 (circle) and N = 2 (rod with rounded ends) can also be specified.
One use of this body style is for 2d discrete element models, as One use of this body style is for 2d discrete element models, as
described in :ref:`Fraige <body-Fraige>`. described in :ref:`Fraige <body-Fraige>`.

View File

@ -5,48 +5,61 @@ This document describes **LAMMPS GUI version 1.5**.
----- -----
LAMMPS GUI is a simple graphical text editor that is linked to the LAMMPS GUI is a graphical text editor customized for editing LAMMPS
:ref:`LAMMPS library <lammps_c_api>` and thus can run LAMMPS directly input files that is linked to the :ref:`LAMMPS library <lammps_c_api>`
using the contents of the editor's text buffer as input. It can and thus can run LAMMPS directly using the contents of the editor's text
retrieve and display information from LAMMPS while it is running and is buffer as input. It can retrieve and display information from LAMMPS
adapted in multiple ways specifically for editing LAMMPS input files. while it is running, display visualizations created with the :doc:`dump
image command <dump_image>`, and is adapted specifically for editing
LAMMPS input files through text completion and reformatting, and linking
to the online LAMMPS documentation for known LAMMPS commands and styles.
.. note:: .. note::
Pre-compiled, ready-to-use LAMMPS GUI executables for Linux (Ubuntu Pre-compiled, ready-to-use LAMMPS GUI executables for Linux (Ubuntu
20.04LTS or later and compatible), macOS (version 11 aka Big Sur or 20.04LTS or later and compatible), macOS (version 11 aka Big Sur or
later), and Windows (version 10 or later) :ref:`are available later), and Windows (version 10 or later) :ref:`are available
<lammps-gui-install>` for download. The executables are linked to <lammps_gui_install>` for download. They may be linked to a
a current version of LAMMPS as well. The source code for the development version of LAMMPS in case they need features not yet
LAMMPS GUI is included in the ``tools/lammps-gui`` folder of the available in a released version. Serial LAMMPS executables of the
LAMMPS distribution and it can be compiled alongside LAMMPS with same LAMMPS version are included as well. The source code for the
CMake. LAMMPS GUI is included in the LAMMPS source code and can be found in
the ``tools/lammps-gui`` folder. It can be compiled alongside LAMMPS
when :doc:`compiling with CMake <Build_cmake>`.
LAMMPS GUI tries to be similar to what people traditionally would do LAMMPS GUI tries to provide an experience similar to what people
to run LAMMPS using a command line window: editing inputs with a text traditionally would do to run LAMMPS using a command line window:
editor, run LAMMPS on the input with selected command line flags, and
then extract data from the created files and view them. That
procedure is quite effective and often required when running LAMMPS on
high-performance computing facilities, or for people proficient in
using the command line, as that allows them to use tools for the
individual steps which they are most comfortable with.
The main benefit of a GUI application is that many basic tasks can be - editing inputs with a text editor
done directly from the GUI without switching to a text console or - run LAMMPS on the input with selected command line flags
requiring external programs, let alone scripts to extract data from - and then use or extract data from the created files and visualize it
the generated output. It also integrates well with graphical desktop
environments. That procedure is quite effective for people proficient in using the
command line, as that allows them to use tools for the individual steps
which they are most comfortable with. It is often required when running
LAMMPS on high-performance computing facilities.
The main benefit of using the LAMMPS GUI application instead is that
many basic tasks can be done directly from the GUI without switching to
a text console window or using external programs, let alone writing
scripts to extract data from the generated output. It also integrates
well with graphical desktop environments.
LAMMPS GUI thus makes it easier for beginners to get started running LAMMPS GUI thus makes it easier for beginners to get started running
simple LAMMPS simulations. It is very suitable for tutorials on simple LAMMPS simulations. It is very suitable for tutorials on LAMMPS
LAMMPS since you only need to learn how to use a single program. It since you only need to learn how to use a single program for most tasks
is also designed to keep the barrier low when you decide to switch to and thus time can be saved and people can focus on learning LAMMPS. It
a full featured, standalone programming editor and more sophisticated is also designed to keep the barrier low when you decide to switch to a
full featured, standalone programming editor and more sophisticated
visualization and analysis tools and run LAMMPS from a command line. visualization and analysis tools and run LAMMPS from a command line.
The following text provides a detailed tour of the features and The following text provides a detailed tour of the features and
functionality of the LAMMPS GUI. functionality of the LAMMPS GUI.
Suggestions for new features and reports of bugs are always welcome.
You can use the :doc:`the same channels as for LAMMPS itself
<Errors_bugs>` for that purpose.
----- -----
Main window Main window
@ -86,9 +99,9 @@ save them.
Running LAMMPS Running LAMMPS
^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
From within the LAMMPS GUI main window LAMMPS can be started either From within the LAMMPS GUI main window LAMMPS can be started either from
from the ``Run`` menu using the ``Run LAMMPS from Editor Buffer`` the ``Run`` menu using the ``Run LAMMPS from Editor Buffer`` entry, by
entry, by the hotkey `Ctrl-Enter` (`Command-Enter` on macOS), or by the keyboard shortcut `Ctrl-Enter` (`Command-Enter` on macOS), or by
clicking on the green "Run" button in the status bar. All of these clicking on the green "Run" button in the status bar. All of these
operations will cause LAMMPS to process the entire input script, which operations will cause LAMMPS to process the entire input script, which
may contain multiple :doc:`run <run>` or :doc:`minimize <minimize>` may contain multiple :doc:`run <run>` or :doc:`minimize <minimize>`
@ -147,10 +160,10 @@ More information on those windows and how to adjust their behavior and
contents is given below. contents is given below.
An active LAMMPS run can be stopped cleanly by using either the ``Stop An active LAMMPS run can be stopped cleanly by using either the ``Stop
LAMMPS`` entry in the ``Run`` menu, the hotkey `Ctrl-/` (`Command-/` LAMMPS`` entry in the ``Run`` menu, the keyboard shortcut `Ctrl-/`
on macOS), or by clicking on the red button in the status bar. This (`Command-/` on macOS), or by clicking on the red button in the status
will cause the running LAMMPS process to complete the current timestep bar. This will cause the running LAMMPS process to complete the current
(or iteration for energy minimization) and then complete the timestep (or iteration for energy minimization) and then complete the
processing of the buffer while skipping all run or minimize commands. processing of the buffer while skipping all run or minimize commands.
This is equivalent to the input script command :doc:`timer timeout 0 This is equivalent to the input script command :doc:`timer timeout 0
<timer>` and is implemented by calling the <timer>` and is implemented by calling the
@ -172,17 +185,20 @@ be seen in the command line window, as shown below.
LAMMPS GUI captures the screen output as it is generated and updates LAMMPS GUI captures the screen output as it is generated and updates
the log window regularly during a run. the log window regularly during a run.
By default, there will be a new window for each run, so that it is By default, the log window will be replaced each time a run is started.
possible to visually compare outputs from different runs. It is also The runs are counted and the run number for the current run is displayed
possible to change the behavior of LAMMPS GUI in the preferences dialog in the window title. It is possible to change the behavior of LAMMPS
to *replace* an existing log window for a new run or to not show the log GUI in the preferences dialog to create a *new* log window for every run
window by default. It is also possible to show or hide the current log or to not show the current log window. It is also possible to show or
window from the ``View`` menu. hide the *current* log window from the ``View`` menu.
The text in the log window is read-only and cannot be modified, but The text in the log window is read-only and cannot be modified, but
editor commands to select and copy all or parts of the text can be used. keyboard shortcuts to select and copy all or parts of the text can be
The "Select All" and "Copy" functions are also available via a context used to transfer text to another program. Also, the keyboard shortcut
menu by clicking with the right mouse button. `Ctrl-S` (`Command-S` on macOS) is available to save the log buffer to a
file. The "Select All" and "Copy" functions, as well as a "Save Log to
File" option are also available from a context menu by clicking with the
right mouse button into the log window text area.
Chart Window Chart Window
------------ ------------
@ -199,10 +215,16 @@ The drop down menu on the top right allows selection of different
properties that are computed and written to thermo output. Only one properties that are computed and written to thermo output. Only one
property can be shown at a time. The plots will be updated with new property can be shown at a time. The plots will be updated with new
data as the run progresses, so they can be used to visually monitor the data as the run progresses, so they can be used to visually monitor the
evolution of available properties. From the ``File`` menu on the top evolution of available properties. The window title will show the
left, it is possible to save an image of the currently displayed plot or current run number that this chart window corresponds to. Same as
export the data in either plain text columns (for use by plotting tools explained for the log window above, by default, the chart window will
like `gnuplot <http://www.gnuplot.info/>`_ or `grace be replaced on each new run, but the behavior can be changed in the
preferences dialog.
From the ``File`` menu on the top left, it is possible to save an image
of the currently displayed plot or export the data in either plain text
columns (for use by plotting tools like `gnuplot
<http://www.gnuplot.info/>`_ or `grace
<https://plasma-gate.weizmann.ac.il/Grace/>`_), or as CSV data which can <https://plasma-gate.weizmann.ac.il/Grace/>`_), or as CSV data which can
be imported for further processing with Microsoft Excel or `pandas be imported for further processing with Microsoft Excel or `pandas
<https://pandas.pydata.org/>`_ <https://pandas.pydata.org/>`_
@ -225,19 +247,20 @@ displays the images created by LAMMPS as they are written.
:align: center :align: center
:scale: 50% :scale: 50%
The various buttons at the bottom right of the window allow either The various buttons at the bottom right of the window allow single
single stepping through the sequence of images or playing an animation stepping through the sequence of images or playing an animation (as a
(as a continuous loop or once from first to last). It is also possible continuous loop or once from first to last). It is also possible to
to zoom in or zoom out of the displayed images. The slide show window zoom in or zoom out of the displayed images, and to export the slide
will be closed when a new file is loaded. show animation to a movie file, if `ffmpeg <https://ffmpeg.org/>`_ is
installed.
Variable Info Variable Info
------------- -------------
During a run, it may be of interest to monitor the value of input During a run, it may be of interest to monitor the value of input script
script variables, for example to monitor the progress of loops. This variables, for example to monitor the progress of loops. This can be
can be done by enabling the "Variables Window" in the ``View`` menu or done by enabling the "Variables Window" in the ``View`` menu or by using
by using the `Ctrl-Shift-W` hotkey. This will show info similar to the `Ctrl-Shift-W` keyboard shortcut. This will show info similar to
the :doc:`info variables <info>` command in a separate window as shown the :doc:`info variables <info>` command in a separate window as shown
below. below.
@ -250,16 +273,27 @@ during a run. It will show "(none)" if there are no variables
defined. Note that it is also possible to *set* :doc:`index style defined. Note that it is also possible to *set* :doc:`index style
variables <variable>`, that would normally be set via command line variables <variable>`, that would normally be set via command line
flags, via the "Set Variables..." dialog from the ``Run`` menu. flags, via the "Set Variables..." dialog from the ``Run`` menu.
LAMMPS GUI will automatically set the variable "gui_run" to the
current value of the run counter. That way it would be possible
to automatically record a log for each run attempt by using the
command
.. code-block:: LAMMPS
log logfile-${gui_run}.txt
at the beginning of an input file. That would record logs to files
``logfile-1.txt``, ``logfile-2.txt``, and so on for successive runs.
Viewing Snapshot Images Viewing Snapshot Images
----------------------- -----------------------
By selecting the ``Create Image`` entry in the ``Run`` menu, or by By selecting the ``Create Image`` entry in the ``Run`` menu, or by
hitting the `Ctrl-I` (`Command-I` on macOS) hotkey, or by clicking on hitting the `Ctrl-I` (`Command-I` on macOS) keyboard shortcut, or by
the "palette" button in the status bar, LAMMPS GUI will send a custom clicking on the "palette" button in the status bar, LAMMPS GUI will send
:doc:`write_dump image <dump_image>` command to LAMMPS and read the a custom :doc:`write_dump image <dump_image>` command to LAMMPS and read
resulting snapshot image with the current state of the system into an the resulting snapshot image with the current state of the system into
image viewer window. This functionality is not available *during* an an image viewer window. This functionality is not available *during* an
ongoing run. When LAMMPS is not yet initialized, LAMMPS GUI will try to ongoing run. When LAMMPS is not yet initialized, LAMMPS GUI will try to
identify the line with the first run or minimize command and execute all identify the line with the first run or minimize command and execute all
command up to that line from the input buffer and then add a "run 0" command up to that line from the input buffer and then add a "run 0"
@ -306,34 +340,41 @@ contents to a file.
Context Specific Word Completion Context Specific Word Completion
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
By default, LAMMPS GUI will display a small popup frame with possible By default, LAMMPS GUI will display a small pop-up frame with possible
completions for LAMMPS input script commands or styles after 2 choices for LAMMPS input script commands or styles after 2 characters of
characters of a word have been typed. The word can then be completed a word have been typed.
through selecting an entry by scrolling down with the cursor keys and
selecting with the 'Enter' key or by clicking on the entry with the .. image:: JPG/lammps-gui-complete.png
mouse. The automatic completion popup can be disabled in the :align: center
``Preferences`` dialog, but the completion can still be requested :scale: 75%
manually by either hitting the 'Shift-TAB' key or by right-clicking with
the mouse and selecting the option from the context menu. Most of the The word can then be completed through selecting an entry by scrolling
completion information is taken from the LAMMPS instance and thus it up and down with the cursor keys and selecting with the 'Enter' key or
will be adjusted to only show options available that have been enabled by clicking on the entry with the mouse. The automatic completion
while compiling LAMMPS, however that excludes accelerated styles and pop-up can be disabled in the ``Preferences`` dialog, but the completion
commands, only non-suffix versions are shown. can still be requested manually by either hitting the 'Shift-TAB' key or
by right-clicking with the mouse and selecting the option from the
context menu. Most of the completion information is taken from the
LAMMPS instance and thus it will be adjusted to only show available
options that have been enabled while compiling LAMMPS. That, however,
excludes accelerated styles and commands; for improved clarity, only the
non-suffix version of styles are shown.
Line Reformatting Line Reformatting
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
The editor supports reformatting lines according to the syntax in The editor supports reformatting lines according to the syntax in order
order to have consistently aligned lines. This primarily means adding to have consistently aligned lines. This primarily means adding
space padding to commands, type specifiers, IDs and names. This whitespace padding to commands, type specifiers, IDs and names. This
reformatting is performed by default when hitting the 'Enter' key to reformatting is performed by default when hitting the 'Enter' key to
start a new line. This feature can be turned off in the start a new line. This feature can be turned on or off in the
``Preferences`` dialog, but it can still be manually performed by ``Preferences`` dialog, but it can still be manually performed by
hitting the 'TAB' key. hitting the 'TAB' key. The amount of padding can also be changed in the
``Preferences`` dialog.
Internally this functionality is achieved by splitting the line into Internally this functionality is achieved by splitting the line into
"words" and then putting it back together with padding added where the "words" and then putting it back together with padding added where the
context can be detected; otherwise a single space is used. context can be detected; otherwise a single space is used between words.
Context Specific Help Context Specific Help
^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^
@ -343,23 +384,23 @@ Context Specific Help
:scale: 50% :scale: 50%
A unique feature of the LAMMPS GUI is the option to look up the A unique feature of the LAMMPS GUI is the option to look up the
documentation for the command in the current line. This can be done documentation for the command in the current line. This can be done by
by either clicking the right mouse button or by using the `Ctrl-?` either clicking the right mouse button or by using the `Ctrl-?` keyboard
hotkey. When clicking the mouse there are additional entries in the shortcut. When clicking the mouse there are additional entries in the
context menu that will open the corresponding documentation page in context menu that will open the corresponding documentation page in the
the online LAMMPS documentation. When using the hotkey, the first of online LAMMPS documentation. When using the keyboard, the first of
those entries will be chosen directly. those entries will be chosen directly.
Menu Menu
---- ----
The menu bar has entries ``File``, ``Edit``, ``Run``, ``View``, and The menu bar has entries ``File``, ``Edit``, ``Run``, ``View``, and
``About``. Instead of using the mouse to click on them, the ``About``. Instead of using the mouse to click on them, the individual
individual menus can also be activated by hitting the `Alt` key menus can also be activated by hitting the `Alt` key together with the
together with the corresponding underlined letter, that is `Alt-F` corresponding underlined letter, that is `Alt-F` will activate the
will activate the ``File`` menu. For the corresponding activated ``File`` menu. For the corresponding activated sub-menus, the key
sub-menus, the underlined letter together with the `Alt` key can again corresponding the underlined letters can again be used to select entries
be used to select entries instead of using the mouse. instead of using the mouse.
File File
^^^^ ^^^^
@ -385,8 +426,8 @@ Edit
The ``Edit`` menu offers the usual editor functions like ``Undo``, The ``Edit`` menu offers the usual editor functions like ``Undo``,
``Redo``, ``Cut``, ``Copy``, ``Paste``. It can also open a ``Redo``, ``Cut``, ``Copy``, ``Paste``. It can also open a
``Preferences`` dialog (hotkey `Ctrl-P`) and allows deletion of all ``Preferences`` dialog (keyboard shortcut `Ctrl-P`) and allows deletion
stored preferences so they will be reset to default values. of all stored preferences so they will be reset to default values.
Run Run
^^^ ^^^
@ -516,7 +557,7 @@ General Settings:
- *Replace image window on new render:* when checked, an existing - *Replace image window on new render:* when checked, an existing
chart window will be replaced when a new snapshot image is requested, chart window will be replaced when a new snapshot image is requested,
otherwise each command will create a new image window. otherwise each command will create a new image window.
- *Path to LAMMPS Shared Library File:* this options is only available - *Path to LAMMPS Shared Library File:* this option is only visible
when LAMMPS GUI was compiled to load the LAMMPS library at run time when LAMMPS GUI was compiled to load the LAMMPS library at run time
instead of being linked to it directly. With the ``Browse..`` button instead of being linked to it directly. With the ``Browse..`` button
or by changing the text, a different shared library file with a or by changing the text, a different shared library file with a
@ -574,26 +615,26 @@ the range between 1 and 32.
The two settings which follow enable or disable the automatic The two settings which follow enable or disable the automatic
reformatting when hitting the 'Enter' key and the automatic display of reformatting when hitting the 'Enter' key and the automatic display of
the completion popup window. the completion pop-up window.
----------- -----------
Hotkeys Keyboard Shortcuts
------- ------------------
Almost all functionality is accessible from the menu or via hotkeys. Almost all functionality is accessible from the menu of the editor
The following hotkeys are available (On macOS use the Command key window or through keyboard shortcuts. The following shortcuts are
instead of Ctrl/Control). available (On macOS use the Command key instead of Ctrl/Control).
.. list-table:: .. list-table::
:header-rows: 1 :header-rows: 1
:widths: auto :widths: auto
* - Hotkey * - Shortcut
- Function - Function
- Hotkey - Shortcut
- Function - Function
- Hotkey - Shortcut
- Function - Function
* - Ctrl+N * - Ctrl+N
- New File - New File
@ -620,7 +661,7 @@ instead of Ctrl/Control).
- Ctrl+I - Ctrl+I
- Snapshot Image - Snapshot Image
* - Ctrl+Q * - Ctrl+Q
- Quit - Quit Application
- Ctrl+V - Ctrl+V
- Paste text - Paste text
- Ctrl+L - Ctrl+L
@ -653,3 +694,7 @@ instead of Ctrl/Control).
Further editing keybindings `are documented with the Qt documentation Further editing keybindings `are documented with the Qt documentation
<https://doc.qt.io/qt-5/qplaintextedit.html#editing-key-bindings>`_. In <https://doc.qt.io/qt-5/qplaintextedit.html#editing-key-bindings>`_. In
case of conflicts the list above takes precedence. case of conflicts the list above takes precedence.
All other windows only support a subset of keyboard shortcuts listed
above. Typically, the shortcuts `Ctrl-/` (Stop Run), `Ctrl-W` (Close
Window), and `Ctrl-Q` (Quit Application) are supported.

View File

@ -1,7 +1,7 @@
Output from LAMMPS (thermo, dumps, computes, fixes, variables) Output from LAMMPS (thermo, dumps, computes, fixes, variables)
============================================================== ==============================================================
There are four basic kinds of LAMMPS output: There are four basic forms of LAMMPS output:
* :doc:`Thermodynamic output <thermo_style>`, which is a list of * :doc:`Thermodynamic output <thermo_style>`, which is a list of
quantities printed every few timesteps to the screen and logfile. quantities printed every few timesteps to the screen and logfile.
@ -20,18 +20,17 @@ output files, depending on what :doc:`dump <dump>` and :doc:`fix <fix>`
commands you specify. commands you specify.
As discussed below, LAMMPS gives you a variety of ways to determine As discussed below, LAMMPS gives you a variety of ways to determine
what quantities are computed and printed when the thermodynamics, what quantities are calculated and printed when the thermodynamics,
dump, or fix commands listed above perform output. Throughout this dump, or fix commands listed above perform output. Throughout this
discussion, note that users can also :doc:`add their own computes and discussion, note that users can also :doc:`add their own computes and
fixes to LAMMPS <Modify>` which can then generate values that can then fixes to LAMMPS <Modify>` which can generate values that can then be
be output with these commands. output with these commands.
The following subsections discuss different LAMMPS commands related The following subsections discuss different LAMMPS commands related
to output and the kind of data they operate on and produce: to output and the kind of data they operate on and produce:
* :ref:`Global/per-atom/local/per-grid data <global>` * :ref:`Global/per-atom/local/per-grid data <global>`
* :ref:`Scalar/vector/array data <scalar>` * :ref:`Scalar/vector/array data <scalar>`
* :ref:`Per-grid data <grid>`
* :ref:`Disambiguation <disambiguation>` * :ref:`Disambiguation <disambiguation>`
* :ref:`Thermodynamic output <thermo>` * :ref:`Thermodynamic output <thermo>`
* :ref:`Dump file output <dump>` * :ref:`Dump file output <dump>`
@ -48,34 +47,65 @@ to output and the kind of data they operate on and produce:
Global/per-atom/local/per-grid data Global/per-atom/local/per-grid data
----------------------------------- -----------------------------------
Various output-related commands work with four different styles of Various output-related commands work with four different "styles" of
data: global, per-atom, local, and per-grid. A global datum is one or data: global, per-atom, local, and per-grid. A global datum is one or
more system-wide values, e.g. the temperature of the system. A more system-wide values, e.g. the temperature of the system. A
per-atom datum is one or more values per atom, e.g. the kinetic energy per-atom datum is one or more values per atom, e.g. the kinetic energy
of each atom. Local datums are calculated by each processor based on of each atom. Local datums are calculated by each processor based on
the atoms it owns, but there may be zero or more per atom, e.g. a list the atoms it owns, and there may be zero or more per atom, e.g. a list
of bond distances. of bond distances.
A per-grid datum is one or more values per grid cell, for a grid which A per-grid datum is one or more values per grid cell, for a grid which
overlays the simulation domain. The grid cells and the data they overlays the simulation domain. Similar to atoms and per-atom data,
store are distributed across processors; each processor owns the grid the grid cells and the data they store are distributed across
cells whose center point falls within its subdomain. processors; each processor owns the grid cells whose center points
fall within its subdomain.
.. _scalar: .. _scalar:
Scalar/vector/array data Scalar/vector/array data
------------------------ ------------------------
Global, per-atom, and local datums can come in three kinds: a single Global, per-atom, local, and per-grid datums can come in three
scalar value, a vector of values, or a 2d array of values. The doc "kinds": a single scalar value, a vector of values, or a 2d array of
page for a "compute" or "fix" or "variable" that generates data will values. More specifically these are the valid kinds for each style:
specify both the style and kind of data it produces, e.g. a per-atom
vector.
When a quantity is accessed, as in many of the output commands * global scalar
discussed below, it can be referenced via the following bracket * global vector
notation, where ID in this case is the ID of a compute. The leading * global array
"c\_" would be replaced by "f\_" for a fix, or "v\_" for a variable: * per-atom vector
* per-atom array
* local vector
* local array
* per-grid vector
* per-grid array
A per-atom vector means a single value per atom; the "vector" is the
length of the number of atoms. A per-atom array means multiple values
per atom. Similarly a local vector or array means one or multiple
values per entity (e.g. per bond in the system). And a per-grid
vector or array means one or multiple values per grid cell.
The doc page for a compute or fix or variable that generates data will
specify both the styles and kinds of data it produces, e.g. a per-atom
vector. Note that a compute or fix may generate multiple styles and
kinds of output. However, for per-atom data only a vector or array is
output, never both. Likewise for per-local and per-grid data. An
example of a fix which generates multiple styles and kinds of data is
the :doc:`fix mdi/qm <fix_mdi_qm>` command. It outputs a global
scalar, global vector, and per-atom array for the quantum mechanical
energy and virial of the system and forces on each atom.
By contrast, different variable styles generate only a single kind of
data: a global scalar for an equal-style variable, global vector for a
vector-style variable, and a per-atom vector for an atom-style
variable.
When data is accessed by another command, as in many of the output
commands discussed below, it can be referenced via the following
bracket notation, where ID in this case is the ID of a compute. The
leading "c\_" would be replaced by "f\_" for a fix, or "v\_" for a
variable (and ID would be the name of the variable):
+-------------+--------------------------------------------+ +-------------+--------------------------------------------+
| c_ID | entire scalar, vector, or array | | c_ID | entire scalar, vector, or array |
@ -85,40 +115,56 @@ notation, where ID in this case is the ID of a compute. The leading
| c_ID[I][J] | one element of array | | c_ID[I][J] | one element of array |
+-------------+--------------------------------------------+ +-------------+--------------------------------------------+
In other words, using one bracket reduces the dimension of the data Note that using one bracket reduces the dimension of the data once
once (vector -> scalar, array -> vector). Using two brackets reduces (vector -> scalar, array -> vector). Using two brackets reduces the
the dimension twice (array -> scalar). Thus a command that uses dimension twice (array -> scalar). Thus a command that uses scalar
scalar values as input can typically also process elements of a vector values as input can also conceptually operate on an element of a
or array. vector or array.
.. _grid: Per-grid vectors or arrays are accessed similarly, except that the ID
for the compute or fix includes a grid name and a data name. This is
Per-grid data because a fix or compute can create multiple grids (of different
------------------------ sizes) and multiple sets of data (for each grid). The fix or compute
defines names for each grid and for each data set, so that all of them
Per-grid data can come in two kinds: a vector of values (one per grid can be accessed by other commands. See the :doc:`Howto grid
cekk), or a 2d array of values (multiple values per grid ckk). The <Howto_grid>` doc page for more details.
doc page for a "compute" or "fix" that generates data will specify
names for both the grid(s) and datum(s) it produces, e.g. per-grid
vectors or arrays, which can be referenced by other commands. See the
:doc:`Howto grid <Howto_grid>` doc page for more details.
.. _disambiguation: .. _disambiguation:
Disambiguation Disambiguation
-------------- --------------
Some computes and fixes produce data in multiple styles, e.g. a global When a compute or fix produces data in multiple styles, e.g. global
scalar and a per-atom vector. Usually the context in which the input and per-atom, a reference to the data can sometimes be ambiguous.
script references the data determines which style is meant. Example: Usually the context in which the input script references the data
if a compute provides both a global scalar and a per-atom vector, the determines which style is meant.
former will be accessed by using ``c_ID`` in an equal-style variable,
while the latter will be accessed by using ``c_ID`` in an atom-style For example, if a compute outputs a global vector and a per-atom
variable. Note that atom-style variable formulas can also access array, an element of the global vector will be accessed by using
global scalars, but in this case it is not possible to do this ``c_ID[I]`` in :doc:`thermodynamic output <thermo_style>`, while a
directly because of the ambiguity. Instead, an equal-style variable column of the per-atom array will be accessed by using ``c_ID[I]`` in
can be defined which accesses the global scalar, and that variable can a :doc:`dump custom <dump>` command.
be used in the atom-style variable formula in place of ``c_ID``.
However, if a :doc:`atom-style variable <variable>` references
``c_ID[I]``, then it could be intended to refer to a single element of
the global vector or a column of the per-atom array. The doc page for
any command that has a potential ambiguity (variables are the most
common) will explain how to resolve the ambiguity.
In this case, an atom-style variables references per-atom data if it
exists. If access to an element of a global vector is needed (as in
this example), an equal-style variable which references the value can
be defined and used in the atom-style variable formula instead.
Similarly, :doc:`thermodynamic output <thermo_style>` can only
reference global data from a compute or fix. But you can indirectly
access per-atom data as follows. The reference ``c_ID[245][2]`` for
the ID of a :doc:`compute displace/atom <compute_displace_atom>`
command, refers to the y-component of displacement for the atom with
ID 245. While you cannot use that reference directly in the
:doc:`thermo_style <thermo_style>` command, you can use it an
equal-style variable formula, and then reference the variable in
thermodynamic output.
.. _thermo: .. _thermo:
@ -389,7 +435,7 @@ output and input data types must match, e.g. global/per-atom/local
data and scalar/vector/array data. data and scalar/vector/array data.
Also note that, as described above, when a command takes a scalar as Also note that, as described above, when a command takes a scalar as
input, that could be an element of a vector or array. Likewise a input, that could also be an element of a vector or array. Likewise a
vector input could be a column of an array. vector input could be a column of an array.
+--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+ +--------------------------------------------------------+----------------------------------------------+----------------------------------------------------+

View File

@ -133,7 +133,7 @@ to the location in the virtual environment with:
.. code-block:: bash .. code-block:: bash
cmake . -DPYTHON_EXECUTABLE=$(which python) cmake . -DPython_EXECUTABLE=$(which python)
# install LAMMPS package in virtualenv # install LAMMPS package in virtualenv
(testing) make install-python (testing) make install-python

View File

@ -119,6 +119,45 @@ for example :doc:`dump yaml <dump>` or :doc:`fix ave/time <fix_ave_time>`
Depending on the kind of data being written, organization of the data Depending on the kind of data being written, organization of the data
or the specific syntax used may change, but the principles are very or the specific syntax used may change, but the principles are very
similar and all files should be readable with a suitable YAML parser. similar and all files should be readable with a suitable YAML parser.
A simple example for this is given below:
.. code-block:: python
import yaml
try:
from yaml import CSafeLoader as YamlLoader
except ImportError:
from yaml import SafeLoader as YamlLoader
timesteps = []
with open("dump.yaml", "r") as f:
data = yaml.load_all(f, Loader=YamlLoader)
for d in data:
print('Processing timestep %d' % d['timestep'])
timesteps.append(d)
print('Read %d timesteps from yaml dump' % len(timesteps))
print('Second timestep: ', timesteps[1]['timestep'])
print('Box info: x: ' , timesteps[1]['box'][0], ' y:', timesteps[1]['box'][1], ' z:',timesteps[1]['box'][2])
print('First 5 per-atom columns: ', timesteps[1]['keywords'][0:5])
print('Corresponding 10th atom data: ', timesteps[1]['data'][9][0:5])
The corresponding output for a YAML dump command added to the "melt" example is:
.. parsed-literal::
Processing timestep 0
Processing timestep 50
Processing timestep 100
Processing timestep 150
Processing timestep 200
Processing timestep 250
Read 6 timesteps from yaml dump
Second timestep: 50
Box info: x: [0, 16.795961913825074] y: [0, 16.795961913825074] z: [0, 16.795961913825074]
First 5 per-atom columns: ['id', 'type', 'x', 'y', 'z']
Corresponding 10th atom data: [10, 1, 4.43828, 0.968481, 0.108555]
Processing scalar data with Python Processing scalar data with Python
---------------------------------- ----------------------------------

View File

@ -12,7 +12,8 @@ is created, e.g. by the :doc:`create_box <create_box>` or
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>` :doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
commands. Additionally, LAMMPS defines box size parameters lx,ly,lz commands. Additionally, LAMMPS defines box size parameters lx,ly,lz
where lx = xhi-xlo, and similarly in the y and z dimensions. The 6 where lx = xhi-xlo, and similarly in the y and z dimensions. The 6
parameters, as well as lx,ly,lz, can be output via the :doc:`thermo_style custom <thermo_style>` command. parameters, as well as lx,ly,lz, can be output via the
:doc:`thermo_style custom <thermo_style>` command.
LAMMPS also allows simulations to be performed in triclinic LAMMPS also allows simulations to be performed in triclinic
(non-orthogonal) simulation boxes shaped as a parallelepiped with (non-orthogonal) simulation boxes shaped as a parallelepiped with

View File

@ -5,7 +5,7 @@ LAMMPS is designed to be a fast, parallel engine for molecular
dynamics (MD) simulations. It provides only a modest amount of dynamics (MD) simulations. It provides only a modest amount of
functionality for setting up simulations and analyzing their output. functionality for setting up simulations and analyzing their output.
Specifically, LAMMPS was not conceived and designed for: Originally, LAMMPS was not conceived and designed for:
* being run through a GUI * being run through a GUI
* building molecular systems, or building molecular topologies * building molecular systems, or building molecular topologies
@ -14,9 +14,10 @@ Specifically, LAMMPS was not conceived and designed for:
* visualize your MD simulation interactively * visualize your MD simulation interactively
* plot your output data * plot your output data
Over the years some of these limitations have been reduced or Over the years many of these limitations have been reduced or
removed, through features added to LAMMPS or external tools removed. In part through features added to LAMMPS and in part
that either closely interface with LAMMPS or extend LAMMPS. through external tools that either closely interface with LAMMPS
or extend LAMMPS.
Here are suggestions on how to perform these tasks: Here are suggestions on how to perform these tasks:
@ -24,8 +25,9 @@ Here are suggestions on how to perform these tasks:
wraps the library interface is provided. Thus, GUI interfaces can be wraps the library interface is provided. Thus, GUI interfaces can be
written in Python or C/C++ that run LAMMPS and visualize or plot its written in Python or C/C++ that run LAMMPS and visualize or plot its
output. Examples of this are provided in the python directory and output. Examples of this are provided in the python directory and
described on the :doc:`Python <Python_head>` doc page. Also, there described on the :doc:`Python <Python_head>` doc page. As of version
are several external wrappers or GUI front ends. 2 August 2023 :ref:`a GUI tool <lammps_gui>` is included in LAMMPS.
Also, there are several external wrappers or GUI front ends.
* **Builder:** Several pre-processing tools are packaged with LAMMPS. * **Builder:** Several pre-processing tools are packaged with LAMMPS.
Some of them convert input files in formats produced by other MD codes Some of them convert input files in formats produced by other MD codes
such as CHARMM, AMBER, or Insight into LAMMPS input formats. Some of such as CHARMM, AMBER, or Insight into LAMMPS input formats. Some of

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

@ -80,13 +80,15 @@ run LAMMPS in serial mode.
:class: note :class: note
If the LAMMPS executable encounters an error condition, it will abort If the LAMMPS executable encounters an error condition, it will abort
after printing an error message. For a library interface this is after printing an error message. It does so by catching the
usually not desirable. Thus LAMMPS can be compiled to to :ref:`throw exceptions that LAMMPS could throw. For a C library interface this
a C++ exception <exceptions>` instead. If enabled, the library is usually not desirable since the calling code might lack the
functions will catch those exceptions and return. The error status ability to catch such exceptions. Thus, the library functions will
:cpp:func:`can be queried <lammps_has_error>` and an :cpp:func:`error catch those exceptions and return from the affected functions. The
message retrieved <lammps_get_last_error_message>`. We thus error status :cpp:func:`can be queried <lammps_has_error>` and an
recommend enabling C++ exceptions when using the library interface, :cpp:func:`error message retrieved <lammps_get_last_error_message>`.
This is, for example used by the :doc:`LAMMPS python module
<Python_module>` and then a suitable Python exception is thrown.
.. admonition:: Using the C library interface as a plugin .. admonition:: Using the C library interface as a plugin
:class: note :class: note

View File

@ -15,9 +15,7 @@ Python exception handling mechanism.
try: try:
# LAMMPS will normally terminate itself and the running process if an error # LAMMPS will normally terminate itself and the running process if an error
# occurs. This would kill the Python interpreter. To avoid this, make sure to # occurs. This would kill the Python interpreter. The library wrapper will
# compile with LAMMPS_EXCEPTIONS enabled. This ensures the library API calls
# will not terminate the parent process. Instead, the library wrapper will
# detect that an error has occured and throw a Python exception # detect that an error has occured and throw a Python exception
lmp.command('unknown') lmp.command('unknown')

View File

@ -5,8 +5,7 @@ The LAMMPS Python module enables calling the :ref:`LAMMPS C library API
<lammps_c_api>` from Python by dynamically loading functions in the <lammps_c_api>` from Python by dynamically loading functions in the
LAMMPS shared library through the Python `ctypes <ctypes_>`_ LAMMPS shared library through the Python `ctypes <ctypes_>`_
module. Because of the dynamic loading, it is required that LAMMPS is module. Because of the dynamic loading, it is required that LAMMPS is
compiled in :ref:`"shared" mode <exe>`. It is also recommended to compiled in :ref:`"shared" mode <exe>`.
compile LAMMPS with :ref:`C++ exceptions <exceptions>` enabled.
Two components are necessary for Python to be able to invoke LAMMPS code: Two components are necessary for Python to be able to invoke LAMMPS code:

View File

@ -645,9 +645,14 @@ LAMMPS GUI
Overview Overview
^^^^^^^^ ^^^^^^^^
LAMMPS GUI is a simple graphical text editor that is linked to the LAMMPS GUI is a graphical text editor customized for editing LAMMPS
:ref:`LAMMPS C-library interface <lammps_c_api>` and thus can run LAMMPS input files that is linked to the :ref:`LAMMPS C-library <lammps_c_api>`
directly using the contents of the editor's text buffer as input. and thus can run LAMMPS directly using the contents of the editor's text
buffer as input. It can retrieve and display information from LAMMPS
while it is running, display visualizations created with the :doc:`dump
image command <dump_image>`, and is adapted specifically for editing
LAMMPS input files through text completion and reformatting, and linking
to the online LAMMPS documentation for known LAMMPS commands and styles.
This is similar to what people traditionally would do to run LAMMPS: This is similar to what people traditionally would do to run LAMMPS:
using a regular text editor to edit the input and run the necessary using a regular text editor to edit the input and run the necessary
@ -656,9 +661,9 @@ terminal window. This similarity is a design goal. While making it easy
for beginners to start with LAMMPS, it is also the intention to simplify for beginners to start with LAMMPS, it is also the intention to simplify
the transition to workflows like most experienced LAMMPS users do. the transition to workflows like most experienced LAMMPS users do.
All features have been extensively exposed to hotkeys, so that there is All features have been extensively exposed to keyboard shortcuts, so
also appeal for experienced LAMMPS users, too, especially for that there is also appeal for experienced LAMMPS users for prototyping
prototyping and testing simulations setups. and testing simulations setups.
Features Features
^^^^^^^^ ^^^^^^^^
@ -697,22 +702,26 @@ Prerequisites and portability
LAMMPS GUI is programmed in C++ based on the C++11 standard and using LAMMPS GUI is programmed in C++ based on the C++11 standard and using
the `Qt GUI framework <https://www.qt.io/product/framework>`_. the `Qt GUI framework <https://www.qt.io/product/framework>`_.
Currently, Qt version 5.12 or later is required; Qt 5.15LTS is Currently, Qt version 5.12 or later is required; Qt 5.15LTS is
recommended; Qt 6.x not (yet) supported. Building LAMMPS with CMake is recommended; support for Qt version 6.x is under active development and
required. The LAMMPS GUI has been successfully compiled and tested on: thus far only tested with Qt 6.5LTS on Linux. Building LAMMPS with
CMake is required.
The LAMMPS GUI has been successfully compiled and tested on:
- Ubuntu Linux 20.04LTS x86_64 using GCC 9, Qt version 5.12 - Ubuntu Linux 20.04LTS x86_64 using GCC 9, Qt version 5.12
- Fedora Linux 38 x86\_64 using GCC 13 and Clang 16, Qt version 5.15LTS - Fedora Linux 38 x86\_64 using GCC 13 and Clang 16, Qt version 5.15LTS
- Fedora Linux 38 x86\_64 using GCC 13, Qt version 6.5LTS
- Apple macOS 12 (Monterey) and macOS 13 (Ventura) with Xcode on arm64 and x86\_64, Qt version 5.15LTS - Apple macOS 12 (Monterey) and macOS 13 (Ventura) with Xcode on arm64 and x86\_64, Qt version 5.15LTS
- Windows 10 and 11 x86_64 with Visual Studio 2022 and Visual C++ 14.36, Qt version 5.15LTS - Windows 10 and 11 x86_64 with Visual Studio 2022 and Visual C++ 14.36, Qt version 5.15LTS
- Windows 10 and 11 x86_64 with MinGW / GCC 10.0 cross-compiler on Fedora 38, Qt version 5.15LTS - Windows 10 and 11 x86_64 with MinGW / GCC 10.0 cross-compiler on Fedora 38, Qt version 5.15LTS
.. _lammps-gui-install: .. _lammps_gui_install:
Pre-compiled executables Pre-compiled executables
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
Pre-compiled LAMMPS executables including the GUI are currently Pre-compiled LAMMPS executable packages that include the GUI are currently
available from https://download.lammps.org/static or available from https://download.lammps.org/static or
https://github.com/lammps/lammps/releases. You can unpack the archives https://github.com/lammps/lammps/releases. You can unpack the archives
(or mount the macOS disk image) and run the GUI directly in place. The (or mount the macOS disk image) and run the GUI directly in place. The
@ -737,7 +746,10 @@ stored in a location where CMake can find them without additional help.
Otherwise, the location of the Qt library installation must be indicated Otherwise, the location of the Qt library installation must be indicated
by setting ``-D Qt5_DIR=/path/to/qt5/lib/cmake/Qt5``, which is a path to by setting ``-D Qt5_DIR=/path/to/qt5/lib/cmake/Qt5``, which is a path to
a folder inside the Qt installation that contains the file a folder inside the Qt installation that contains the file
``Qt5Config.cmake``. ``Qt5Config.cmake``. Similarly, for Qt6 the location of the Qt library
installation can be indicated by setting ``-D Qt6_DIR=/path/to/qt6/lib/cmake/Qt6``,
if necessary. When both, Qt5 and Qt6 are available, Qt6 will be preferred
unless ``-D LAMMPS_GUI_USE_QT5=yes`` is set.
It should be possible to build the LAMMPS GUI as a standalone It should be possible to build the LAMMPS GUI as a standalone
compilation (e.g. when LAMMPS has been compiled with traditional make), compilation (e.g. when LAMMPS has been compiled with traditional make),

View File

@ -65,6 +65,11 @@ switch. This is described on the :doc:`Build_settings <Build_settings>`
doc page. If atom IDs are not used, they must be specified as 0 for doc page. If atom IDs are not used, they must be specified as 0 for
all atoms, e.g. in a data or restart file. all atoms, e.g. in a data or restart file.
.. note::
If a :doc:`triclinic simulation box <Howto_triclinic>` is used,
atom IDs are required, due to how neighbor lists are built.
The *map* keyword determines how atoms with specific IDs are found The *map* keyword determines how atoms with specific IDs are found
when required. An example are the bond (angle, etc) methods which 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 need to find the local index of an atom with a specific global ID

View File

@ -27,58 +27,62 @@ Examples
Description Description
""""""""""" """""""""""
Define a computation that will be performed on a group of atoms. Define a diagnostic computation that will be performed on a group of
Quantities calculated by a compute are instantaneous values, meaning atoms. Quantities calculated by a compute are instantaneous values,
they are calculated from information about atoms on the current meaning they are calculated from information about atoms on the
timestep or iteration, though a compute may internally store some current timestep or iteration, though internally a compute may store
information about a previous state of the system. Defining a compute some information about a previous state of the system. Defining a
does not perform a computation. Instead computes are invoked by other compute does not perform the computation. Instead computes are
LAMMPS commands as needed (e.g., to calculate a temperature needed for invoked by other LAMMPS commands as needed (e.g., to calculate a
a thermostat fix or to generate thermodynamic or dump file output). temperature needed for a thermostat fix or to generate thermodynamic
See the :doc:`Howto output <Howto_output>` page for a summary of or dump file output). See the :doc:`Howto output <Howto_output>` page
various LAMMPS output options, many of which involve computes. for a summary of various LAMMPS output options, many of which involve
computes.
The ID of a compute can only contain alphanumeric characters and The ID of a compute can only contain alphanumeric characters and
underscores. underscores.
---------- ----------
Computes calculate one or more of four styles of quantities: global, Computes calculate and store any of four *styles* of quantities:
per-atom, local, or per-atom. A global quantity is one or more global, per-atom, local, or per-grid.
system-wide values, e.g. the temperature of the system. A per-atom
quantity is one or more values per atom, e.g. the kinetic energy of
each atom. Per-atom values are set to 0.0 for atoms not in the
specified compute group. Local quantities are calculated by each
processor based on the atoms it owns, but there may be zero or more
per atom, e.g. a list of bond distances. Per-grid quantities are
calculated on a regular 2d or 3d grid which overlays a 2d or 3d
simulation domain. The grid points and the data they store are
distributed across processors; each processor owns the grid points
which fall within its subdomain.
Computes that produce per-atom quantities have the word "atom" at the A global quantity is one or more system-wide values, e.g. the
end of their style, e.g. *ke/atom*\ . Computes that produce local temperature of the system. A per-atom quantity is one or more values
quantities have the word "local" at the end of their style, per atom, e.g. the kinetic energy of each atom. Per-atom values are
e.g. *bond/local*\ . Computes that produce per-grid quantities have set to 0.0 for atoms not in the specified compute group. Local
the word "grid" at the end of their style, e.g. *property/grid*\ . quantities are calculated by each processor based on the atoms it
Styles with neither "atom" or "local" or "grid" at the end of their owns, but there may be zero or more per atom, e.g. a list of bond
style name produce global quantities. distances. Per-grid quantities are calculated on a regular 2d or 3d
grid which overlays a 2d or 3d simulation domain. The grid points and
the data they store are distributed across processors; each processor
owns the grid points which fall within its subdomain.
Note that a single compute typically produces either global or As a general rule of thumb, computes that produce per-atom quantities
per-atom or local or per-grid values. It does not compute both global have the word "atom" at the end of their style, e.g. *ke/atom*\ .
and per-atom values. It can produce local values or per-grid values Computes that produce local quantities have the word "local" at the
in tandem with global or per-atom quantities. The compute doc page end of their style, e.g. *bond/local*\ . Computes that produce
will explain the details. per-grid quantities have the word "grid" at the end of their style,
e.g. *property/grid*\ . And styles with neither "atom" or "local" or
"grid" at the end of their style name produce global quantities.
Global, per-atom, local, and per-grid quantities come in three kinds: Global, per-atom, local, and per-grid quantities can also be of three
a single scalar value, a vector of values, or a 2d array of values. *kinds*: a single scalar value (global only), a vector of values, or a
The doc page for each compute describes the style and kind of values 2d array of values. For per-atom, local, and per-grid quantities, a
it produces, e.g. a per-atom vector. Some computes produce more than "vector" means a single value for each atom, each local entity
one kind of a single style, e.g. a global scalar and a global vector. (e.g. bond), or grid cell. Likewise an "array", means multiple values
for each atom, each local entity, or each grid cell.
When a compute quantity is accessed, as in many of the output commands Note that a single compute can produce any combination of global,
discussed below, it can be referenced via the following bracket per-atom, local, or per-grid values. Likewise it can produce any
notation, where ID is the ID of the compute: combination of scalar, vector, or array output for each style. The
exception is that for per-atom, local, and per-grid output, either a
vector or array can be produced, but not both. The doc page for each
compute explains the values it produces.
When a compute output is accessed by another input script command it
is referenced via the following bracket notation, where ID is the ID
of the compute:
+-------------+--------------------------------------------+ +-------------+--------------------------------------------+
| c_ID | entire scalar, vector, or array | | c_ID | entire scalar, vector, or array |
@ -89,17 +93,23 @@ notation, where ID is the ID of the compute:
+-------------+--------------------------------------------+ +-------------+--------------------------------------------+
In other words, using one bracket reduces the dimension of the In other words, using one bracket reduces the dimension of the
quantity once (vector :math:`\to` scalar, array :math:`\to` vector). Using two quantity once (vector :math:`\to` scalar, array :math:`\to` vector).
brackets reduces the dimension twice (array :math:`\to` scalar). Thus a Using two brackets reduces the dimension twice (array :math:`\to`
command that uses scalar compute values as input can also process elements of a scalar). Thus, for example, a command that uses global scalar compute
vector or array. values as input can also process elements of a vector or array.
Depending on the command, this can either be done directly using the
syntax in the table, or by first defining a :doc:`variable <variable>`
of the appropriate style to store the quantity, then using the
variable as an input to the command.
Note that commands and :doc:`variables <variable>` which use compute Note that commands and :doc:`variables <variable>` which take compute
quantities typically do not allow for all kinds (e.g., a command may outputs as input typically do not allow for all styles and kinds of
require a vector of values, not a scalar). This means there is no data (e.g., a command may require global but not per-atom values, or
ambiguity about referring to a compute quantity as c_ID even if it it may require a vector of values, not a scalar). This means there is
produces, for example, both a scalar and vector. The doc pages for typically no ambiguity about referring to a compute output as c_ID
various commands explain the details. even if it produces, for example, both a scalar and vector. The doc
pages for various commands explain the details, including how any
ambiguities are resolved.
---------- ----------

View File

@ -36,7 +36,7 @@ Examples
Description Description
""""""""""" """""""""""
.. versionadded:: TBD .. versionadded:: 21Nov2023
Define a computation that calculates a local composition vector for each Define a computation that calculates a local composition vector for each
atom. For a central atom with :math:`M` neighbors within the neighbor cutoff sphere, atom. For a central atom with :math:`M` neighbors within the neighbor cutoff sphere,

View File

@ -128,9 +128,9 @@ Attributes *i_name*, *d_name*, *i2_name*, *d2_name* refer to custom
per-atom integer and floating-point vectors or arrays that have been per-atom integer and floating-point vectors or arrays that have been
added via the :doc:`fix property/atom <fix_property_atom>` command. added via the :doc:`fix property/atom <fix_property_atom>` command.
When that command is used specific names are given to each attribute When that command is used specific names are given to each attribute
which are the "name" portion of these attributes. For arrays *i2_name* which are the "name" portion of these attributes. For arrays
and *d2_name*, the column of the array must also be included following *i2_name* and *d2_name*, the column of the array must also be included
the name in brackets (e.g., d2_xyz[2] or i2_mySpin[3]). following the name in brackets (e.g., d2_xyz[2] or i2_mySpin[3]).
The additional quantities only accessible via this command, and not The additional quantities only accessible via this command, and not
directly via the :doc:`dump custom <dump>` command, are as follows. directly via the :doc:`dump custom <dump>` command, are as follows.

View File

@ -61,7 +61,7 @@ varying fastest, then Y, then Z slowest. For 2d grids (in 2d
simulations), the grid IDs range from 1 to Nx*Ny, with X varying simulations), the grid IDs range from 1 to Nx*Ny, with X varying
fastest and Y slowest. fastest and Y slowest.
.. versionadded:: TBD .. versionadded:: 21Nov2023
The *proc* attribute is the ID of the processor which owns the grid The *proc* attribute is the ID of the processor which owns the grid
cell. Processor IDs range from 0 to Nprocs - 1, where Nprocs is the cell. Processor IDs range from 0 to Nprocs - 1, where Nprocs is the

View File

@ -37,13 +37,16 @@ Syntax
v_name = per-atom vector calculated by an atom-style variable with name v_name = per-atom vector calculated by an atom-style variable with name
* zero or more keyword/args pairs may be appended * zero or more keyword/args pairs may be appended
* keyword = *replace* * keyword = *replace* or *inputs*
.. parsed-literal:: .. parsed-literal::
*replace* args = vec1 vec2 *replace* args = vec1 vec2
vec1 = reduced value from this input vector will be replaced vec1 = reduced value from this input vector will be replaced
vec2 = replace it with vec1[N] where N is index of max/min value from vec2 vec2 = replace it with vec1[N] where N is index of max/min value from vec2
*inputs* arg = peratom or local
peratom = all inputs are per-atom quantities (default)
local = all input are local quantities
Examples Examples
"""""""" """"""""
@ -60,38 +63,44 @@ Description
""""""""""" """""""""""
Define a calculation that "reduces" one or more vector inputs into Define a calculation that "reduces" one or more vector inputs into
scalar values, one per listed input. The inputs can be per-atom or scalar values, one per listed input. For the compute reduce command,
local quantities; they cannot be global quantities. Atom attributes the inputs can be either per-atom or local quantities and must all be
are per-atom quantities, :doc:`computes <compute>` and :doc:`fixes <fix>` of the same kind (per-atom or local); see discussion of the optional
may generate any of the three kinds of quantities, and :doc:`atom-style variables <variable>` generate per-atom quantities. See the *inputs* keyword below. The compute reduce/region command can only be
:doc:`variable <variable>` command and its special functions which can used with per-atom inputs.
perform the same operations as the compute reduce command on global
vectors. Atom attributes are per-atom quantities, :doc:`computes <compute>` and
:doc:`fixes <fix>` can generate either per-atom or local quantities,
and :doc:`atom-style variables <variable>` generate per-atom
quantities. See the :doc:`variable <variable>` command and its
special functions which can perform the same reduction operations as
the compute reduce command on global vectors.
The reduction operation is specified by the *mode* setting. The *sum* The reduction operation is specified by the *mode* setting. The *sum*
option adds the values in the vector into a global total. The *min* option adds the values in the vector into a global total. The *min*
or *max* options find the minimum or maximum value across all vector or *max* options find the minimum or maximum value across all vector
values. The *minabs* or *maxabs* options find the minimum or maximum values. The *minabs* or *maxabs* options find the minimum or maximum
value across all absolute vector values. The *ave* setting adds the value across all absolute vector values. The *ave* setting adds the
vector values into a global total, then divides by the number of values vector values into a global total, then divides by the number of
in the vector. The *sumsq* option sums the square of the values in the values in the vector. The *sumsq* option sums the square of the
vector into a global total. The *avesq* setting does the same as *sumsq*, values in the vector into a global total. The *avesq* setting does
then divides the sum of squares by the number of values. The last two options the same as *sumsq*, then divides the sum of squares by the number of
can be useful for calculating the variance of some quantity (e.g., variance = values. The last two options can be useful for calculating the
sumsq :math:`-` ave\ :math:`^2`). The *sumabs* option sums the absolute variance of some quantity (e.g., variance = sumsq :math:`-` ave\
values in the vector into a global total. The *aveabs* setting does the same :math:`^2`). The *sumabs* option sums the absolute values in the
as *sumabs*, then divides the sum of absolute values by the number of vector into a global total. The *aveabs* setting does the same as
*sumabs*, then divides the sum of absolute values by the number of
values. values.
Each listed input is operated on independently. For per-atom inputs, Each listed input is operated on independently. For per-atom inputs,
the group specified with this command means only atoms within the the group specified with this command means only atoms within the
group contribute to the result. For per-atom inputs, if the compute group contribute to the result. Likewise for per-atom inputs, if the
reduce/region command is used, the atoms must also currently be within compute reduce/region command is used, the atoms must also currently
the region. Note that an input that produces per-atom quantities may be within the region. Note that an input that produces per-atom
define its own group which affects the quantities it returns. For quantities may define its own group which affects the quantities it
example, if a compute is used as an input which generates a per-atom returns. For example, if a compute is used as an input which
vector, it will generate values of 0.0 for atoms that are not in the generates a per-atom vector, it will generate values of 0.0 for atoms
group specified for that compute. that are not in the group specified for that compute.
Each listed input can be an atom attribute (position, velocity, force Each listed input can be an atom attribute (position, velocity, force
component) or can be the result of a :doc:`compute <compute>` or component) or can be the result of a :doc:`compute <compute>` or
@ -123,52 +132,54 @@ array with six columns:
---------- ----------
The atom attribute values (*x*, *y*, *z*, *vx*, *vy*, *vz*, *fx*, *fy*, and The atom attribute values (*x*, *y*, *z*, *vx*, *vy*, *vz*, *fx*,
*fz*) are self-explanatory. Note that other atom attributes can be used as *fy*, and *fz*) are self-explanatory. Note that other atom attributes
inputs to this fix by using the can be used as inputs to this fix by using the :doc:`compute
:doc:`compute property/atom <compute_property_atom>` command and then specifying property/atom <compute_property_atom>` command and then specifying an
an input value from that compute. input value from that compute.
If a value begins with "c\_", a compute ID must follow which has been If a value begins with "c\_", a compute ID must follow which has been
previously defined in the input script. Computes can generate previously defined in the input script. Valid computes can generate
per-atom or local quantities. See the individual per-atom or local quantities. See the individual :doc:`compute
:doc:`compute <compute>` page for details. If no bracketed integer <compute>` page for details. If no bracketed integer is appended, the
is appended, the vector calculated by the compute is used. If a vector calculated by the compute is used. If a bracketed integer is
bracketed integer is appended, the Ith column of the array calculated appended, the Ith column of the array calculated by the compute is
by the compute is used. Users can also write code for their own used. Users can also write code for their own compute styles and
compute styles and :doc:`add them to LAMMPS <Modify>`. See the :doc:`add them to LAMMPS <Modify>`. See the discussion above for how
discussion above for how :math:`I` can be specified with a wildcard asterisk :math:`I` can be specified with a wildcard asterisk to effectively
to effectively specify multiple values. specify multiple values.
If a value begins with "f\_", a fix ID must follow which has been If a value begins with "f\_", a fix ID must follow which has been
previously defined in the input script. Fixes can generate per-atom previously defined in the input script. Valid fixes can generate
or local quantities. See the individual :doc:`fix <fix>` page for per-atom or local quantities. See the individual :doc:`fix <fix>`
details. Note that some fixes only produce their values on certain page for details. Note that some fixes only produce their values on
timesteps, which must be compatible with when compute reduce certain timesteps, which must be compatible with when compute reduce
references the values, else an error results. If no bracketed integer references the values, else an error results. If no bracketed integer
is appended, the vector calculated by the fix is used. If a bracketed is appended, the vector calculated by the fix is used. If a bracketed
integer is appended, the Ith column of the array calculated by the fix integer is appended, the Ith column of the array calculated by the fix
is used. Users can also write code for their own fix style and is used. Users can also write code for their own fix style and
:doc:`add them to LAMMPS <Modify>`. See the discussion above for how :doc:`add them to LAMMPS <Modify>`. See the discussion above for how
:math:`I` can be specified with a wildcard asterisk to effectively specify :math:`I` can be specified with a wildcard asterisk to effectively
multiple values. specify multiple values.
If a value begins with "v\_", a variable name must follow which has If a value begins with "v\_", a variable name must follow which has
been previously defined in the input script. It must be an been previously defined in the input script. It must be an
:doc:`atom-style variable <variable>`. Atom-style variables can :doc:`atom-style variable <variable>`. Atom-style variables can
reference thermodynamic keywords and various per-atom attributes, or reference thermodynamic keywords and various per-atom attributes, or
invoke other computes, fixes, or variables when they are evaluated, so invoke other computes, fixes, or variables when they are evaluated, so
this is a very general means of generating per-atom quantities to reduce. this is a very general means of generating per-atom quantities to
reduce.
---------- ----------
If the *replace* keyword is used, two indices *vec1* and *vec2* are If the *replace* keyword is used, two indices *vec1* and *vec2* are
specified, where each index ranges from 1 to the number of input values. specified, where each index ranges from 1 to the number of input
The replace keyword can only be used if the *mode* is *min* or *max*\ . values. The replace keyword can only be used if the *mode* is *min*
It works as follows. A min/max is computed as usual on the *vec2* or *max*\ . It works as follows. A min/max is computed as usual on
input vector. The index :math:`N` of that value within *vec2* is also stored. the *vec2* input vector. The index :math:`N` of that value within
Then, instead of performing a min/max on the *vec1* input vector, the *vec2* is also stored. Then, instead of performing a min/max on the
stored index is used to select the :math:`N`\ th element of the *vec1* vector. *vec1* input vector, the stored index is used to select the :math:`N`\
th element of the *vec1* vector.
Thus, for example, if you wish to use this compute to find the bond Thus, for example, if you wish to use this compute to find the bond
with maximum stretch, you can do it as follows: with maximum stretch, you can do it as follows:
@ -190,6 +201,16 @@ information in this context, the *replace* keywords will extract the
atom IDs for the two atoms in the bond of maximum stretch. These atom atom IDs for the two atoms in the bond of maximum stretch. These atom
IDs and the bond stretch will be printed with thermodynamic output. IDs and the bond stretch will be printed with thermodynamic output.
.. versionadded:: 21Nov2023
The *inputs* keyword allows selection of whether all the inputs are
per-atom or local quantities. As noted above, all the inputs must be
the same kind (per-atom or local). Per-atom is the default setting.
If a compute or fix is specified as an input, it must produce per-atom
or local data to match this setting. If it produces both, e.g. for
the :doc:`compute voronoi/atom <compute_voronoi_atom>` command, then
this keyword selects between them.
---------- ----------
If a single input is specified this compute produces a global scalar If a single input is specified this compute produces a global scalar
@ -197,38 +218,41 @@ value. If multiple inputs are specified, this compute produces a
global vector of values, the length of which is equal to the number of global vector of values, the length of which is equal to the number of
inputs specified. inputs specified.
As discussed below, for the *sum*, *sumabs*, and *sumsq* modes, the value(s) As discussed below, for the *sum*, *sumabs*, and *sumsq* modes, the
produced by this compute are all "extensive", meaning their value value(s) produced by this compute are all "extensive", meaning their
scales linearly with the number of atoms involved. If normalized value scales linearly with the number of atoms involved. If
values are desired, this compute can be accessed by the normalized values are desired, this compute can be accessed by the
:doc:`thermo_style custom <thermo_style>` command with :doc:`thermo_style custom <thermo_style>` command with
:doc:`thermo_modify norm yes <thermo_modify>` set as an option. :doc:`thermo_modify norm yes <thermo_modify>` set as an option. Or it
Or it can be accessed by a can be accessed by a :doc:`variable <variable>` that divides by the
:doc:`variable <variable>` that divides by the appropriate atom count. appropriate atom count.
---------- ----------
Output info Output info
""""""""""" """""""""""
This compute calculates a global scalar if a single input value is specified This compute calculates a global scalar if a single input value is
or a global vector of length :math:`N`, where :math:`N` is the number of specified or a global vector of length :math:`N`, where :math:`N` is
inputs, and which can be accessed by indices 1 to :math:`N`. These values can the number of inputs, and which can be accessed by indices 1 to
be used by any command that uses global scalar or vector values from a :math:`N`. These values can be used by any command that uses global
compute as input. See the :doc:`Howto output <Howto_output>` doc page scalar or vector values from a compute as input. See the :doc:`Howto
for an overview of LAMMPS output options. output <Howto_output>` doc page for an overview of LAMMPS output
options.
All the scalar or vector values calculated by this compute are All the scalar or vector values calculated by this compute are
"intensive", except when the *sum*, *sumabs*, or *sumsq* modes are used on "intensive", except when the *sum*, *sumabs*, or *sumsq* modes are used on
per-atom or local vectors, in which case the calculated values are per-atom or local vectors, in which case the calculated values are
"extensive". "extensive".
The scalar or vector values will be in whatever :doc:`units <units>` the The scalar or vector values will be in whatever :doc:`units <units>`
quantities being reduced are in. the quantities being reduced are in.
Restrictions Restrictions
"""""""""""" """"""""""""
none
As noted above, the compute reduce/region command can only be used
with per-atom inputs.
Related commands Related commands
"""""""""""""""" """"""""""""""""
@ -238,4 +262,4 @@ Related commands
Default Default
""""""" """""""
none The default value for the *inputs* keyword is peratom.

View File

@ -13,7 +13,7 @@ Syntax
* ID, group-ID are documented in :doc:`compute <compute>` command * ID, group-ID are documented in :doc:`compute <compute>` command
* voronoi/atom = style name of this compute command * voronoi/atom = style name of this compute command
* zero or more keyword/value pairs may be appended * zero or more keyword/value pairs may be appended
* keyword = *only_group* or *occupation* or *surface* or *radius* or *edge_histo* or *edge_threshold* or *face_threshold* or *neighbors* or *peratom* * keyword = *only_group* or *occupation* or *surface* or *radius* or *edge_histo* or *edge_threshold* or *face_threshold* or *neighbors*
.. parsed-literal:: .. parsed-literal::
@ -31,7 +31,6 @@ Syntax
*face_threshold* arg = minarea *face_threshold* arg = minarea
minarea = minimum area for a face to be counted minarea = minimum area for a face to be counted
*neighbors* value = *yes* or *no* = store list of all neighbors or no *neighbors* value = *yes* or *no* = store list of all neighbors or no
*peratom* value = *yes* or *no* = per-atom quantities accessible or no
Examples Examples
"""""""" """"""""
@ -53,14 +52,12 @@ atoms in the simulation box. The tessellation is calculated using all
atoms in the simulation, but non-zero values are only stored for atoms atoms in the simulation, but non-zero values are only stored for atoms
in the group. in the group.
By default two per-atom quantities are calculated by this compute. Two per-atom quantities are calculated by this compute. The first is
The first is the volume of the Voronoi cell around each atom. Any the volume of the Voronoi cell around each atom. Any point in an
point in an atom's Voronoi cell is closer to that atom than any other. atom's Voronoi cell is closer to that atom than any other. The second
The second is the number of faces of the Voronoi cell. This is is the number of faces of the Voronoi cell. This is equal to the
equal to the number of nearest neighbors of the central atom, number of nearest neighbors of the central atom, plus any exterior
plus any exterior faces (see note below). If the *peratom* keyword faces (see note below).
is set to "no", the per-atom quantities are still calculated,
but they are not accessible.
---------- ----------
@ -97,13 +94,13 @@ present in atom_style sphere for granular models.
The *edge_histo* keyword activates the compilation of a histogram of The *edge_histo* keyword activates the compilation of a histogram of
number of edges on the faces of the Voronoi cells in the compute number of edges on the faces of the Voronoi cells in the compute
group. The argument *maxedge* of the this keyword is the largest number group. The argument *maxedge* of the this keyword is the largest
of edges on a single Voronoi cell face expected to occur in the number of edges on a single Voronoi cell face expected to occur in the
sample. This keyword adds the generation of a global vector with sample. This keyword generates output of a global vector by this
*maxedge*\ +1 entries. The last entry in the vector contains the number of compute with *maxedge*\ +1 entries. The last entry in the vector
faces with more than *maxedge* edges. Since the polygon with the contains the number of faces with more than *maxedge* edges. Since the
smallest amount of edges is a triangle, entries 1 and 2 of the vector polygon with the smallest amount of edges is a triangle, entries 1 and
will always be zero. 2 of the vector will always be zero.
The *edge_threshold* and *face_threshold* keywords allow the The *edge_threshold* and *face_threshold* keywords allow the
suppression of edges below a given minimum length and faces below a suppression of edges below a given minimum length and faces below a
@ -127,8 +124,8 @@ to locate vacancies (the coordinates are given by the atom coordinates
at the time step when the compute was first invoked), while column two at the time step when the compute was first invoked), while column two
data can be used to identify interstitial atoms. data can be used to identify interstitial atoms.
If the *neighbors* value is set to yes, then this compute creates a If the *neighbors* value is set to yes, then this compute also creates
local array with 3 columns. There is one row for each face of each a local array with 3 columns. There is one row for each face of each
Voronoi cell. The 3 columns are the atom ID of the atom that owns the Voronoi cell. The 3 columns are the atom ID of the atom that owns the
cell, the atom ID of the atom in the neighboring cell (or zero if the cell, the atom ID of the atom in the neighboring cell (or zero if the
face is external), and the area of the face. The array can be face is external), and the area of the face. The array can be
@ -143,8 +140,8 @@ containing all the Voronoi neighbors in a system:
compute 6 all voronoi/atom neighbors yes compute 6 all voronoi/atom neighbors yes
dump d2 all local 1 dump.neighbors index c_6[1] c_6[2] c_6[3] dump d2 all local 1 dump.neighbors index c_6[1] c_6[2] c_6[3]
If the *face_threshold* keyword is used, then only faces If the *face_threshold* keyword is used, then only faces with areas
with areas greater than the threshold are stored. greater than the threshold are stored.
---------- ----------
@ -158,48 +155,52 @@ Voro++ software in the src/VORONOI/README file.
.. note:: .. note::
The calculation of Voronoi volumes is performed by each processor for The calculation of Voronoi volumes is performed by each processor
the atoms it owns, and includes the effect of ghost atoms stored by for the atoms it owns, and includes the effect of ghost atoms
the processor. This assumes that the Voronoi cells of owned atoms stored by the processor. This assumes that the Voronoi cells of
are not affected by atoms beyond the ghost atom cut-off distance. owned atoms are not affected by atoms beyond the ghost atom cut-off
This is usually a good assumption for liquid and solid systems, but distance. This is usually a good assumption for liquid and solid
may lead to underestimation of Voronoi volumes in low density systems, but may lead to underestimation of Voronoi volumes in low
systems. By default, the set of ghost atoms stored by each processor density systems. By default, the set of ghost atoms stored by each
is determined by the cutoff used for :doc:`pair_style <pair_style>` processor is determined by the cutoff used for :doc:`pair_style
interactions. The cutoff can be set explicitly via the <pair_style>` interactions. The cutoff can be set explicitly via
:doc:`comm_modify cutoff <comm_modify>` command. The Voronoi cells the :doc:`comm_modify cutoff <comm_modify>` command. The Voronoi
for atoms adjacent to empty regions will extend into those regions up cells for atoms adjacent to empty regions will extend into those
to the communication cutoff in :math:`x`, :math:`y`, or :math:`z`. regions up to the communication cutoff in :math:`x`, :math:`y`, or
In that situation, an exterior face is created at the cutoff distance :math:`z`. In that situation, an exterior face is created at the
normal to the :math:`x`, :math:`y`, or :math:`z` direction. For cutoff distance normal to the :math:`x`, :math:`y`, or :math:`z`
triclinic systems, the exterior face is parallel to the corresponding direction. For triclinic systems, the exterior face is parallel to
reciprocal lattice vector. the corresponding reciprocal lattice vector.
.. note:: .. note::
The Voro++ package performs its calculation in 3d. This will The Voro++ package performs its calculation in 3d. This will still
still work for a 2d LAMMPS simulation, provided all the atoms have the work for a 2d LAMMPS simulation, provided all the atoms have the
same :math:`z`-coordinate. The Voronoi cell of each atom will be a columnar same :math:`z`-coordinate. The Voronoi cell of each atom will be a
polyhedron with constant cross-sectional area along the :math:`z`-direction columnar polyhedron with constant cross-sectional area along the
and two exterior faces at the top and bottom of the simulation box. If :math:`z`-direction and two exterior faces at the top and bottom of
the atoms do not all have the same :math:`z`-coordinate, then the columnar the simulation box. If the atoms do not all have the same
cells will be accordingly distorted. The cross-sectional area of each :math:`z`-coordinate, then the columnar cells will be accordingly
Voronoi cell can be obtained by dividing its volume by the :math:`z` extent distorted. The cross-sectional area of each Voronoi cell can be
of the simulation box. Note that you define the :math:`z` extent of the obtained by dividing its volume by the :math:`z` extent of the
simulation box for 2d simulations when using the simulation box. Note that you define the :math:`z` extent of the
:doc:`create_box <create_box>` or :doc:`read_data <read_data>` commands. simulation box for 2d simulations when using the :doc:`create_box
<create_box>` or :doc:`read_data <read_data>` commands.
Output info Output info
""""""""""" """""""""""
By default, this compute calculates a per-atom array with two .. deprecated:: 21Nov2023
columns. In regular dynamic tessellation mode the first column is the
Voronoi volume, the second is the neighbor count, as described above The *peratom* keyword was removed as it is no longer required.
(read above for the output data in case the *occupation* keyword is
specified). These values can be accessed by any command that uses This compute calculates a per-atom array with two columns. In regular
per-atom values from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output dynamic tessellation mode the first column is the Voronoi volume, the
options. If the *peratom* keyword is set to "no", the per-atom array second is the neighbor count, as described above (read above for the
is still created, but it is not accessible. output data in case the *occupation* keyword is specified). These
values can be accessed by any command that uses per-atom values from a
compute as input. See the :doc:`Howto output <Howto_output>` page for
an overview of LAMMPS output options.
If the *edge_histo* keyword is used, then this compute generates a If the *edge_histo* keyword is used, then this compute generates a
global vector of length *maxedge*\ +1, containing a histogram of the global vector of length *maxedge*\ +1, containing a histogram of the
@ -209,17 +210,6 @@ If the *neighbors* value is set to *yes*, then this compute calculates a
local array with three columns. There is one row for each face of each local array with three columns. There is one row for each face of each
Voronoi cell. Voronoi cell.
.. note::
Some LAMMPS commands such as the :doc:`compute reduce <compute_reduce>`
command can accept either a per-atom or local quantity. If this compute
produces both quantities, the command
may access the per-atom quantity, even if you want to access the local
quantity. This effect can be eliminated by using the *peratom*
keyword to turn off the production of the per-atom quantities. For
the default value *yes* both quantities are produced. For the value
*no*, only the local array is produced.
The Voronoi cell volume will be in distance :doc:`units <units>` cubed. The Voronoi cell volume will be in distance :doc:`units <units>` cubed.
The Voronoi face area will be in distance :doc:`units <units>` squared. The Voronoi face area will be in distance :doc:`units <units>` squared.
@ -227,7 +217,8 @@ Restrictions
"""""""""""" """"""""""""
This compute is part of the VORONOI package. It is only enabled if This compute is part of the VORONOI package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info. LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
It also requires you have a copy of the Voro++ library built and It also requires you have a copy of the Voro++ library built and
installed on your system. See instructions on obtaining and installed on your system. See instructions on obtaining and
@ -241,5 +232,4 @@ Related commands
Default Default
""""""" """""""
*neighbors* no, *peratom* yes The default for the neighbors keyword is no.

View File

@ -613,7 +613,7 @@ when running on large numbers of processors.
Note that using the "\*" and "%" characters together can produce a Note that using the "\*" and "%" characters together can produce a
large number of small dump files! large number of small dump files!
.. deprecated:: TBD .. deprecated:: 21Nov2023
The MPIIO package and the the corresponding "/mpiio" dump styles, except The MPIIO package and the the corresponding "/mpiio" dump styles, except
for the unrelated "netcdf/mpiio" style were removed from LAMMPS. for the unrelated "netcdf/mpiio" style were removed from LAMMPS.
@ -805,16 +805,16 @@ computes, fixes, or variables when they are evaluated, so this is a very
general means of creating quantities to output to a dump file. general means of creating quantities to output to a dump file.
The *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to The *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to
per-atom integer and floating-point vectors or arrays that have been custom per-atom integer and floating-point vectors or arrays that have
added via the :doc:`fix property/atom <fix_property_atom>` command. been added via the :doc:`fix property/atom <fix_property_atom>`
When that command is used specific names are given to each attribute command. When that command is used specific names are given to each
which are the "name" portion of these keywords. For arrays *i2_name* attribute which are the "name" portion of these keywords. For arrays
and *d2_name*, the column of the array must also be included following *i2_name* and *d2_name*, the column of the array must also be included
the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where :math:`i` is following the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where
in the range from 1 to :math:`M`, where :math:`M` is the number of :math:`i` is in the range from 1 to :math:`M`, where :math:`M` is the
columns in the custom array). See the discussion above for how :math:`i` number of columns in the custom array). See the discussion above for
can be specified with a wildcard asterisk to effectively specify how :math:`i` can be specified with a wildcard asterisk to effectively
multiple values. specify multiple values.
See the :doc:`Modify <Modify>` page for information on how to add See the :doc:`Modify <Modify>` page for information on how to add
new compute and fix styles to LAMMPS to calculate per-atom quantities new compute and fix styles to LAMMPS to calculate per-atom quantities

View File

@ -599,7 +599,7 @@ image will appear. The *sfactor* value must be a value 0.0 <=
*sfactor* <= 1.0, where *sfactor* = 1 is a highly reflective surface *sfactor* <= 1.0, where *sfactor* = 1 is a highly reflective surface
and *sfactor* = 0 is a rough non-shiny surface. and *sfactor* = 0 is a rough non-shiny surface.
.. versionadded:: TBD .. versionadded:: 21Nov2023
The *fsaa* keyword can be used with the dump image command to improve The *fsaa* keyword can be used with the dump image command to improve
the image quality by enabling full scene anti-aliasing. Internally the the image quality by enabling full scene anti-aliasing. Internally the

View File

@ -77,35 +77,44 @@ for individual fixes for info on which ones can be restarted.
---------- ----------
Some fixes calculate one or more of four styles of quantities: global, Some fixes calculate and store any of four *styles* of quantities:
per-atom, local, or per-grid, which can be used by other commands or global, per-atom, local, or per-grid.
output as described below. A global quantity is one or more
system-wide values, e.g. the energy of a wall interacting with
particles. A per-atom quantity is one or more values per atom,
e.g. the displacement vector for each atom since time 0. Per-atom
values are set to 0.0 for atoms not in the specified fix group. Local
quantities are calculated by each processor based on the atoms it
owns, but there may be zero or more per atoms. Per-grid quantities
are calculated on a regular 2d or 3d grid which overlays a 2d or 3d
simulation domain. The grid points and the data they store are
distributed across processors; each processor owns the grid points
which fall within its subdomain.
Note that a single fix typically produces either global or per-atom or A global quantity is one or more system-wide values, e.g. the energy
local or per-grid values (or none at all). It does not produce both of a wall interacting with particles. A per-atom quantity is one or
global and per-atom. It can produce local or per-grid values in more values per atom, e.g. the original coordinates of each atom at
tandem with global or per-atom values. The fix doc page will explain time 0. Per-atom values are set to 0.0 for atoms not in the specified
the details. fix group. Local quantities are calculated by each processor based on
the atoms it owns, but there may be zero or more per atom, e.g. values
for each bond. Per-grid quantities are calculated on a regular 2d or
3d grid which overlays a 2d or 3d simulation domain. The grid points
and the data they store are distributed across processors; each
processor owns the grid points which fall within its subdomain.
Global, per-atom, local, and per-grid quantities come in three kinds: As a general rule of thumb, fixes that produce per-atom quantities
a single scalar value, a vector of values, or a 2d array of values. have the word "atom" at the end of their style, e.g. *ave/atom*\ .
The doc page for each fix describes the style and kind of values it Fixes that produce local quantities have the word "local" at the end
produces, e.g. a per-atom vector. Some fixes produce more than one of their style, e.g. *store/local*\ . Fixes that produce per-grid
kind of a single style, e.g. a global scalar and a global vector. quantities have the word "grid" at the end of their style,
e.g. *ave/grid*\ .
When a fix quantity is accessed, as in many of the output commands Global, per-atom, local, and per-grid quantities can also be of three
discussed below, it can be referenced via the following bracket *kinds*: a single scalar value (global only), a vector of values, or a
notation, where ID is the ID of the fix: 2d array of values. For per-atom, local, and per-grid quantities, a
"vector" means a single value for each atom, each local entity
(e.g. bond), or grid cell. Likewise an "array", means multiple values
for each atom, each local entity, or each grid cell.
Note that a single fix can produce any combination of global,
per-atom, local, or per-grid values. Likewise it can produce any
combination of scalar, vector, or array output for each style. The
exception is that for per-atom, local, and per-grid output, either a
vector or array can be produced, but not both. The doc page for each
fix explains the values it produces, if any.
When a fix output is accessed by another input script command it is
referenced via the following bracket notation, where ID is the ID of
the fix:
+-------------+--------------------------------------------+ +-------------+--------------------------------------------+
| f_ID | entire scalar, vector, or array | | f_ID | entire scalar, vector, or array |
@ -116,19 +125,23 @@ notation, where ID is the ID of the fix:
+-------------+--------------------------------------------+ +-------------+--------------------------------------------+
In other words, using one bracket reduces the dimension of the In other words, using one bracket reduces the dimension of the
quantity once (vector :math:`\to` scalar, array :math:`\to` vector). Using two quantity once (vector :math:`\to` scalar, array :math:`\to` vector).
brackets reduces the dimension twice (array :math:`\to` scalar). Thus, a Using two brackets reduces the dimension twice (array :math:`\to`
command that uses scalar fix values as input can also process elements of a scalar). Thus, for example, a command that uses global scalar fix
vector or array. values as input can also process elements of a vector or array.
Depending on the command, this can either be done directly using the
syntax in the table, or by first defining a :doc:`variable <variable>`
of the appropriate style to store the quantity, then using the
variable as an input to the command.
Note that commands and :doc:`variables <variable>` that use fix Note that commands and :doc:`variables <variable>` which take fix
quantities typically do not allow for all kinds (e.g., a command may outputs as input typically do not allow for all styles and kinds of
require a vector of values, not a scalar), and even if they do, the context data (e.g., a command may require global but not per-atom values, or
in which they are called can be used to resolve which output is being it may require a vector of values, not a scalar). This means there is
requested. This means there is no typically no ambiguity about referring to a fix output as c_ID even if
ambiguity about referring to a fix quantity as f_ID even if it it produces, for example, both a scalar and vector. The doc pages for
produces, for example, both a scalar and vector. The doc pages for various commands explain the details, including how any ambiguities
various commands explain the details. are resolved.
---------- ----------
@ -333,6 +346,7 @@ accelerated styles exist.
* :doc:`pour <fix_pour>` - pour new atoms/molecules into a granular simulation domain * :doc:`pour <fix_pour>` - pour new atoms/molecules into a granular simulation domain
* :doc:`precession/spin <fix_precession_spin>` - apply a precession torque to each magnetic spin * :doc:`precession/spin <fix_precession_spin>` - apply a precession torque to each magnetic spin
* :doc:`press/berendsen <fix_press_berendsen>` - pressure control by Berendsen barostat * :doc:`press/berendsen <fix_press_berendsen>` - pressure control by Berendsen barostat
* :doc:`press/langevin <fix_press_langevin>` - pressure control by Langevin barostat
* :doc:`print <fix_print>` - print text and variables during a simulation * :doc:`print <fix_print>` - print text and variables during a simulation
* :doc:`propel/self <fix_propel_self>` - model self-propelled particles * :doc:`propel/self <fix_propel_self>` - model self-propelled particles
* :doc:`property/atom <fix_property_atom>` - add customized per-atom values * :doc:`property/atom <fix_property_atom>` - add customized per-atom values

View File

@ -307,7 +307,9 @@ the :doc:`run <run>` command. This fix is not invoked during
Restrictions Restrictions
"""""""""""" """"""""""""
none
The keyword "scale yes" is not supported for scaling per-atom parameters
diameter and change. You can use :doc:`fix adapt <fix_adapt>` for those.
Related commands Related commands
"""""""""""""""" """"""""""""""""

View File

@ -181,6 +181,12 @@ This fix is part of the MC package. It is only enabled if LAMMPS was
built with that package. See the :doc:`Build package <Build_package>` built with that package. See the :doc:`Build package <Build_package>`
doc page for more info. doc page for more info.
This fix cannot be used with systems that do not have per-type masses
(e.g. atom style sphere) since the implemented algorithm pre-computes
velocity rescaling factors from per-type masses and ignores any per-atom
masses, if present. In case both, per-type and per-atom masses are
present, a warning is printed.
Related commands Related commands
"""""""""""""""" """"""""""""""""

View File

@ -541,10 +541,10 @@ Restrictions
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`compute <compute>`, :doc:`fix ave/atom <fix_ave_atom>`, `fix :doc:`compute <compute>`, :doc:`fix ave/atom <fix_ave_atom>`,
:doc:ave/histo <fix_ave_histo>`, :doc:`fix ave/time <fix_ave_time>`, :doc:`fix ave/histo <fix_ave_histo>`, :doc:`fix ave/time <fix_ave_time>`,
:doc:`variable <variable>`, :doc:`fix ave/correlate :doc:`variable <variable>`, :doc:`fix ave/correlate <fix_ave_correlate>`,
:doc:<fix_ave_correlate>`, `fix ave/atogrid <fix_ave_grid>` :doc:`fix ave/grid <fix_ave_grid>`
Default Default

View File

@ -79,9 +79,10 @@ Description
Use one or more values as inputs every few timesteps to create a Use one or more values as inputs every few timesteps to create a
single histogram. The histogram can then be averaged over longer single histogram. The histogram can then be averaged over longer
timescales. The resulting histogram can be used by other :doc:`output commands <Howto_output>`, and can also be written to a file. The timescales. The resulting histogram can be used by other :doc:`output
fix ave/histo/weight command has identical syntax to fix ave/histo, commands <Howto_output>`, and can also be written to a file. The fix
except that exactly two values must be specified. See details below. ave/histo/weight command has identical syntax to fix ave/histo, except
that exactly two values must be specified. See details below.
The group specified with this command is ignored for global and local The group specified with this command is ignored for global and local
input values. For per-atom input values, only atoms in the group input values. For per-atom input values, only atoms in the group
@ -96,14 +97,18 @@ different ways; see the discussion of the *beyond* keyword below.
Each input value can be an atom attribute (position, velocity, force Each input value can be an atom attribute (position, velocity, force
component) or can be the result of a :doc:`compute <compute>` or component) or can be the result of a :doc:`compute <compute>` or
:doc:`fix <fix>` or the evaluation of an equal-style or vector-style or :doc:`fix <fix>` or the evaluation of an equal-style or vector-style
atom-style :doc:`variable <variable>`. The set of input values can be or atom-style :doc:`variable <variable>`. The set of input values can
either all global, all per-atom, or all local quantities. Inputs of be either all global, all per-atom, or all local quantities. Inputs
different kinds (e.g. global and per-atom) cannot be mixed. Atom of different kinds (e.g. global and per-atom) cannot be mixed. Atom
attributes are per-atom vector values. See the page for attributes are per-atom vector values. See the page for individual
individual "compute" and "fix" commands to see what kinds of "compute" and "fix" commands to see what kinds of quantities they
quantities they generate. See the optional *kind* keyword below for generate.
how to force the fix ave/histo command to disambiguate if necessary.
Note that a compute or fix can produce multiple kinds of data (global,
per-atom, local). If LAMMPS cannot unambiguously determine which kind
of data to use, the optional *kind* keyword discussed below can force
the desired disambiguation.
Note that the output of this command is a single histogram for all Note that the output of this command is a single histogram for all
input values combined together, not one histogram per input value. input values combined together, not one histogram per input value.
@ -258,13 +263,14 @@ keyword is set to *vector*, then all input values must be global or
per-atom or local vectors, or columns of global or per-atom or local per-atom or local vectors, or columns of global or per-atom or local
arrays. arrays.
The *kind* keyword only needs to be set if a compute or fix produces The *kind* keyword only needs to be used if any of the specified input
more than one kind of output (global, per-atom, local). If this is computes or fixes produce more than one kind of output (global,
not the case, then LAMMPS will determine what kind of input is per-atom, local). If not, LAMMPS will determine the kind of data all
provided and whether all the input arguments are consistent. If a the inputs produce and verify it is all the same kind. If not, an
compute or fix produces more than one kind of output, the *kind* error will be triggered. If a compute or fix produces more than one
keyword should be used to specify which output will be used. The kind of output, the *kind* keyword should be used to specify which
remaining input arguments must still be consistent. output will be used. The other input arguments must still be
consistent.
The *beyond* keyword determines how input values that fall outside the The *beyond* keyword determines how input values that fall outside the
*lo* to *hi* bounds are treated. Values such that *lo* :math:`\le` value *lo* to *hi* bounds are treated. Values such that *lo* :math:`\le` value

View File

@ -17,12 +17,16 @@ Syntax
* M = insert a single atom or molecule every M steps * M = insert a single atom or molecule every M steps
* seed = random # seed (positive integer) * seed = random # seed (positive integer)
* one or more keyword/value pairs may be appended to args * one or more keyword/value pairs may be appended to args
* keyword = *region* or *id* or *global* or *local* or *near* or *gaussian* or *attempt* or *rate* or *vx* or *vy* or *vz* or *target* or *mol* or *molfrac* or *rigid* or *shake* or *orient* or *units* * keyword = *region* or *var* or *set* or *id* or *global* or *local* or *near* or *gaussian* or *attempt* or *rate* or *vx* or *vy* or *vz* or *target* or *mol* or *molfrac* or *rigid* or *shake* or *orient* or *units*
.. parsed-literal:: .. parsed-literal::
*region* value = region-ID *region* value = region-ID
region-ID = ID of region to use as insertion volume region-ID = ID of region to use as insertion volume
*var* value = name = variable name to evaluate for test of atom creation
*set* values = dim name
dim = *x* or *y* or *z*
name = name of variable to set with x, y, or z atom position
*id* value = *max* or *next* *id* value = *max* or *next*
max = atom ID for new atom(s) is max ID of all current atoms plus one max = atom ID for new atom(s) is max ID of all current atoms plus one
next = atom ID for new atom(s) increments by one for every deposition next = atom ID for new atom(s) increments by one for every deposition
@ -193,17 +197,19 @@ simulation that is "nearby" the chosen x,y position. In this context,
particles is less than the *delta* setting. particles is less than the *delta* setting.
Once a trial x,y,z position has been selected, the insertion is only Once a trial x,y,z position has been selected, the insertion is only
performed if no current atom in the simulation is within a distance R performed if both the *near* and *var* keywords are satisfied (see below).
of any atom in the new particle, including the effect of periodic If either the *near* or the *var* keyword is not satisfied, a new random
boundary conditions if applicable. R is defined by the *near* position within the insertion volume is chosen and another trial is made.
keyword. Note that the default value for R is 0.0, which will allow Up to Q attempts are made. If one or more particle insertions are not
atoms to strongly overlap if you are inserting where other atoms are successful, LAMMPS prints a warning message.
present. This distance test is performed independently for each atom
in an inserted molecule, based on the randomly rotated configuration The *near* keyword ensures that no current atom in the simulation is within
of the molecule. If this test fails, a new random position within the a distance R of any atom in the new particle, including the effect of
insertion volume is chosen and another trial is made. Up to Q periodic boundary conditions if applicable. Note that the default value
attempts are made. If the particle is not successfully inserted, for R is 0.0, which will allow atoms to strongly overlap if you are
LAMMPS prints a warning message. inserting where other atoms are present. This distance test is performed
independently for each atom in an inserted molecule, based on the randomly
rotated configuration of the molecule.
.. note:: .. note::
@ -214,6 +220,26 @@ LAMMPS prints a warning message.
existing particle. LAMMPS will issue a warning if R is smaller than existing particle. LAMMPS will issue a warning if R is smaller than
this value, based on the radii of existing and inserted particles. this value, based on the radii of existing and inserted particles.
.. versionadded:: 21Nov2023
The *var* and *set* keywords can be used together to provide a criterion
for accepting or rejecting the addition of an individual atom, based on its
coordinates. The *name* specified for the *var* keyword is the name of an
:doc:`equal-style variable <variable>` that should evaluate to a zero or
non-zero value based on one or two or three variables that will store the
*x*, *y*, or *z* coordinates of an atom (one variable per coordinate). If
used, these other variables must be :doc:`internal-style variables
<variable>` defined in the input script; their initial numeric value can be
anything. They must be internal-style variables, because this command
resets their values directly. The *set* keyword is used to identify the
names of these other variables, one variable for the *x*-coordinate of a
created atom, one for *y*, and one for *z*. When an atom is created, its
:math:`(x,y,z)` coordinates become the values for any *set* variable that
is defined. The *var* variable is then evaluated. If the returned value
is 0.0, the atom is not created. If it is non-zero, the atom is created.
For an example of how to use these keywords, see the
:doc:`create_atoms <create_atoms>` command.
The *rate* option moves the insertion volume in the z direction (3d) The *rate* option moves the insertion volume in the z direction (3d)
or y direction (2d). This enables particles to be inserted from a or y direction (2d). This enables particles to be inserted from a
successively higher height over time. Note that this parameter is successively higher height over time. Note that this parameter is
@ -289,10 +315,11 @@ operation of the fix continues in an uninterrupted fashion.
The fix will try to detect it and stop with an error. The fix will try to detect it and stop with an error.
None of the :doc:`fix_modify <fix_modify>` options are relevant to this None of the :doc:`fix_modify <fix_modify>` options are relevant to this
fix. No global or per-atom quantities are stored by this fix for fix. This fix computes a global scalar, which can be accessed by various
access by various :doc:`output commands <Howto_output>`. No parameter output commands. The scalar is the cumulative number of insertions. The
of this fix can be used with the *start/stop* keywords of the scalar value calculated by this fix is "intensive". No parameter of this
:doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. fix can be used with the *start/stop* keywords of the :doc:`run <run>`
command. This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions Restrictions
"""""""""""" """"""""""""

View File

@ -1,4 +1,5 @@
.. index:: fix efield .. index:: fix efield
.. index:: fix efield/kk
.. index:: fix efield/tip4p .. index:: fix efield/tip4p
fix efield command fix efield command
@ -210,6 +211,12 @@ the iteration count during the minimization.
system (the quantity being minimized), you MUST enable the system (the quantity being minimized), you MUST enable the
:doc:`fix_modify <fix_modify>` *energy* option for this fix. :doc:`fix_modify <fix_modify>` *energy* option for this fix.
----------
.. include:: accel_styles.rst
----------
Restrictions Restrictions
"""""""""""" """"""""""""

View File

@ -31,7 +31,7 @@ Syntax
.. parsed-literal:: .. parsed-literal::
*keywords* = *method* or *integrator* or *ensemble* or *fmmode* or *fmass* or *scale* or *temp* or *thermostat* or *tau* or *iso* or *aniso* or *barostat* or *taup* or *fixcom* or *lj* *keywords* = *method* or *integrator* or *ensemble* or *fmmode* or *fmass* or *scale* or *temp* or *thermostat* or *tau* or *iso* or *aniso* or *barostat* or *taup* or *fixcom* or *lj*
*method* value = *nmpimd* *method* value = *nmpimd* (default) or *pimd*
*integrator* value = *obabo* or *baoab* *integrator* value = *obabo* or *baoab*
*fmmode* value = *physical* or *normal* *fmmode* value = *physical* or *normal*
*fmass* value = scaling factor on mass *fmass* value = scaling factor on mass
@ -137,8 +137,6 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics
the real particle. the real particle.
.. note:: .. note::
Fix pimd/langevin only supports *method* value *nmpimd*. This should be enough
for most PIMD applications for quantum thermodynamics purpose.
Motion of the centroid can be effectively uncoupled from the other Motion of the centroid can be effectively uncoupled from the other
normal modes by scaling the fictitious masses to achieve a partial normal modes by scaling the fictitious masses to achieve a partial
@ -151,6 +149,16 @@ normal-mode PIMD. A value of *cmd* is for centroid molecular dynamics
only the k > 0 modes are thermostatted, not the centroid degrees of only the k > 0 modes are thermostatted, not the centroid degrees of
freedom. freedom.
.. versionadded:: 21Nov2023
Mode *pimd* added to fix pimd/langevin.
Fix pimd/langevin supports the *method* values *nmpimd* and *pimd*. The default value is *nmpimd*.
If *method* is *nmpimd*, the normal mode representation is used to integrate the equations of motion.
The exact solution of harmonic oscillator is used to propagate the free ring polymer part of the Hamiltonian.
If *method* is *pimd*, the Cartesian representation is used to integrate the equations of motion.
The harmonic force is added to the total force of the system, and the numerical integrator is used to propagate the Hamiltonian.
The keyword *integrator* specifies the Trotter splitting method used by *fix pimd/langevin*. The keyword *integrator* specifies the Trotter splitting method used by *fix pimd/langevin*.
See :ref:`(Liu) <Liu>` for a discussion on the OBABO and BAOAB splitting schemes. Typically See :ref:`(Liu) <Liu>` for a discussion on the OBABO and BAOAB splitting schemes. Typically
either of the two should work fine. either of the two should work fine.
@ -207,6 +215,7 @@ The keyword *thermostat* reads *style* and *seed* of thermostat for fix style *p
be *PILE_L* (path integral Langevin equation local thermostat, as described in :ref:`Ceriotti <Ceriotti2>`), and *seed* should a positive integer number, which serves as the seed of the pseudo random number generator. be *PILE_L* (path integral Langevin equation local thermostat, as described in :ref:`Ceriotti <Ceriotti2>`), and *seed* should a positive integer number, which serves as the seed of the pseudo random number generator.
.. note:: .. note::
The fix style *pimd/langevin* uses the stochastic PILE_L thermostat to control temperature. This thermostat works on the normal modes The fix style *pimd/langevin* uses the stochastic PILE_L thermostat to control temperature. This thermostat works on the normal modes
of the ring polymer. The *tau* parameter controls the centroid mode, and the *scale* parameter controls the non-centroid modes. of the ring polymer. The *tau* parameter controls the centroid mode, and the *scale* parameter controls the non-centroid modes.
@ -269,6 +278,7 @@ related tasks for each of the partitions, e.g.
read_restart system_${ibead}.restart2 read_restart system_${ibead}.restart2
.. note:: .. note::
Fix *pimd/langevin* dumps the Cartesian coordinates, but dumps the velocities and Fix *pimd/langevin* dumps the Cartesian coordinates, but dumps the velocities and
forces in the normal mode representation. If the Cartesian velocities and forces are forces in the normal mode representation. If the Cartesian velocities and forces are
needed, it is easy to perform the transformation when doing post-processing. needed, it is easy to perform the transformation when doing post-processing.

View File

@ -245,8 +245,9 @@ produce the same behavior if you adjust the fix pour parameters
appropriately. appropriately.
None of the :doc:`fix_modify <fix_modify>` options are relevant to this None of the :doc:`fix_modify <fix_modify>` options are relevant to this
fix. No global or per-atom quantities are stored by this fix for fix. This fix computes a global scalar, which can be accessed by various
access by various :doc:`output commands <Howto_output>`. No parameter output commands. The scalar is the cumulative number of insertions. The
scalar value calculated by this fix is "intensive". No parameter
of this fix can be used with the *start/stop* keywords of the of this fix can be used with the *start/stop* keywords of the
:doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.

View File

@ -0,0 +1,301 @@
.. index:: fix press/langevin
fix press/langevin command
===========================
Syntax
""""""
.. parsed-literal::
fix ID group-ID press/langevin keyword value ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* press/langevin = style name of this fix command
.. parsed-literal::
one or more keyword value pairs may be appended
keyword = *iso* or *aniso* or *tri* or *x* or *y* or *z* or *xy* or *xz* or *yz* or *couple* or *dilate* or *modulus* or *temp* or *flip*
*iso* or *aniso* or *tri* values = Pstart Pstop Pdamp
Pstart,Pstop = scalar external pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
*x* or *y* or *z* or *xy* or *xz* or *yz* values = Pstart Pstop Pdamp
Pstart,Pstop = external stress tensor component at start/end of run (pressure units)
Pdamp = pressure damping parameter
*flip* value = *yes* or *no* = allow or disallow box flips when it becomes highly skewed
*couple* = *none* or *xyz* or *xy* or *yz* or *xz*
*friction* value = Friction coefficient for the barostat (time units)
*temp* values = Tstart, Tstop, seed
Tstart, Tstop = target temperature used for the barostat at start/end of run
seed = seed of the random number generator
*dilate* value = *all* or *partial*
Examples
""""""""
.. code-block:: LAMMPS
fix 1 all press/langevin iso 0.0 0.0 1000.0 temp 300 300 487374
fix 2 all press/langevin aniso 0.0 0.0 1000.0 temp 100 300 238 dilate partial
Description
"""""""""""
Adjust the pressure of the system by using a Langevin stochastic barostat
:ref:`(Gronbech) <Gronbech>`, which rescales the system volume and
(optionally) the atoms coordinates within the simulation box every
timestep.
The Langevin barostat couple each direction *L* with a pseudo-particle that obeys
the Langevin equation such as:
.. math::
f_P = & \frac{N k_B T_{target}}{V} + \frac{1}{V d}\sum_{i=1}^{N} \vec r_i \cdot \vec f_i - P_{target} \\
Q\ddot{L} + \alpha{}\dot{L} = & f_P + \beta(t)\\
L^{n+1} = & L^{n} + bdt\dot{L}^{n} \frac{bdt^{2}}{2Q} \\
\dot{L}^{n+1} = & \alpha\dot{L}^{n} + \frac{dt}{2Q}\left(a f^{n}_{P} + f^{n+1}_{P}\right) + \frac{b}{Q}\beta^{n+1} \\
a = & \frac{1-\frac{\alpha{}dt}{2Q}}{1+\frac{\alpha{}dt}{2Q}} \\
b = & \frac{1}{1+\frac{\alpha{}dt}{2Q}} \\
\left< \beta(t)\beta(t') \right> = & 2\alpha k_B Tdt
Where :math:`dt` is the timestep :math:`\dot{L}` and :math:`\ddot{L}` the first
and second derivatives of the coupled direction with regard to time,
:math:`\alpha` is a friction coefficient, :math:`\beta` is a random gaussian
variable and :math:`Q` the effective mass of the coupled pseudoparticle. The
two first terms on the right-hand side of the first equation are the virial
expression of the canonical pressure. It is to be noted that the temperature
used to compute the pressure is not based on the atom velocities but rather on
the canonical
target temperature directly. This temperature is specified using the *temp*
keyword parameter and should be close to the expected target temperature of the
system.
Regardless of what atoms are in the fix group, a global pressure is
computed for all atoms. Similarly, when the size of the simulation
box is changed, all atoms are re-scaled to new positions, unless the
keyword *dilate* is specified with a value of *partial*, in which case
only the atoms in the fix group are re-scaled. The latter can be
useful for leaving the coordinates of atoms in a solid substrate
unchanged and controlling the pressure of a surrounding fluid.
.. note::
Unlike the :doc:`fix npt <fix_nh>` or :doc:`fix nph <fix_nh>` commands which
perform Nose-Hoover barostatting AND time integration, this fix does NOT
perform time integration of the atoms but only of the barostat coupled
coordinate. It then only modifies the box size and atom coordinates to
effect barostatting. Thus you must use a separate time integration fix,
like :doc:`fix nve <fix_nve>` or :doc:`fix nvt <fix_nh>` to actually update
the positions and velocities of atoms. This fix can be used in conjunction
with thermostatting fixes to control the temperature, such as :doc:`fix nvt
<fix_nh>` or :doc:`fix langevin <fix_langevin>` or :doc:`fix temp/berendsen
<fix_temp_berendsen>`.
See the :doc:`Howto barostat <Howto_barostat>` page for a
discussion of different ways to perform barostatting.
----------
The barostat is specified using one or more of the *iso*, *aniso*, *tri* *x*,
*y*, *z*, *xy*, *xz*, *yz*, and *couple* keywords. These keywords give you the
ability to specify the 3 diagonal components of an external stress tensor, and
to couple various of these components together so that the dimensions they
represent are varied together during a constant-pressure simulation.
The target pressures for each of the 6 diagonal components of the stress tensor
can be specified independently via the *x*, *y*, *z*, keywords, which
correspond to the 3 simulation box dimensions, and the *xy*, *xz* and *yz*
keywords which corresponds to the 3 simulation box tilt factors. For each
component, the external pressure or tensor component at each timestep is a
ramped value during the run from *Pstart* to *Pstop*\ . If a target pressure is
specified for a component, then the corresponding box dimension will change
during a simulation. For example, if the *y* keyword is used, the y-box length
will change. A box dimension will not change if that component is not
specified, although you have the option to change that dimension via the
:doc:`fix deform <fix_deform>` command.
The *Pdamp* parameter can be seen in the same way as a Nose-Hoover parameter as
it is used to compute the mass of the fictitious particle. Without friction,
the barostat can be compared to a single particle Nose-Hoover barostat and
should follow a similar decay in time. The mass of the barostat is
linked to *Pdamp* by the relation
:math:`Q=(N_{at}+1)\cdot{}k_BT_{target}\cdot{}P_{damp}^2`. Note that *Pdamp*
should be expressed in time units.
.. note::
As for Berendsen barostat, a Langevin barostat will not work well for
arbitrary values of *Pdamp*\ . If *Pdamp* is too small, the pressure and
volume can fluctuate wildly; if it is too large, the pressure will take a
very long time to equilibrate. A good choice for many models is a *Pdamp*
of around 1000 timesteps. However, note that *Pdamp* is specified in time
units, and that timesteps are NOT the same as time units for most
:doc:`units <units>` settings.
----------
The *temp* keyword sets the temperature to use in the equation of motion of the
barostat. This value is used to compute the value of the force :math:`f_P` in
the equation of motion. It is important to note that this value is not the
instantaneous temperature but a target temperature that ramps from *Tstart* to
*Tstop*. Also the required argument *seed* sets the seed for the random
number generator used in the generation of the random forces.
----------
The *couple* keyword allows two or three of the diagonal components of
the pressure tensor to be "coupled" together. The value specified
with the keyword determines which are coupled. For example, *xz*
means the *Pxx* and *Pzz* components of the stress tensor are coupled.
*Xyz* means all 3 diagonal components are coupled. Coupling means two
things: the instantaneous stress will be computed as an average of the
corresponding diagonal components, and the coupled box dimensions will
be changed together in lockstep, meaning coupled dimensions will be
dilated or contracted by the same percentage every timestep. The
*Pstart*, *Pstop*, *Pdamp* parameters for any coupled dimensions must
be identical. *Couple xyz* can be used for a 2d simulation; the *z*
dimension is simply ignored.
----------
The *iso*, *aniso* and *tri* keywords are simply shortcuts that are
equivalent to specifying several other keywords together.
The keyword *iso* means couple all 3 diagonal components together when
pressure is computed (hydrostatic pressure), and dilate/contract the
dimensions together. Using "iso Pstart Pstop Pdamp" is the same as
specifying these 4 keywords:
.. parsed-literal::
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple xyz
The keyword *aniso* means *x*, *y*, and *z* dimensions are controlled
independently using the *Pxx*, *Pyy*, and *Pzz* components of the
stress tensor as the driving forces, and the specified scalar external
pressure. Using "aniso Pstart Pstop Pdamp" is the same as specifying
these 4 keywords:
.. parsed-literal::
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
couple none
The keyword *tri* is the same as *aniso* but also adds the control on the
shear pressure coupled with the tilt factors.
.. parsed-literal::
x Pstart Pstop Pdamp
y Pstart Pstop Pdamp
z Pstart Pstop Pdamp
xy Pstart Pstop Pdamp
xz Pstart Pstop Pdamp
yz Pstart Pstop Pdamp
couple none
----------
The *flip* keyword allows the tilt factors for a triclinic box to
exceed half the distance of the parallel box length, as discussed
below. If the *flip* value is set to *yes*, the bound is enforced by
flipping the box when it is exceeded. If the *flip* value is set to
*no*, the tilt will continue to change without flipping. Note that if
applied stress induces large deformations (e.g. in a liquid), this
means the box shape can tilt dramatically and LAMMPS will run less
efficiently, due to the large volume of communication needed to
acquire ghost atoms around a processor's irregular-shaped subdomain.
For extreme values of tilt, LAMMPS may also lose atoms and generate an
error.
----------
The *friction* keyword sets the friction parameter :math:`\alpha` in the
equations of motion of the barostat. For each barostat direction, the value of
:math:`\alpha` depends on both *Pdamp* and *friction*. The value given as a
parameter is the Langevin characteristic time
:math:`\tau_{L}=\frac{Q}{\alpha}` in time units. The langevin time can be understood as a
decorrelation time for the pressure. A long Langevin time value will make the
barostat act as an underdamped oscillator while a short value will make it
act as an overdamped oscillator. The ideal configuration would be to find
the critical parameter of the barostat. Empirically this is observed to
occur for :math:`\tau_{L}\approx{}P_{damp}`. For this reason, if the *friction*
keyword is not used, the default value *Pdamp* is used for each barostat direction.
----------
This fix computes pressure each timestep. To do
this, the fix creates its own computes of style "pressure",
as if this command had been issued:
.. code-block:: LAMMPS
compute fix-ID_press group-ID pressure NULL virial
The kinetic contribution to the pressure is taken as the ensemble value
:math:`\frac{Nk_bT}{V}` and computed by the fix itself.
See the :doc:`compute pressure <compute_pressure>` command for details. Note
that the IDs of the new compute is the fix-ID + underscore + "press" and the
group for the new computes is the same as the fix group.
Note that this is NOT the compute used by thermodynamic output (see the
:doc:`thermo_style <thermo_style>` command) with ID = *thermo_press*. This
means you can change the attributes of this fix's pressure via the
:doc:`compute_modify <compute_modify>` command or print this temperature or
pressure during thermodynamic output via the :doc:`thermo_style custom
<thermo_style>` command using the appropriate compute-ID. It also means that
changing attributes of *thermo_temp* or *thermo_press* will have no effect on
this fix.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
The :doc:`fix_modify <fix_modify>` *press* option is
supported by this fix. You can use it to assign a
:doc:`compute <compute>` you have defined to this fix which will be used
in its pressure calculations.
No global or per-atom quantities are stored by this fix for access by
various :doc:`output commands <Howto_output>`.
This fix can ramp its target pressure and temperature over multiple runs, using
the *start* and *stop* keywords of the :doc:`run <run>` command. See the
:doc:`run <run>` command for details of how to do this. It is recommended that
the ramped temperature is the same as the effective temperature of the
thermostatted system. That is, if the system's temperature is ramped by other
commands, it is recommended to do the same with this pressure control.
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""
Any dimension being adjusted by this fix must be periodic.
Related commands
""""""""""""""""
:doc:`fix press/berendsen <fix_press_berendsen>`,
:doc:`fix nve <fix_nve>`, :doc:`fix nph <fix_nh>`, :doc:`fix npt <fix_nh>`, :doc:`fix langevin <fix_langevin>`,
:doc:`fix_modify <fix_modify>`
Default
"""""""
The keyword defaults are *dilate* = all, *flip* = yes, and *friction* = *Pdamp*.
----------
.. _Gronbech:
**(Gronbech)** Gronbech-Jensen, Farago, J Chem Phys, 141, 194108 (2014).

View File

@ -843,7 +843,7 @@ stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial yes <fix_modify>`. setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
All of the *rigid* styles (not the *rigid/small* styles) compute a All of the *rigid* styles (but not the *rigid/small* styles) compute a
global array of values which can be accessed by various :doc:`output global array of values which can be accessed by various :doc:`output
commands <Howto_output>`. Similar information about the bodies commands <Howto_output>`. Similar information about the bodies
defined by the *rigid/small* styles can be accessed via the defined by the *rigid/small* styles can be accessed via the
@ -887,7 +887,8 @@ Restrictions
"""""""""""" """"""""""""
These fixes are all part of the RIGID package. It is only enabled if These fixes are all part of the RIGID package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info. LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` page for more info.
Assigning a temperature via the :doc:`velocity create <velocity>` Assigning a temperature via the :doc:`velocity create <velocity>`
command to a system with :doc:`rigid bodies <fix_rigid>` may not have command to a system with :doc:`rigid bodies <fix_rigid>` may not have

View File

@ -1,4 +1,5 @@
.. index:: fix spring/self .. index:: fix spring/self
.. index:: fix spring/self/kk
fix spring/self command fix spring/self command
======================= =======================
@ -80,6 +81,12 @@ invoked by the :doc:`minimize <minimize>` command.
you MUST enable the :doc:`fix_modify <fix_modify>` *energy* option for you MUST enable the :doc:`fix_modify <fix_modify>` *energy* option for
this fix. this fix.
----------
.. include:: accel_styles.rst
----------
Restrictions Restrictions
"""""""""""" """"""""""""
none none

View File

@ -61,24 +61,30 @@ Description
Treat a group of particles as stochastic rotation dynamics (SRD) Treat a group of particles as stochastic rotation dynamics (SRD)
particles that serve as a background solvent when interacting with big particles that serve as a background solvent when interacting with big
(colloidal) particles in groupbig-ID. The SRD formalism is described (colloidal) particles in groupbig-ID. The SRD formalism is described
in :ref:`(Hecht) <Hecht>`. The key idea behind using SRD particles as a in :ref:`(Hecht) <Hecht>`. The same methodology is also called
cheap coarse-grained solvent is that SRD particles do not interact multi-particle collision dynamics (MPCD) in the literature.
with each other, but only with the solute particles, which in LAMMPS
can be spheroids, ellipsoids, or line segments, or triangles, or rigid
bodies containing multiple spheroids or ellipsoids or line segments
or triangles. The collision and rotation properties of the model
imbue the SRD particles with fluid-like properties, including an
effective viscosity. Thus simulations with large solute particles can
be run more quickly, to measure solute properties like diffusivity
and viscosity in a background fluid. The usual LAMMPS fixes for such
simulations, such as :doc:`fix deform <fix_deform>`, :doc:`fix viscosity <fix_viscosity>`, and :doc:`fix nvt/sllod <fix_nvt_sllod>`,
can be used in conjunction with the SRD model.
For more details on how the SRD model is implemented in LAMMPS, :ref:`this paper <Petersen1>` describes the implementation and usage of pure SRD The key idea behind using SRD particles as a cheap coarse-grained
fluids. :ref:`This paper <Lechman>`, which is nearly complete, describes solvent is that SRD particles do not interact with each other, but
the implementation and usage of mixture systems (solute particles in only with the solute particles, which in LAMMPS can be spheroids,
an SRD fluid). See the examples/srd directory for sample input ellipsoids, or line segments, or triangles, or rigid bodies containing
scripts using SRD particles in both settings. multiple spheroids or ellipsoids or line segments or triangles. The
collision and rotation properties of the model imbue the SRD particles
with fluid-like properties, including an effective viscosity. Thus
simulations with large solute particles can be run more quickly, to
measure solute properties like diffusivity and viscosity in a
background fluid. The usual LAMMPS fixes for such simulations, such
as :doc:`fix deform <fix_deform>`, :doc:`fix viscosity
<fix_viscosity>`, and :doc:`fix nvt/sllod <fix_nvt_sllod>`, can be
used in conjunction with the SRD model.
These 3 papers give more details on how the SRD model is implemented
in LAMMPS. :ref:`(Petersen) <Petersen1>` describes pure SRD fluid
systems. :ref:`(Bolintineanu1) <Bolintineanu1>` describes models
where pure SRD fluids interact with boundary walls.
:ref:`(Bolintineanu2) <Bolintineanu2>` describes mixture models where
large colloidal particles are solvated by an SRD fluid. See the
``examples/srd`` directory for sample input scripts.
This fix does two things: This fix does two things:
@ -357,28 +363,28 @@ These are the 12 quantities. All are values for the current timestep,
except for quantity 5 and the last three, each of which are except for quantity 5 and the last three, each of which are
cumulative quantities since the beginning of the run. cumulative quantities since the beginning of the run.
* (1) # of SRD/big collision checks performed (1) # of SRD/big collision checks performed
* (2) # of SRDs which had a collision (2) # of SRDs which had a collision
* (3) # of SRD/big collisions (including multiple bounces) (3) # of SRD/big collisions (including multiple bounces)
* (4) # of SRD particles inside a big particle (4) # of SRD particles inside a big particle
* (5) # of SRD particles whose velocity was rescaled to be < Vmax (5) # of SRD particles whose velocity was rescaled to be < Vmax
* (6) # of bins for collision searching (6) # of bins for collision searching
* (7) # of bins for SRD velocity rotation (7) # of bins for SRD velocity rotation
* (8) # of bins in which SRD temperature was computed (8) # of bins in which SRD temperature was computed
* (9) SRD temperature (9) SRD temperature
* (10) # of SRD particles which have undergone max # of bounces (10) # of SRD particles which have undergone max # of bounces
* (11) max # of bounces any SRD particle has had in a single step (11) max # of bounces any SRD particle has had in a single step
* (12) # of reneighborings due to SRD particles moving too far (12) # of reneighborings due to SRD particles moving too far
No parameter of this fix can be used with the *start/stop* keywords of No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`. the :doc:`run <run>` command. This fix is not invoked during
:doc:`energy minimization <minimize>`.
Restrictions Restrictions
"""""""""""" """"""""""""
This command can only be used if LAMMPS was built with the SRD This command can only be used if LAMMPS was built with the SRD package.
package. See the :doc:`Build package <Build_package>` doc See the :doc:`Build package <Build_package>` doc page for more info.
page for more info.
Related commands Related commands
"""""""""""""""" """"""""""""""""
@ -404,6 +410,12 @@ no, and rescale = yes.
**(Petersen)** Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J **(Petersen)** Petersen, Lechman, Plimpton, Grest, in' t Veld, Schunk, J
Chem Phys, 132, 174106 (2010). Chem Phys, 132, 174106 (2010).
.. _Lechman: .. _Bolintineanu1:
**(Lechman)** Lechman, et al, in preparation (2010). **(Bolintineanu1)**
Bolintineanu, Lechman, Plimpton, Grest, Phys Rev E, 86, 066703 (2012).
.. _Bolintineanu2:
**(Bolintineanu2)** Bolintineanu, Grest, Lechman, Pierce, Plimpton,
Schunk, Comp Particle Mechanics, 1, 321-356 (2014).

View File

@ -68,8 +68,8 @@ for more info.
Related commands Related commands
"""""""""""""""" """"""""""""""""
:doc:`improper_coeff <improper_coeff>`, `improper_harmonic :doc:`improper_coeff <improper_coeff>`,
:doc:<improper_harmonic>` :doc:`improper_harmonic <improper_harmonic>`
Default Default
""""""" """""""

View File

@ -40,7 +40,7 @@ rounded/polyhedron particles.
This pairwise interaction between the rounded polyhedra is described This pairwise interaction between the rounded polyhedra is described
in :ref:`Wang <pair-Wang>`, where a polyhedron does not have sharp corners in :ref:`Wang <pair-Wang>`, where a polyhedron does not have sharp corners
and edges, but is rounded at its vertices and edges by spheres and edges, but is rounded at its vertices and edges by spheres
centered on each vertex with a specified diameter. The edges if the centered on each vertex with a specified diameter. The edges of the
polyhedron are defined between pairs of adjacent vertices. Its faces polyhedron are defined between pairs of adjacent vertices. Its faces
are defined by a loop of edges. The sphere diameter for each polygon are defined by a loop of edges. The sphere diameter for each polygon
is specified in the data file read by the :doc:`read data <read_data>` is specified in the data file read by the :doc:`read data <read_data>`

View File

@ -22,12 +22,12 @@ Examples
.. code-block:: LAMMPS .. code-block:: LAMMPS
pair_style hybrid/overlay ilp/tmd 16.0 1 pair_style hybrid/overlay ilp/tmd 16.0 1
pair_coeff * * ilp/tmd TMD.ILP Mo S S pair_coeff * * ilp/tmd MoS2.ILP Mo S S
pair_style hybrid/overlay sw/mod sw/mod ilp/tmd 16.0 pair_style hybrid/overlay sw/mod sw/mod ilp/tmd 16.0
pair_coeff * * sw/mod 1 tmd.sw.mod Mo S S NULL NULL NULL pair_coeff * * sw/mod 1 tmd.sw.mod Mo S S NULL NULL NULL
pair_coeff * * sw/mod 2 tmd.sw.mod NULL NULL NULL Mo S S pair_coeff * * sw/mod 2 tmd.sw.mod NULL NULL NULL Mo S S
pair_coeff * * ilp/tmd TMD.ILP Mo S S Mo S S pair_coeff * * ilp/tmd MoS2.ILP Mo S S Mo S S
Description Description
""""""""""" """""""""""
@ -69,7 +69,7 @@ calculating the normals.
each atom `i`, its six nearest neighboring atoms belonging to the same each atom `i`, its six nearest neighboring atoms belonging to the same
sub-layer are chosen to define the normal vector `{\bf n}_i`. sub-layer are chosen to define the normal vector `{\bf n}_i`.
The parameter file (e.g. TMD.ILP), is intended for use with *metal* The parameter file (e.g. MoS2.ILP), is intended for use with *metal*
:doc:`units <units>`, with energies in meV. Two additional parameters, :doc:`units <units>`, with energies in meV. Two additional parameters,
*S*, and *rcut* are included in the parameter file. *S* is designed to *S*, and *rcut* are included in the parameter file. *S* is designed to
facilitate scaling of energies. *rcut* is designed to build the neighbor facilitate scaling of energies. *rcut* is designed to build the neighbor
@ -77,7 +77,7 @@ list for calculating the normals for each atom pair.
.. note:: .. note::
The parameters presented in the parameter file (e.g. TMD.ILP), The parameters presented in the parameter file (e.g. MoS2.ILP),
are fitted with taper function by setting the cutoff equal to 16.0 are fitted with taper function by setting the cutoff equal to 16.0
Angstrom. Using different cutoff or taper function should be careful. Angstrom. Using different cutoff or taper function should be careful.
These parameters provide a good description in both short- and long-range These parameters provide a good description in both short- and long-range
@ -133,10 +133,10 @@ if LAMMPS was built with that package. See the :doc:`Build package
This pair style requires the newton setting to be *on* for pair This pair style requires the newton setting to be *on* for pair
interactions. interactions.
The TMD.ILP potential file provided with LAMMPS (see the potentials The MoS2.ILP potential file provided with LAMMPS (see the potentials
directory) are parameterized for *metal* units. You can use this directory) are parameterized for *metal* units. You can use this
potential with any LAMMPS units, but you would need to create your own potential with any LAMMPS units, but you would need to create your own
custom TMD.ILP potential file with coefficients listed in the appropriate custom MoS2.ILP potential file with coefficients listed in the appropriate
units, if your simulation does not use *metal* units. units, if your simulation does not use *metal* units.
Related commands Related commands

View File

@ -1,14 +1,20 @@
.. index:: pair_style nb3b/harmonic .. index:: pair_style nb3b/harmonic
.. index:: pair_style nb3b/screened
pair_style nb3b/harmonic command pair_style nb3b/harmonic command
================================ ================================
pair_style nb3b/screened command
================================
Syntax Syntax
"""""" """"""
.. code-block:: LAMMPS .. code-block:: LAMMPS
pair_style nb3b/harmonic pair_style style
* style = *nb3b/harmonic* or *nb3b/screened*
Examples Examples
"""""""" """"""""
@ -18,10 +24,14 @@ Examples
pair_style nb3b/harmonic pair_style nb3b/harmonic
pair_coeff * * MgOH.nb3bharmonic Mg O H pair_coeff * * MgOH.nb3bharmonic Mg O H
pair_style nb3b/screened
pair_coeff * * PO.nb3b.screened P NULL O
pair_coeff * * SiOH.nb3b.screened Si O H
Description Description
""""""""""" """""""""""
This pair style computes a non-bonded 3-body harmonic potential for the The pair style *nb3b/harmonic* computes a non-bonded 3-body harmonic potential for the
energy E of a system of atoms as energy E of a system of atoms as
.. math:: .. math::
@ -33,7 +43,17 @@ prefactor. Note that the usual 1/2 factor is included in *K*\ . The form
of the potential is identical to that used in angle_style *harmonic*, of the potential is identical to that used in angle_style *harmonic*,
but in this case, the atoms do not need to be explicitly bonded. but in this case, the atoms do not need to be explicitly bonded.
Only a single pair_coeff command is used with this style which Style *nb3b/screened* adds an additional exponentially decaying factor to
the harmonic term, given by
.. math::
E = K (\theta - \theta_0)^2 \exp \left(- \frac{r_{ij}}{\rho_{ij}} - \frac{r_{ik}}{\rho_{ik}} \right)
where :math:`\rho_ij` and :math:`\rho_ik` are the screening factors along
the two bonds. Note that the usual 1/2 factor is included in *K*.
Only a single pair_coeff command is used with these styles which
specifies a potential file with parameters for specified elements. specifies a potential file with parameters for specified elements.
These are mapped to LAMMPS atom types by specifying N additional These are mapped to LAMMPS atom types by specifying N additional
arguments after the filename in the pair_coeff command, where N is the arguments after the filename in the pair_coeff command, where N is the
@ -61,8 +81,8 @@ type 4 to the C element in the potential file. If a mapping value is
specified as NULL, the mapping is not performed. This can be used specified as NULL, the mapping is not performed. This can be used
when the potential is used as part of the *hybrid* pair style. The when the potential is used as part of the *hybrid* pair style. The
NULL values are placeholders for atom types that will be used with NULL values are placeholders for atom types that will be used with
other potentials. An example of a pair_coeff command for use with the other potentials. Two examples of pair_coeff command for use with the
*hybrid* pair style is: *hybrid* pair style are:
.. code-block:: LAMMPS .. code-block:: LAMMPS

View File

@ -43,18 +43,18 @@ Examples
Description Description
""""""""""" """""""""""
Style *reaxff* computes the ReaxFF potential of van Duin, Goddard and Pair style *reaxff* computes the ReaxFF potential of van Duin, Goddard
co-workers. ReaxFF uses distance-dependent bond-order functions to and co-workers. ReaxFF uses distance-dependent bond-order functions to
represent the contributions of chemical bonding to the potential represent the contributions of chemical bonding to the potential
energy. There is more than one version of ReaxFF. The version energy. There is more than one version of ReaxFF. The version
implemented in LAMMPS uses the functional forms documented in the implemented in LAMMPS uses the functional forms documented in the
supplemental information of the following paper: supplemental information of the following paper:
:ref:`(Chenoweth et al., 2008) <Chenoweth_20082>`. The version integrated :ref:`(Chenoweth et al., 2008) <Chenoweth_20082>` and matches the
into LAMMPS matches the version of ReaxFF From Summer 2010. For more version of the reference ReaxFF implementation from Summer 2010. For
technical details about the pair reaxff implementation of ReaxFF, see more technical details about the implementation of ReaxFF in pair style
the :ref:`(Aktulga) <Aktulga>` paper. The *reaxff* style was initially *reaxff*, see the :ref:`(Aktulga) <Aktulga>` paper. The *reaxff* style
implemented as a stand-alone C code and is now converted to C++ and was initially implemented as a stand-alone C code and is now converted
integrated into LAMMPS as a package. to C++ and integrated into LAMMPS as a package.
The *reaxff/kk* style is a Kokkos version of the ReaxFF potential that The *reaxff/kk* style is a Kokkos version of the ReaxFF potential that
is derived from the *reaxff* style. The Kokkos version can run on GPUs is derived from the *reaxff* style. The Kokkos version can run on GPUs
@ -72,8 +72,7 @@ from LAMMPS after the 12 December 2018 version.
LAMMPS provides several different versions of ffield.reax in its LAMMPS provides several different versions of ffield.reax in its
potentials dir, each called potentials/ffield.reax.label. These are potentials dir, each called potentials/ffield.reax.label. These are
documented in potentials/README.reax. The default ffield.reax documented in potentials/README.reax.
contains parameterizations for the following elements: C, H, O, N.
The format of these files is identical to that used originally by van The format of these files is identical to that used originally by van
Duin. We have tested the accuracy of *pair_style reaxff* potential Duin. We have tested the accuracy of *pair_style reaxff* potential
@ -110,12 +109,14 @@ control variable. The format of the control file is described below.
not agree. not agree.
Examples using *pair_style reaxff* are provided in the examples/reax Examples using *pair_style reaxff* are provided in the examples/reax
subdirectory. directory and its subdirectories.
Use of this pair style requires that a charge be defined for every Use of this pair style requires using an :doc:`atom_style <atom_style>`
atom. See the :doc:`atom_style <atom_style>` and that includes a per-atom charge property *or* using
:doc:`read_data <read_data>` commands for details on how to specify :doc:`fix property/atom q <fix_property_atom>`. Charges can be set
charges. via :doc:`read_data <read_data>` or :doc:`set <set>`. Using an initial
charge that is close to the result of charge equilibration will speed
up that process.
The ReaxFF parameter files provided were created using a charge The ReaxFF parameter files provided were created using a charge
equilibration (QEq) model for handling the electrostatic interactions. equilibration (QEq) model for handling the electrostatic interactions.

View File

@ -1,10 +1,11 @@
.. index:: pair_style snap .. index:: pair_style snap
.. index:: pair_style snap/intel
.. index:: pair_style snap/kk .. index:: pair_style snap/kk
pair_style snap command pair_style snap command
======================= =======================
Accelerator Variants: *snap/kk* Accelerator Variants: *snap/intel*, *snap/kk*
Syntax Syntax
"""""" """"""
@ -260,6 +261,14 @@ This style is part of the ML-SNAP package. It is only enabled if LAMMPS
was built with that package. See the :doc:`Build package was built with that package. See the :doc:`Build package
<Build_package>` page for more info. <Build_package>` page for more info.
The *snap/intel* accelerator variant will *only* be available if LAMMPS
is built with Intel *compilers* and for CPUs with AVX-512 support.
While the INTEL package in general allows multiple floating point
precision modes to be selected, *snap/intel* will currently always use
full double precision regardless of the precision mode selected.
Additionally, the *intel* variant of snap will **NOT** use multiple
threads with OpenMP.
Related commands Related commands
"""""""""""""""" """"""""""""""""

View File

@ -297,7 +297,8 @@ accelerated styles exist.
* :doc:`morse/soft <pair_morse>` - Morse potential with a soft core * :doc:`morse/soft <pair_morse>` - Morse potential with a soft core
* :doc:`multi/lucy <pair_multi_lucy>` - DPD potential with density-dependent force * :doc:`multi/lucy <pair_multi_lucy>` - DPD potential with density-dependent force
* :doc:`multi/lucy/rx <pair_multi_lucy_rx>` - reactive DPD potential with density-dependent force * :doc:`multi/lucy/rx <pair_multi_lucy_rx>` - reactive DPD potential with density-dependent force
* :doc:`nb3b/harmonic <pair_nb3b_harmonic>` - non-bonded 3-body harmonic potential * :doc:`nb3b/harmonic <pair_nb3b>` - non-bonded 3-body harmonic potential
* :doc:`nb3b/screened <pair_nb3b>` - non-bonded 3-body screened harmonic potential
* :doc:`nm/cut <pair_nm>` - N-M potential * :doc:`nm/cut <pair_nm>` - N-M potential
* :doc:`nm/cut/coul/cut <pair_nm>` - N-M potential with cutoff Coulomb * :doc:`nm/cut/coul/cut <pair_nm>` - N-M potential with cutoff Coulomb
* :doc:`nm/cut/coul/long <pair_nm>` - N-M potential with long-range Coulomb * :doc:`nm/cut/coul/long <pair_nm>` - N-M potential with long-range Coulomb

View File

@ -1,11 +1,12 @@
.. index:: pair_style yukawa/colloid .. index:: pair_style yukawa/colloid
.. index:: pair_style yukawa/colloid/gpu .. index:: pair_style yukawa/colloid/gpu
.. index:: pair_style yukawa/colloid/kk
.. index:: pair_style yukawa/colloid/omp .. index:: pair_style yukawa/colloid/omp
pair_style yukawa/colloid command pair_style yukawa/colloid command
================================= =================================
Accelerator Variants: *yukawa/colloid/gpu*, *yukawa/colloid/omp* Accelerator Variants: *yukawa/colloid/gpu*, *yukawa/colloid/kk*, *yukawa/colloid/omp*
Syntax Syntax
"""""" """"""
@ -131,6 +132,12 @@ per-type polydispersity is allowed. This means all particles of the
same type must have the same diameter. Each type can have a different same type must have the same diameter. Each type can have a different
diameter. diameter.
----------
.. include:: accel_styles.rst
----------
Related commands Related commands
"""""""""""""""" """"""""""""""""

View File

@ -24,6 +24,7 @@ Syntax
c1,c2 = coords of cone axis in other 2 dimensions (distance units) c1,c2 = coords of cone axis in other 2 dimensions (distance units)
radlo,radhi = cone radii at lo and hi end (distance units) radlo,radhi = cone radii at lo and hi end (distance units)
lo,hi = bounds of cone in dim (distance units) lo,hi = bounds of cone in dim (distance units)
c1,c2,radlo,radhi,lo,hi can be a variable (see below)
*cylinder* args = dim c1 c2 radius lo hi *cylinder* args = dim c1 c2 radius lo hi
dim = *x* or *y* or *z* = axis of cylinder dim = *x* or *y* or *z* = axis of cylinder
c1,c2 = coords of cylinder axis in other 2 dimensions (distance units) c1,c2 = coords of cylinder axis in other 2 dimensions (distance units)
@ -206,7 +207,8 @@ equal-style :doc:`variable <variable>`. Likewise, for style *sphere*
and *ellipsoid* the x-, y-, and z- coordinates of the center of the and *ellipsoid* the x-, y-, and z- coordinates of the center of the
sphere/ellipsoid can be specified as an equal-style variable. And for sphere/ellipsoid can be specified as an equal-style variable. And for
style *cylinder* the two center positions c1 and c2 for the location style *cylinder* the two center positions c1 and c2 for the location
of the cylinder axes can be specified as a equal-style variable. of the cylinder axes can be specified as a equal-style variable. For style *cone*
all properties can be defined via equal-style variables.
If the value is a variable, it should be specified as v_name, where If the value is a variable, it should be specified as v_name, where
name is the variable name. In this case, the variable will be name is the variable name. In this case, the variable will be

View File

@ -385,19 +385,20 @@ creates a global vector with 6 values.
The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global values The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global values
calculated by a compute to be output. As discussed on the calculated by a compute to be output. As discussed on the
:doc:`compute <compute>` doc page, computes can calculate global, :doc:`compute <compute>` doc page, computes can calculate global,
per-atom, or local values. Only global values can be referenced by per-atom, local, and per-grid values. Only global values can be
this command. However, per-atom compute values for an individual atom referenced by this command. However, per-atom compute values for an
can be referenced in a :doc:`variable <variable>` and the variable individual atom can be referenced in a :doc:`equal-style variable
referenced by thermo_style custom, as discussed below. See the <variable>` and the variable referenced by thermo_style custom, as
discussion above for how the I in *c_ID[I]* can be specified with a discussed below. See the discussion above for how the I in *c_ID[I]*
wildcard asterisk to effectively specify multiple values from a global can be specified with a wildcard asterisk to effectively specify
compute vector. multiple values from a global compute vector.
The ID in the keyword should be replaced by the actual ID of a compute The ID in the keyword should be replaced by the actual ID of a compute
that has been defined elsewhere in the input script. See the that has been defined elsewhere in the input script. See the
:doc:`compute <compute>` command for details. If the compute calculates :doc:`compute <compute>` command for details. If the compute
a global scalar, vector, or array, then the keyword formats with 0, 1, calculates a global scalar, vector, or array, then the keyword formats
or 2 brackets will reference a scalar value from the compute. with 0, 1, or 2 brackets will reference a scalar value from the
compute.
Note that some computes calculate "intensive" global quantities like Note that some computes calculate "intensive" global quantities like
temperature; others calculate "extensive" global quantities like temperature; others calculate "extensive" global quantities like
@ -410,13 +411,14 @@ norm <thermo_modify>` option being used.
The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global values The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global values
calculated by a fix to be output. As discussed on the :doc:`fix calculated by a fix to be output. As discussed on the :doc:`fix
<fix>` doc page, fixes can calculate global, per-atom, or local <fix>` doc page, fixes can calculate global, per-atom, local, and
values. Only global values can be referenced by this command. per-grid values. Only global values can be referenced by this
However, per-atom fix values can be referenced for an individual atom command. However, per-atom fix values can be referenced for an
in a :doc:`variable <variable>` and the variable referenced by individual atom in a :doc:`equal-style variable <variable>` and the
thermo_style custom, as discussed below. See the discussion above for variable referenced by thermo_style custom, as discussed below. See
how the I in *f_ID[I]* can be specified with a wildcard asterisk to the discussion above for how the I in *f_ID[I]* can be specified with
effectively specify multiple values from a global fix vector. a wildcard asterisk to effectively specify multiple values from a
global fix vector.
The ID in the keyword should be replaced by the actual ID of a fix The ID in the keyword should be replaced by the actual ID of a fix
that has been defined elsewhere in the input script. See the that has been defined elsewhere in the input script. See the
@ -438,14 +440,15 @@ output. The name in the keyword should be replaced by the variable
name that has been defined elsewhere in the input script. Only name that has been defined elsewhere in the input script. Only
equal-style and vector-style variables can be referenced; the latter equal-style and vector-style variables can be referenced; the latter
requires a bracketed term to specify the Ith element of the vector requires a bracketed term to specify the Ith element of the vector
calculated by the variable. However, an atom-style variable can be calculated by the variable. However, an equal-style variable can use
referenced for an individual atom by an equal-style variable and that an atom-style variable in its formula indexed by the ID of an
variable referenced. See the :doc:`variable <variable>` command for individual atom. This is a way to output a specific atom's per-atom
details. Variables of style *equal* and *vector* and *atom* define a coordinates or other per-atom properties in thermo output. See the
formula which can reference per-atom properties or thermodynamic :doc:`variable <variable>` command for details. Note that variables
keywords, or they can invoke other computes, fixes, or variables when of style *equal* and *vector* and *atom* define a formula which can
evaluated, so this is a very general means of creating thermodynamic reference per-atom properties or thermodynamic keywords, or they can
output. invoke other computes, fixes, or variables when evaluated, so this is
a very general means of creating thermodynamic output.
Note that equal-style and vector-style variables are assumed to Note that equal-style and vector-style variables are assumed to
produce "intensive" global quantities, which are thus printed as-is, produce "intensive" global quantities, which are thus printed as-is,

View File

@ -53,7 +53,7 @@ Syntax
x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x
math functions = sqrt(x), exp(x), ln(x), log(x), abs(x), math functions = sqrt(x), exp(x), ln(x), log(x), abs(x),
sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x),
random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x) random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ternary(x,y,z),
ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z),
logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c),
vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z)
@ -71,6 +71,7 @@ Syntax
feature functions = is_available(category,feature), is_active(category,feature), is_defined(category,id) feature functions = is_available(category,feature), is_active(category,feature), is_defined(category,id)
atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i] atom value = id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i]
atom vector = id, mass, type, mol, radius, q, x, y, z, vx, vy, vz, fx, fy, fz atom vector = id, mass, type, mol, radius, q, x, y, z, vx, vy, vz, fx, fy, fz
custom atom property = i_name, d_name, i_name[i], d_name[i], i2_name[i], d2_name[i], i2_name[i][j], d_name[i][j]
compute references = c_ID, c_ID[i], c_ID[i][j], C_ID, C_ID[i] compute references = c_ID, c_ID[i], c_ID[i][j], C_ID, C_ID[i]
fix references = f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i] fix references = f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i]
variable references = v_name, v_name[i] variable references = v_name, v_name[i]
@ -514,48 +515,49 @@ is a valid (though strange) variable formula:
Specifically, a formula can contain numbers, constants, thermo Specifically, a formula can contain numbers, constants, thermo
keywords, math operators, math functions, group functions, region keywords, math operators, math functions, group functions, region
functions, special functions, feature functions, atom values, atom functions, special functions, feature functions, atom values, atom
vectors, compute references, fix references, and references to other vectors, custom atom properties, compute references, fix references, and references to other
variables. variables.
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Number | 0.2, 100, 1.0e20, -15.4, etc | | Number | 0.2, 100, 1.0e20, -15.4, etc |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Constant | PI, version, on, off, true, false, yes, no | | Constant | PI, version, on, off, true, false, yes, no |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Thermo keywords | vol, pe, ebond, etc | | Thermo keywords | vol, pe, ebond, etc |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Math operators | (), -x, x+y, x-y, x\*y, x/y, x\^y, x%y, x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x | | Math operators | (), -x, x+y, x-y, x\*y, x/y, x\^y, x%y, x == y, x != y, x < y, x <= y, x > y, x >= y, x && y, x \|\| y, x \|\^ y, !x |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Math functions | sqrt(x), exp(x), ln(x), log(x), abs(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) | | Math functions | sqrt(x), exp(x), ln(x), log(x), abs(x), sin(x), cos(x), tan(x), asin(x), acos(x), atan(x), atan2(y,x), random(x,y,z), normal(x,y,z), ceil(x), floor(x), round(x), ternary(x,y,z), ramp(x,y), stagger(x,y), logfreq(x,y,z), logfreq2(x,y,z), logfreq3(x,y,z), stride(x,y,z), stride2(x,y,z,a,b,c), vdisplace(x,y), swiggle(x,y,z), cwiggle(x,y,z) |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Group functions | count(ID), mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim), bound(ID,dir), gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), inertia(ID,dimdim), omega(ID,dim) | | Group functions | count(ID), mass(ID), charge(ID), xcm(ID,dim), vcm(ID,dim), fcm(ID,dim), bound(ID,dir), gyration(ID), ke(ID), angmom(ID,dim), torque(ID,dim), inertia(ID,dimdim), omega(ID,dim) |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Region functions | count(ID,IDR), mass(ID,IDR), charge(ID,IDR), xcm(ID,dim,IDR), vcm(ID,dim,IDR), fcm(ID,dim,IDR), bound(ID,dir,IDR), gyration(ID,IDR), ke(ID,IDR), angmom(ID,dim,IDR), torque(ID,dim,IDR), inertia(ID,dimdim,IDR), omega(ID,dim,IDR) | | Region functions | count(ID,IDR), mass(ID,IDR), charge(ID,IDR), xcm(ID,dim,IDR), vcm(ID,dim,IDR), fcm(ID,dim,IDR), bound(ID,dir,IDR), gyration(ID,IDR), ke(ID,IDR), angmom(ID,dim,IDR), torque(ID,dim,IDR), inertia(ID,dimdim,IDR), omega(ID,dim,IDR) |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Special functions | sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label) | | Special functions | sum(x), min(x), max(x), ave(x), trap(x), slope(x), gmask(x), rmask(x), grmask(x,y), next(x), is_file(name), is_os(name), extract_setting(name), label2type(kind,label), is_typelabel(kind,label) |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Feature functions | is_available(category,feature), is_active(category,feature), is_defined(category,id) | | Feature functions | is_available(category,feature), is_active(category,feature), is_defined(category,id) |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Atom values | id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i] | | Atom values | id[i], mass[i], type[i], mol[i], x[i], y[i], z[i], vx[i], vy[i], vz[i], fx[i], fy[i], fz[i], q[i] |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Atom vectors | id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q | | Atom vectors | id, mass, type, mol, x, y, z, vx, vy, vz, fx, fy, fz, q |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Custom atom properties | i_name, d_name, i_name[i], d_name[i], i2_name[i], d2_name[i], i2_name[i][j], d_name[i][j] |
+------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Compute references | c_ID, c_ID[i], c_ID[i][j], C_ID, C_ID[i] | | Compute references | c_ID, c_ID[i], c_ID[i][j], C_ID, C_ID[i] |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Fix references | f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i] | | Fix references | f_ID, f_ID[i], f_ID[i][j], F_ID, F_ID[i] |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Other variables | v_name, v_name[i] | | Other variables | v_name, v_name[i] |
+--------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Most of the formula elements produce a scalar value. Some produce a Most of the formula elements produce a scalar value. Some produce a
global or per-atom vector of values. Global vectors can be produced global or per-atom vector of values. Global vectors can be produced
by computes or fixes or by other vector-style variables. Per-atom by computes or fixes or by other vector-style variables. Per-atom
vectors are produced by atom vectors, compute references that vectors are produced by atom vectors, computes or fixes which output a
represent a per-atom vector, fix references that represent a per-atom per-atom vector or array, and variables that are atom-style variables.
vector, and variables that are atom-style variables. Math functions Math functions that operate on scalar values produce a scalar value;
that operate on scalar values produce a scalar value; math function math function that operate on global or per-atom vectors do so
that operate on global or per-atom vectors do so element-by-element element-by-element and produce a global or per-atom vector.
and produce a global or per-atom vector.
A formula for equal-style variables cannot use any formula element A formula for equal-style variables cannot use any formula element
that produces a global or per-atom vector. A formula for a that produces a global or per-atom vector. A formula for a
@ -564,12 +566,13 @@ scalar value or a global vector value, but cannot use a formula
element that produces a per-atom vector. A formula for an atom-style element that produces a per-atom vector. A formula for an atom-style
variable can use formula elements that produce either a scalar value variable can use formula elements that produce either a scalar value
or a per-atom vector, but not one that produces a global vector. or a per-atom vector, but not one that produces a global vector.
Atom-style variables are evaluated by other commands that define a Atom-style variables are evaluated by other commands that define a
:doc:`group <group>` on which they operate, e.g. a :doc:`dump <dump>` or :doc:`group <group>` on which they operate, e.g. a :doc:`dump <dump>`
:doc:`compute <compute>` or :doc:`fix <fix>` command. When they invoke or :doc:`compute <compute>` or :doc:`fix <fix>` command. When they
the atom-style variable, only atoms in the group are included in the invoke the atom-style variable, only atoms in the group are included
formula evaluation. The variable evaluates to 0.0 for atoms not in in the formula evaluation. The variable evaluates to 0.0 for atoms
the group. not in the group.
---------- ----------
@ -703,6 +706,13 @@ library. Ceil() is the smallest integer not less than its argument.
Floor() if the largest integer not greater than its argument. Round() Floor() if the largest integer not greater than its argument. Round()
is the nearest integer to its argument. is the nearest integer to its argument.
.. versionadded:: TBD
The ternary(x,y,z) function is the equivalent of the ternary operator
(? and :) in C or C++. It takes 3 arguments. The first argument is a
conditional. The result of the function is y if x evaluates to true
(non-zero). The result is z if x evaluates to false (zero).
The ramp(x,y) function uses the current timestep to generate a value The ramp(x,y) function uses the current timestep to generate a value
linearly interpolated between the specified x,y values over the course linearly interpolated between the specified x,y values over the course
of a run, according to this formula: of a run, according to this formula:
@ -1034,10 +1044,9 @@ to built-in commands. For all of these styles except *command*,
appending of active suffixes is also tried before reporting failure. appending of active suffixes is also tried before reporting failure.
The *feature* category checks the availability of the following The *feature* category checks the availability of the following
compile-time enabled features: GZIP support, PNG support, JPEG compile-time enabled features: GZIP support, PNG support, JPEG support,
support, FFMPEG support, and C++ exceptions for error FFMPEG support, and C++ exceptions for error handling. Corresponding
handling. Corresponding names are *gzip*, *png*, *jpeg*, *ffmpeg* and names are *gzip*, *png*, *jpeg*, *ffmpeg* and *exceptions*\ .
*exceptions*\ .
Example: Only dump in a given format if the compiled binary supports it. Example: Only dump in a given format if the compiled binary supports it.
@ -1138,69 +1147,111 @@ only defined if an :doc:`atom_style <atom_style>` is being used that
defines molecule IDs. defines molecule IDs.
Note that many other atom attributes can be used as inputs to a Note that many other atom attributes can be used as inputs to a
variable by using the :doc:`compute property/atom <compute_property_atom>` command and then specifying variable by using the :doc:`compute property/atom
a quantity from that compute. <compute_property_atom>` command and then referencing that compute.
----------
Custom atom properties
----------------------
.. versionadded:: TBD
Custom atom properties refer to per-atom integer and floating point
vectors or arrays that have been added via the :doc:`fix property/atom
<fix_property_atom>` command. When that command is used specific
names are given to each attribute which are the "name" portion of
these references. References beginning with *i* and *d* refer to
integer and floating point properties respectively. Per-atom vectors
are referenced by *i_name* and *d_name*; per-atom arrays are
referenced by *i2_name* and *d2_name*.
The various allowed references to integer custom atom properties in
the variable formulas for equal-, vector-, and atom-style variables
are listed in the following table. References to floating point
custom atom properties are the same; just replace the leading "i" with
"d".
+--------+---------------+------------------------------------------+
| equal | i_name[I] | element of per-atom vector (I = atom ID) |
| equal | i2_name[I][J] | element of per-atom array (I = atom ID) |
+--------+---------------+------------------------------------------+
| vector | i_name[I] | element of per-atom vector (I = atom ID) |
| vector | i2_name[I][J] | element of per-atom array (I = atom ID) |
+--------+---------------+------------------------------------------+
| atom | i_name | per-atom vector |
| atom | i2_name[I] | column of per-atom array |
+--------+---------------+------------------------------------------+
The I and J indices in these custom atom property references can be
integers or can be a variable name, specified as v_name, where name is
the name of the variable. The rules for this syntax are the same as
for indices in the "Atom Values and Vectors" discussion above.
---------- ----------
Compute References Compute References
------------------ ------------------
Compute references access quantities calculated by a Compute references access quantities calculated by a :doc:`compute
:doc:`compute <compute>`. The ID in the reference should be replaced by <compute>`. The ID in the reference should be replaced by the ID of a
the ID of a compute defined elsewhere in the input script. As compute defined elsewhere in the input script.
discussed in the page for the :doc:`compute <compute>` command,
computes can produce global, per-atom, or local values. Only global
and per-atom values can be used in a variable. Computes can also
produce a scalar, vector, or array.
An equal-style variable can only use scalar values, which means a As discussed on the page for the :doc:`compute <compute>` command,
global scalar, or an element of a global or per-atom vector or array. computes can produce global, per-atom, local, and per-grid values.
A vector-style variable can use scalar values or a global vector of Only global and per-atom values can be used in a variable. Computes
values, or a column of a global array of values. Atom-style variables can also produce scalars (global only), vectors, and arrays. See the
can use global scalar values. They can also use per-atom vector doc pages for individual computes to see what different kinds of data
values, or a column of a per-atom array. See the doc pages for they produce.
individual computes to see what kind of values they produce.
Examples of different kinds of compute references are as follows. An equal-style variable can only use scalar values, either from global
There is typically no ambiguity (see exception below) as to what a or per-atom data. In the case of per-atom data, this would be a value
reference means, since computes only produce either global or per-atom for a specific atom.
quantities, never both.
+-------------+-------------------------------------------------------------------------------------------------------+ A vector-style variable can use scalar values (same as for equal-style
| c_ID | global scalar, or per-atom vector | variables), or global vectors of values. The latter can also be a
+-------------+-------------------------------------------------------------------------------------------------------+ column of a global array.
| c_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array |
+-------------+-------------------------------------------------------------------------------------------------------+
| c_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array |
+-------------+-------------------------------------------------------------------------------------------------------+
For I and J indices, integers can be specified or a variable name, Atom-style variables can use scalar values (same as for equal-style
specified as v_name, where name is the name of the variable. The variables), or per-atom vectors of values. The latter can also be a
rules for this syntax are the same as for the "Atom Values and column of a per-atom array.
Vectors" discussion above.
One source of ambiguity for compute references is when a vector-style The various allowed compute references in the variable formulas for
variable refers to a compute that produces both a global scalar and a equal-, vector-, and atom-style variables are listed in the following
global vector. Consider a compute with ID "foo" that does this, table:
referenced as follows by variable "a", where "myVec" is another
vector-style variable:
.. code-block:: LAMMPS +--------+------------+------------------------------------------+
| equal | c_ID | global scalar |
| equal | c_ID[I] | element of global vector |
| equal | c_ID[I][J] | element of global array |
| equal | C_ID[I] | element of per-atom vector (I = atom ID) |
| equal | C_ID[I][J] | element of per-atom array (I = atom ID) |
+--------+------------+------------------------------------------+
| vector | c_ID | global vector |
| vector | c_ID[I] | column of global array |
+--------+------------+------------------------------------------+
| atom | c_ID | per-atom vector |
| atom | c_ID[I] | column of per-atom array |
+--------+------------+------------------------------------------+
variable a vector c_foo*v_myVec Note that if an equal-style variable formula wishes to access per-atom
data from a compute, it must use capital "C" as the ID prefix and not
lower-case "c".
The reference "c_foo" could refer to either the global scalar or Also note that if a vector- or atom-style variable formula needs to
global vector produced by compute "foo". In this case, "c_foo" will access a scalar value from a compute (i.e. the 5 kinds of values in
always refer to the global scalar, and "C_foo" can be used to the first 5 lines of the table), it can not do so directly. Instead,
reference the global vector. Similarly if the compute produces both a it can use a reference to an equal-style variable which stores the
global vector and global array, then "c_foo[I]" will always refer to scalar value from the compute.
an element of the global vector, and "C_foo[I]" can be used to
reference the Ith column of the global array.
Note that if a variable containing a compute is evaluated directly in The I and J indices in these compute references can be integers or can
an input script (not during a run), then the values accessed by the be a variable name, specified as v_name, where name is the name of the
compute must be current. See the discussion below about "Variable variable. The rules for this syntax are the same as for indices in
the "Atom Values and Vectors" discussion above.
If a variable containing a compute is evaluated directly in an input
script (not during a run), then the values accessed by the compute
should be current. See the discussion below about "Variable
Accuracy". Accuracy".
---------- ----------
@ -1208,51 +1259,59 @@ Accuracy".
Fix References Fix References
-------------- --------------
Fix references access quantities calculated by a :doc:`fix <compute>`. Fix references access quantities calculated by a :doc:`fix <fix>`.
The ID in the reference should be replaced by the ID of a fix defined The ID in the reference should be replaced by the ID of a fix defined
elsewhere in the input script. As discussed in the page for the elsewhere in the input script.
:doc:`fix <fix>` command, fixes can produce global, per-atom, or local
values. Only global and per-atom values can be used in a variable.
Fixes can also produce a scalar, vector, or array. An equal-style
variable can only use scalar values, which means a global scalar, or
an element of a global or per-atom vector or array. Atom-style
variables can use the same scalar values. They can also use per-atom
vector values. A vector value can be a per-atom vector itself, or a
column of an per-atom array. See the doc pages for individual fixes
to see what kind of values they produce.
The different kinds of fix references are exactly the same as the As discussed on the page for the :doc:`fix <fix>` command, fixes can
compute references listed in the above table, where "c\_" is replaced produce global, per-atom, local, and per-grid values. Only global and
by "f\_". Again, there is typically no ambiguity (see exception below) per-atom values can be used in a variable. Fixes can also produce
as to what a reference means, since fixes only produce either global scalars (global only), vectors, and arrays. See the doc pages for
or per-atom quantities, never both. individual fixes to see what different kinds of data they produce.
+-------------+-------------------------------------------------------------------------------------------------------+ An equal-style variable can only use scalar values, either from global
| f_ID | global scalar, or per-atom vector | or per-atom data. In the case of per-atom data, this would be a value
+-------------+-------------------------------------------------------------------------------------------------------+ for a specific atom.
| f_ID[I] | Ith element of global vector, or atom I's value in per-atom vector, or Ith column from per-atom array |
+-------------+-------------------------------------------------------------------------------------------------------+
| f_ID[I][J] | I,J element of global array, or atom I's Jth value in per-atom array |
+-------------+-------------------------------------------------------------------------------------------------------+
For I and J indices, integers can be specified or a variable name, A vector-style variable can use scalar values (same as for equal-style
specified as v_name, where name is the name of the variable. The variables), or global vectors of values. The latter can also be a
rules for this syntax are the same as for the "Atom Values and column of a global array.
Vectors" discussion above.
One source of ambiguity for fix references is the same ambiguity Atom-style variables can use scalar values (same as for equal-style
discussed for compute references above. Namely when a vector-style variables), or per-atom vectors of values. The latter can also be a
variable refers to a fix that produces both a global scalar and a column of a per-atom array.
global vector. The solution is the same as for compute references.
For a fix with ID "foo", "f_foo" will always refer to the global
scalar, and "F_foo" can be used to reference the global vector. And
similarly for distinguishing between a fix's global vector versus
global array with "f_foo[I]" versus "F_foo[I]".
Note that if a variable containing a fix is evaluated directly in an The allowed fix references in variable formulas for equal-, vector-,
input script (not during a run), then the values accessed by the fix and atom-style variables are listed in the following table:
should be current. See the discussion below about "Variable
Accuracy". +--------+------------+------------------------------------------+
| equal | f_ID | global scalar |
| equal | f_ID[I] | element of global vector |
| equal | f_ID[I][J] | element of global array |
| equal | F_ID[I] | element of per-atom vector (I = atom ID) |
| equal | F_ID[I][J] | element of per-atom array (I = atom ID) |
+--------+------------+------------------------------------------+
| vector | f_ID | global vector |
| vector | f_ID[I] | column of global array |
+--------+------------+------------------------------------------+
| atom | f_ID | per-atom vector |
| atom | f_ID[I] | column of per-atom array |
+--------+------------+------------------------------------------+
Note that if an equal-style variable formula wishes to access per-atom
data from a fix, it must use capital "F" as the ID prefix and not
lower-case "f".
Also note that if a vector- or atom-style variable formula needs to
access a scalar value from a fix (i.e. the 5 kinds of values in the
first 5 lines of the table), it can not do so directly. Instead, it
can use a reference to an equal-style variable which stores the scalar
value from the fix.
The I and J indices in these fix references can be integers or can be
a variable name, specified as v_name, where name is the name of the
variable. The rules for this syntax are the same as for indices in
the "Atom Values and Vectors" discussion above.
Note that some fixes only generate quantities on certain timesteps. Note that some fixes only generate quantities on certain timesteps.
If a variable attempts to access the fix on non-allowed timesteps, an If a variable attempts to access the fix on non-allowed timesteps, an
@ -1260,6 +1319,10 @@ error is generated. For example, the :doc:`fix ave/time <fix_ave_time>`
command may only generate averaged quantities every 100 steps. See command may only generate averaged quantities every 100 steps. See
the doc pages for individual fix commands for details. the doc pages for individual fix commands for details.
If a variable containing a fix is evaluated directly in an input
script (not during a run), then the values accessed by the fix should
be current. See the discussion below about "Variable Accuracy".
---------- ----------
Variable References Variable References
@ -1294,26 +1357,32 @@ including other atom-style or atomfile-style variables. If it uses a
vector-style variable, a subscript must be used to access a single vector-style variable, a subscript must be used to access a single
value from the vector-style variable. value from the vector-style variable.
Examples of different kinds of variable references are as follows. The allowed variable references in variable formulas for equal-,
There is no ambiguity as to what a reference means, since variables vector-, and atom-style variables are listed in the following table.
produce only a global scalar or global vector or per-atom vector. Note that there is no ambiguity as to what a reference means, since
referenced variables produce only a global scalar or global vector or
per-atom vector.
+------------+----------------------------------------------------------------------+ +--------+-----------+-----------------------------------------------------------------------------------+
| v_name | global scalar from equal-style variable | | equal | v_name | global scalar from an equal-style variable |
+------------+----------------------------------------------------------------------+ | equal | v_name[I] | element of global vector from a vector-style variable |
| v_name | global vector from vector-style variable | | equal | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable |
+------------+----------------------------------------------------------------------+ +--------+-----------+-----------------------------------------------------------------------------------+
| v_name | per-atom vector from atom-style or atomfile-style variable | | vector | v_name | global scalar from an equal-style variable |
+------------+----------------------------------------------------------------------+ | vector | v_name | global vector from a vector-style variable |
| v_name[I] | Ith element of a global vector from vector-style variable | | vector | v_name[I] | element of global vector from a vector-style variable |
+------------+----------------------------------------------------------------------+ | vector | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable |
| v_name[I] | value of atom with ID = I from atom-style or atomfile-style variable | +--------+-----------+-----------------------------------------------------------------------------------+
+------------+----------------------------------------------------------------------+ | atom | v_name | global scalar from an equal-style variable |
| atom | v_name | per-atom vector from an atom-style or atomfile-style variable |
| atom | v_name[I] | element of global vector from a vector-style variable |
| atom | v_name[I] | element of per-atom vector (I = atom ID) from an atom- or atomfile-style variable |
+--------+-----------+-----------------------------------------------------------------------------------+
For the I index, an integer can be specified or a variable name, For the I index, an integer can be specified or a variable name,
specified as v_name, where name is the name of the variable. The specified as v_name, where name is the name of the variable. The
rules for this syntax are the same as for the "Atom Values and rules for this syntax are the same as for indices in the "Atom Values
Vectors" discussion above. and Vectors" discussion above.
---------- ----------

View File

@ -76,12 +76,12 @@ class LAMMPSLexer(RegexLexer):
include('conditionals'), include('conditionals'),
include('keywords'), include('keywords'),
(r'#.*?\n', Comment), (r'#.*?\n', Comment),
('"', String, 'string'), (r'"', String, 'string'),
('\'', String, 'single_quote_string'), (r'\'', String, 'single_quote_string'),
(r'[0-9]+:[0-9]+(:[0-9]+)?', Number), (r'[0-9]+:[0-9]+(:[0-9]+)?', Number),
(r'[0-9]+(\.[0-9]+)?([eE]\-?[0-9]+)?', Number), (r'[0-9]+(\.[0-9]+)?([eE]\-?[0-9]+)?', Number),
('\$?\(', Name.Variable, 'expression'), (r'\$?\(', Name.Variable, 'expression'),
('\$\{', Name.Variable, 'variable'), (r'\$\{', Name.Variable, 'variable'),
(r'[\w_\.\[\]]+', Name), (r'[\w_\.\[\]]+', Name),
(r'\$[\w_]+', Name.Variable), (r'\$[\w_]+', Name.Variable),
(r'\s+', Whitespace), (r'\s+', Whitespace),
@ -97,21 +97,21 @@ class LAMMPSLexer(RegexLexer):
] ]
, ,
'variable' : [ 'variable' : [
('[^\}]+', Name.Variable), (r'[^\}]+', Name.Variable),
('\}', Name.Variable, '#pop'), (r'\}', Name.Variable, '#pop'),
], ],
'string' : [ 'string' : [
('[^"]+', String), (r'[^"]+', String),
('"', String, '#pop'), (r'"', String, '#pop'),
], ],
'single_quote_string' : [ 'single_quote_string' : [
('[^\']+', String), (r'[^\']+', String),
('\'', String, '#pop'), (r'\'', String, '#pop'),
], ],
'expression' : [ 'expression' : [
('[^\(\)]+', Name.Variable), (r'[^\(\)]+', Name.Variable),
('\(', Name.Variable, 'expression'), (r'\(', Name.Variable, 'expression'),
('\)', Name.Variable, '#pop'), (r'\)', Name.Variable, '#pop'),
], ],
'modify_cmd' : [ 'modify_cmd' : [
(r'[\w_\-\.\[\]]+', Name.Variable.Identifier), (r'[\w_\-\.\[\]]+', Name.Variable.Identifier),

View File

@ -2892,6 +2892,7 @@ pscrozi
pseudocode pseudocode
Pseudocode Pseudocode
pseudodynamics pseudodynamics
pseudoparticle
pseudopotential pseudopotential
psllod psllod
pSp pSp
@ -3755,6 +3756,7 @@ uncomment
uncommented uncommented
uncompress uncompress
uncompute uncompute
underdamped
underprediction underprediction
undump undump
uniaxial uniaxial

View File

@ -0,0 +1,28 @@
variable ibead uloop 99 pad
units metal
atom_style atomic
atom_modify map yes
boundary p p p
pair_style lj/cut 9.5251
read_data data.metalnpt${ibead}
pair_coeff * * 0.00965188 3.4
pair_modify shift yes
mass 1 39.948
timestep 0.001
velocity all create 0.0 ${ibead}
fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no
thermo_style custom step temp f_1[*] vol press
thermo 100
thermo_modify norm no
# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz
# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f"
run 1000

View File

@ -16,7 +16,7 @@ timestep 0.001
velocity all create 0.0 ${ibead} velocity all create 0.0 ${ibead}
fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no
thermo_style custom step temp f_1[*] vol press thermo_style custom step temp f_1[*] vol press
thermo 100 thermo 100

View File

@ -1,2 +1,2 @@
LAMMPS (28 Mar 2023) LAMMPS (3 Aug 2023)
Running on 4 partitions of processors Running on 4 partitions of processors

View File

@ -1,5 +1,6 @@
LAMMPS (28 Mar 2023) LAMMPS (3 Aug 2023)
Processor partition = 0 Processor partition = 0
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad variable ibead uloop 99 pad
@ -29,10 +30,10 @@ timestep 0.001
velocity all create 0.0 ${ibead} velocity all create 0.0 ${ibead}
velocity all create 0.0 01 velocity all create 0.0 01
fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no
Initializing PIMD BZP barostat... Initializing PIMD BZP barostat...
The barostat mass is W = 2.3401256650800001e+01 The barostat mass is W = 2.3401256650800001e+01
thermo_style custom step temp f_1[*] vol press thermo_style custom step temp f_1[*] vol press
thermo 100 thermo 100
@ -43,14 +44,13 @@ thermo_modify norm no
run 1000 run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Initializing PI Langevin equation thermostat... Initializing PI Langevin equation thermostat...
Bead ID | omega | tau | c1 | c2 Bead ID | omega | tau | c1 | c2
0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02 0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02
1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01 2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01
3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01 3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
PILE_L thermostat successfully initialized! PILE_L thermostat successfully initialized!
Neighbor list info ... Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes update: every = 1 steps, delay = 0 steps, check = yes
@ -66,31 +66,31 @@ Neighbor list info ...
bin: standard bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press
0 0 0 0 -7.3046601 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -164.47373 0 0 0 0 -7.3046601 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -164.47373
100 149.95804 3.8573359 0 -7.7921375 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 -101.30374 100 149.95804 3.8573359 0 -7.7921375 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 -101.30374
200 245.00113 6.3021074 0 -8.2639651 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 112.22426 200 245.00113 6.3021074 0 -8.2639651 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 112.22426
300 300.57486 7.7316177 0 -8.2986331 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 814.45889 300 300.57486 7.7316177 0 -8.2986331 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 814.45889
400 368.08438 9.4681493 0 -8.4800193 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1202.0398 400 368.08438 9.4681493 0 -8.4800193 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1202.0398
500 419.32066 10.786088 0 -8.640773 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 952.59748 500 419.32066 10.786088 0 -8.640773 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 952.59748
600 385.4127 9.9138817 0 -8.4356035 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 676.62913 600 385.4127 9.9138817 0 -8.4356035 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 676.62913
700 360.14242 9.2638601 0 -8.2900275 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 456.91446 700 360.14242 9.2638601 0 -8.2900275 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 456.91446
800 346.92167 8.923786 0 -8.0694169 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 454.60123 800 346.92167 8.923786 0 -8.0694169 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 454.60123
900 364.39442 9.3732334 0 -8.0415668 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 499.75868 900 364.39442 9.3732334 0 -8.0415668 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 499.75868
1000 390.77042 10.051697 0 -8.1948009 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 572.98799 1000 390.77042 10.051697 0 -8.1948009 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 572.98799
Loop time of 0.248186 on 1 procs for 1000 steps with 200 atoms Loop time of 0.218442 on 1 procs for 1000 steps with 200 atoms
Performance: 348.126 ns/day, 0.069 hours/ns, 4029.238 timesteps/s, 805.848 katom-step/s Performance: 395.527 ns/day, 0.061 hours/ns, 4577.865 timesteps/s, 915.573 katom-step/s
99.6% CPU use with 1 MPI tasks x 1 OpenMP threads 98.9% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.14541 | 0.14541 | 0.14541 | 0.0 | 58.59 Pair | 0.11918 | 0.11918 | 0.11918 | 0.0 | 54.56
Neigh | 0.00099082 | 0.00099082 | 0.00099082 | 0.0 | 0.40 Neigh | 0.0010314 | 0.0010314 | 0.0010314 | 0.0 | 0.47
Comm | 0.0039966 | 0.0039966 | 0.0039966 | 0.0 | 1.61 Comm | 0.0046197 | 0.0046197 | 0.0046197 | 0.0 | 2.11
Output | 0.00016346 | 0.00016346 | 0.00016346 | 0.0 | 0.07 Output | 0.0001329 | 0.0001329 | 0.0001329 | 0.0 | 0.06
Modify | 0.096205 | 0.096205 | 0.096205 | 0.0 | 38.76 Modify | 0.092616 | 0.092616 | 0.092616 | 0.0 | 42.40
Other | | 0.001425 | | | 0.57 Other | | 0.0008616 | | | 0.39
Nlocal: 200 ave 200 max 200 min Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,5 +1,6 @@
LAMMPS (28 Mar 2023) LAMMPS (3 Aug 2023)
Processor partition = 1 Processor partition = 1
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad variable ibead uloop 99 pad
@ -17,7 +18,7 @@ Reading data file ...
200 atoms 200 atoms
reading velocities ... reading velocities ...
200 velocities 200 velocities
read_data CPU = 0.001 seconds read_data CPU = 0.002 seconds
pair_coeff * * 0.00965188 3.4 pair_coeff * * 0.00965188 3.4
pair_modify shift yes pair_modify shift yes
@ -29,10 +30,7 @@ timestep 0.001
velocity all create 0.0 ${ibead} velocity all create 0.0 ${ibead}
velocity all create 0.0 02 velocity all create 0.0 02
fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no
Initializing PIMD BZP barostat...
The barostat mass is W = 2.3401256650800001e+01
thermo_style custom step temp f_1[*] vol press thermo_style custom step temp f_1[*] vol press
thermo 100 thermo 100
@ -43,15 +41,6 @@ thermo_modify norm no
run 1000 run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Initializing PI Langevin equation thermostat...
Bead ID | omega | tau | c1 | c2
0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02
1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01
3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
PILE_L thermostat successfully initialized!
Neighbor list info ... Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000 max neighbors/atom: 2000, page size: 100000
@ -66,31 +55,31 @@ Neighbor list info ...
bin: standard bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press
0 0 0 11.920908 -7.3063682 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -167.65544 0 0 0 11.920908 -7.3063682 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -167.65544
100 483.61933 12.440028 11.405863 -7.7749671 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 606.14668 100 483.61933 12.440028 11.405863 -7.7749671 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 606.14668
200 452.03836 11.627678 11.47094 -8.2534927 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 583.5476 200 452.03836 11.627678 11.47094 -8.2534927 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 583.5476
300 470.25997 12.096389 11.739306 -8.3750153 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1152.6851 300 470.25997 12.096389 11.739306 -8.3750153 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1152.6851
400 459.46597 11.818737 12.502421 -8.5240576 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1381.0251 400 459.46597 11.818737 12.502421 -8.5240576 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1381.0251
500 442.73121 11.388273 11.19396 -8.6488583 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1000.6119 500 442.73121 11.388273 11.19396 -8.6488583 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1000.6119
600 493.47034 12.693424 11.91335 -8.4625706 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 904.52944 600 493.47034 12.693424 11.91335 -8.4625706 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 904.52944
700 470.04548 12.090871 10.348757 -8.278182 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 715.22796 700 470.04548 12.090871 10.348757 -8.278182 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 715.22796
800 458.04928 11.782296 11.152029 -8.0926613 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 678.21261 800 458.04928 11.782296 11.152029 -8.0926613 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 678.21261
900 468.60547 12.05383 10.937315 -8.0319335 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 735.24377 900 468.60547 12.05383 10.937315 -8.0319335 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 735.24377
1000 427.44192 10.99499 11.916587 -8.2229199 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 637.98311 1000 427.44192 10.99499 11.916587 -8.2229199 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 637.98311
Loop time of 0.248186 on 1 procs for 1000 steps with 200 atoms Loop time of 0.218435 on 1 procs for 1000 steps with 200 atoms
Performance: 348.126 ns/day, 0.069 hours/ns, 4029.238 timesteps/s, 805.848 katom-step/s Performance: 395.541 ns/day, 0.061 hours/ns, 4578.021 timesteps/s, 915.604 katom-step/s
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads 99.1% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.14654 | 0.14654 | 0.14654 | 0.0 | 59.04 Pair | 0.11791 | 0.11791 | 0.11791 | 0.0 | 53.98
Neigh | 0.00099986 | 0.00099986 | 0.00099986 | 0.0 | 0.40 Neigh | 0.0010247 | 0.0010247 | 0.0010247 | 0.0 | 0.47
Comm | 0.0041628 | 0.0041628 | 0.0041628 | 0.0 | 1.68 Comm | 0.0035577 | 0.0035577 | 0.0035577 | 0.0 | 1.63
Output | 0.00018019 | 0.00018019 | 0.00018019 | 0.0 | 0.07 Output | 0.00011003 | 0.00011003 | 0.00011003 | 0.0 | 0.05
Modify | 0.094878 | 0.094878 | 0.094878 | 0.0 | 38.23 Modify | 0.09496 | 0.09496 | 0.09496 | 0.0 | 43.47
Other | | 0.001424 | | | 0.57 Other | | 0.0008711 | | | 0.40
Nlocal: 200 ave 200 max 200 min Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,5 +1,6 @@
LAMMPS (28 Mar 2023) LAMMPS (3 Aug 2023)
Processor partition = 2 Processor partition = 2
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad variable ibead uloop 99 pad
@ -17,7 +18,7 @@ Reading data file ...
200 atoms 200 atoms
reading velocities ... reading velocities ...
200 velocities 200 velocities
read_data CPU = 0.001 seconds read_data CPU = 0.002 seconds
pair_coeff * * 0.00965188 3.4 pair_coeff * * 0.00965188 3.4
pair_modify shift yes pair_modify shift yes
@ -29,10 +30,7 @@ timestep 0.001
velocity all create 0.0 ${ibead} velocity all create 0.0 ${ibead}
velocity all create 0.0 03 velocity all create 0.0 03
fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no
Initializing PIMD BZP barostat...
The barostat mass is W = 2.3401256650800001e+01
thermo_style custom step temp f_1[*] vol press thermo_style custom step temp f_1[*] vol press
thermo 100 thermo 100
@ -43,15 +41,6 @@ thermo_modify norm no
run 1000 run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Initializing PI Langevin equation thermostat...
Bead ID | omega | tau | c1 | c2
0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02
1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01
3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
PILE_L thermostat successfully initialized!
Neighbor list info ... Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000 max neighbors/atom: 2000, page size: 100000
@ -66,31 +55,31 @@ Neighbor list info ...
bin: standard bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press
0 0 0 10.862314 -7.320388 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -175.34503 0 0 0 10.862314 -7.320388 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -175.34503
100 455.18121 11.708521 11.48472 -7.8033686 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 526.41632 100 455.18121 11.708521 11.48472 -7.8033686 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 526.41632
200 460.81997 11.853566 10.817157 -8.2276485 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 615.80924 200 460.81997 11.853566 10.817157 -8.2276485 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 615.80924
300 481.48652 12.385166 10.035423 -8.3866916 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1169.2917 300 481.48652 12.385166 10.035423 -8.3866916 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1169.2917
400 487.3584 12.536208 11.766522 -8.3643382 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1574.1427 400 487.3584 12.536208 11.766522 -8.3643382 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1574.1427
500 446.36019 11.48162 12.144202 -8.680266 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 979.68395 500 446.36019 11.48162 12.144202 -8.680266 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 979.68395
600 500.3783 12.871115 11.075008 -8.47833 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 912.39361 600 500.3783 12.871115 11.075008 -8.47833 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 912.39361
700 435.40634 11.199857 10.923558 -8.3090105 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 617.20857 700 435.40634 11.199857 10.923558 -8.3090105 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 617.20857
800 446.82793 11.493652 11.599712 -8.0900498 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 652.13243 800 446.82793 11.493652 11.599712 -8.0900498 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 652.13243
900 448.28506 11.531133 12.130739 -8.0810557 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 674.68073 900 448.28506 11.531133 12.130739 -8.0810557 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 674.68073
1000 440.94913 11.342433 10.765654 -8.1419484 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 730.67128 1000 440.94913 11.342433 10.765654 -8.1419484 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 730.67128
Loop time of 0.248185 on 1 procs for 1000 steps with 200 atoms Loop time of 0.218435 on 1 procs for 1000 steps with 200 atoms
Performance: 348.128 ns/day, 0.069 hours/ns, 4029.259 timesteps/s, 805.852 katom-step/s Performance: 395.541 ns/day, 0.061 hours/ns, 4578.019 timesteps/s, 915.604 katom-step/s
97.8% CPU use with 1 MPI tasks x 1 OpenMP threads 99.1% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.14702 | 0.14702 | 0.14702 | 0.0 | 59.24 Pair | 0.12079 | 0.12079 | 0.12079 | 0.0 | 55.30
Neigh | 0.0010003 | 0.0010003 | 0.0010003 | 0.0 | 0.40 Neigh | 0.0010224 | 0.0010224 | 0.0010224 | 0.0 | 0.47
Comm | 0.0039821 | 0.0039821 | 0.0039821 | 0.0 | 1.60 Comm | 0.0035478 | 0.0035478 | 0.0035478 | 0.0 | 1.62
Output | 0.00023527 | 0.00023527 | 0.00023527 | 0.0 | 0.09 Output | 0.00010889 | 0.00010889 | 0.00010889 | 0.0 | 0.05
Modify | 0.094519 | 0.094519 | 0.094519 | 0.0 | 38.08 Modify | 0.092098 | 0.092098 | 0.092098 | 0.0 | 42.16
Other | | 0.001427 | | | 0.58 Other | | 0.0008684 | | | 0.40
Nlocal: 200 ave 200 max 200 min Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,5 +1,6 @@
LAMMPS (28 Mar 2023) LAMMPS (3 Aug 2023)
Processor partition = 3 Processor partition = 3
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad variable ibead uloop 99 pad
@ -29,10 +30,7 @@ timestep 0.001
velocity all create 0.0 ${ibead} velocity all create 0.0 ${ibead}
velocity all create 0.0 04 velocity all create 0.0 04
fix 1 all pimd/langevin ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no fix 1 all pimd/langevin method nmpimd ensemble npt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 iso 1.0 barostat BZP taup 1.0 fixcom no
Initializing PIMD BZP barostat...
The barostat mass is W = 2.3401256650800001e+01
thermo_style custom step temp f_1[*] vol press thermo_style custom step temp f_1[*] vol press
thermo 100 thermo 100
@ -43,15 +41,6 @@ thermo_modify norm no
run 1000 run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Initializing PI Langevin equation thermostat...
Bead ID | omega | tau | c1 | c2
0 0.00000000e+00 1.00000000e+00 9.99500125e-01 3.16148726e-02
1 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
2 1.18509233e+02 4.21908054e-03 8.88243614e-01 4.59372705e-01
3 8.37986825e+01 5.96668092e-03 9.19616372e-01 3.92817678e-01
PILE_L thermostat successfully initialized!
Neighbor list info ... Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000 max neighbors/atom: 2000, page size: 100000
@ -66,31 +55,31 @@ Neighbor list info ...
bin: standard bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] f_1[11] f_1[12] f_1[13] f_1[14] f_1[15] Volume Press
0 0 0 10.794425 -7.3457072 4.3005229 -21.877018 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -191.02389 0 0 0 10.794425 -7.3457072 4.3005229 3.3062167 -8.7249482 2.9571502 -1743.5332 -698.49808 -172.07477 0 0 0.033460054 -0.37064378 4.216227 13402.228 -191.02389
100 426.01705 10.958338 12.206372 -7.8040582 42.886648 -23.396327 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 464.39271 100 426.01705 10.958338 12.206372 -7.8040582 42.886648 2.9263894 -1.980193 2.954003 -1888.0547 -1648.7118 -332.0298 -0.099139345 0.11500091 0.033044702 -0.3701566 42.83112 13235.861 464.39271
200 414.52703 10.662783 11.934129 -8.2331312 41.690123 -22.521598 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 502.87052 200 414.52703 10.662783 11.934129 -8.2331312 41.690123 3.1450717 -4.273021 2.9600599 -1906.2904 -1609.02 -265.94404 -0.20527926 0.49305948 0.031504957 -0.36829556 41.729191 12619.125 502.87052
300 424.85622 10.928478 11.681713 -8.357621 43.180131 -21.755813 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1058.1162 300 424.85622 10.928478 11.681713 -8.357621 43.180131 3.336518 -7.7032433 2.9714114 -1968.7685 290.49656 251.72564 -0.21935745 0.56300721 0.029467915 -0.36568855 43.236828 11803.2 1058.1162
400 485.80103 12.496148 12.255827 -8.3658975 49.109699 -24.824142 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1570.2486 400 485.80103 12.496148 12.255827 -8.3658975 49.109699 2.5694358 2.9744597 2.9794185 -2335.993 1368.7398 570.03286 -0.028366234 0.0094148316 0.028338146 -0.36416383 49.028096 11350.678 1570.2486
500 462.99006 11.909386 11.187609 -8.6934698 45.427771 -22.825143 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1014.2134 500 462.99006 11.909386 11.187609 -8.6934698 45.427771 3.0691855 16.22356 2.9684828 -2113.91 -272.84753 185.53392 0.091614289 0.098205455 0.028793585 -0.36478567 45.368325 11533.101 1014.2134
600 465.24407 11.967366 11.168375 -8.4422887 47.783726 -22.456104 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 864.12413 600 465.24407 11.967366 11.168375 -8.4422887 47.783726 3.1614452 6.837575 2.967236 -2023.8117 -918.27943 -2.4106994 0.093360761 0.10198539 0.029589188 -0.36584873 47.725157 11851.775 864.12413
700 426.16111 10.962044 11.000011 -8.2855512 42.626187 -20.571698 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 614.76939 700 426.16111 10.962044 11.000011 -8.2855512 42.626187 3.6325468 -5.7252564 2.9560528 -1806.9448 -1418.2247 -148.41657 0.075011202 0.065835696 0.030359455 -0.36685105 42.558523 12160.301 614.76939
800 454.53159 11.691811 10.834606 -8.0654281 45.160336 -21.885719 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 684.85907 800 454.53159 11.691811 10.834606 -8.0654281 45.160336 3.3040415 -6.7745694 2.9575472 -1894.3641 -1329.3179 -136.42193 0.011114896 0.0014455064 0.030808183 -0.3674233 45.076543 12340.037 684.85907
900 441.72064 11.362278 10.4492 -8.0786302 45.604542 -21.816625 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 659.68525 900 441.72064 11.362278 10.4492 -8.0786302 45.604542 3.321315 5.586068 2.9578604 -1890.4653 -1271.1107 -111.89061 -0.020285587 0.0048148677 0.030774258 -0.36738033 45.521594 12326.448 659.68525
1000 429.90929 11.058457 11.851933 -8.1578394 45.264242 -22.833545 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 698.73278 1000 429.90929 11.058457 11.851933 -8.1578394 45.264242 3.0670849 6.9260573 2.960122 -2007.6188 -1179.7125 -70.907567 -0.062733519 0.046047757 0.030329191 -0.36681215 45.191633 12148.179 698.73278
Loop time of 0.248175 on 1 procs for 1000 steps with 200 atoms Loop time of 0.218441 on 1 procs for 1000 steps with 200 atoms
Performance: 348.141 ns/day, 0.069 hours/ns, 4029.409 timesteps/s, 805.882 katom-step/s Performance: 395.530 ns/day, 0.061 hours/ns, 4577.899 timesteps/s, 915.580 katom-step/s
98.1% CPU use with 1 MPI tasks x 1 OpenMP threads 99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown: MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total Section | min time | avg time | max time |%varavg| %total
--------------------------------------------------------------- ---------------------------------------------------------------
Pair | 0.14919 | 0.14919 | 0.14919 | 0.0 | 60.12 Pair | 0.11655 | 0.11655 | 0.11655 | 0.0 | 53.35
Neigh | 0.00099112 | 0.00099112 | 0.00099112 | 0.0 | 0.40 Neigh | 0.0010236 | 0.0010236 | 0.0010236 | 0.0 | 0.47
Comm | 0.0040992 | 0.0040992 | 0.0040992 | 0.0 | 1.65 Comm | 0.0035622 | 0.0035622 | 0.0035622 | 0.0 | 1.63
Output | 0.0001723 | 0.0001723 | 0.0001723 | 0.0 | 0.07 Output | 0.0001071 | 0.0001071 | 0.0001071 | 0.0 | 0.05
Modify | 0.092299 | 0.092299 | 0.092299 | 0.0 | 37.19 Modify | 0.096348 | 0.096348 | 0.096348 | 0.0 | 44.11
Other | | 0.00142 | | | 0.57 Other | | 0.0008537 | | | 0.39
Nlocal: 200 ave 200 max 200 min Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0 Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -0,0 +1,2 @@
LAMMPS (3 Aug 2023)
Running on 4 partitions of processors

View File

@ -0,0 +1,103 @@
LAMMPS (3 Aug 2023)
Processor partition = 0
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad
units metal
atom_style atomic
atom_modify map yes
boundary p p p
pair_style lj/cut 9.5251
read_data data.metalnpt${ibead}
read_data data.metalnpt01
Reading data file ...
orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697)
1 by 1 by 1 MPI processor grid
reading atoms ...
200 atoms
reading velocities ...
200 velocities
read_data CPU = 0.001 seconds
pair_coeff * * 0.00965188 3.4
pair_modify shift yes
mass 1 39.948
timestep 0.001
velocity all create 0.0 ${ibead}
velocity all create 0.0 01
fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no
thermo_style custom step temp f_1[*] vol press
thermo 100
thermo_modify norm no
# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz
# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f"
run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Initializing PI Langevin equation thermostat...
Bead ID | omega | tau | c1 | c2
0 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02
1 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02
2 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02
3 5.92546167e+01 1.00000000e+00 9.99500125e-01 3.16148726e-02
PILE_L thermostat successfully initialized!
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 11.5251
ghost atom cutoff = 11.5251
binsize = 5.76255, bins = 5 5 5
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
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press
0 0 0 8.8893303 -7.3046601 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -164.47373
100 248.24141 6.3854564 4.1458616 -7.7546467 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 26.894568
200 346.2569 8.9066861 2.6427185 -7.8943744 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 91.225638
300 217.65314 5.5986414 7.0223362 -7.788449 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -125.00786
400 266.83825 6.8638187 6.2507813 -7.7241546 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 21.104834
500 342.40379 8.8075736 5.1959052 -7.7020799 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 208.60351
600 280.37754 7.2120867 8.0025846 -7.5954127 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 162.09838
700 377.11625 9.700474 6.0049074 -7.5861377 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 389.35575
800 378.36221 9.7325237 6.1704761 -7.6170017 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 387.71781
900 271.99864 6.9965581 9.037081 -7.4781664 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 266.3664
1000 362.4753 9.3238683 8.0266514 -7.4835536 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 433.67079
Loop time of 0.166656 on 1 procs for 1000 steps with 200 atoms
Performance: 518.435 ns/day, 0.046 hours/ns, 6000.401 timesteps/s, 1.200 Matom-step/s
99.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.10478 | 0.10478 | 0.10478 | 0.0 | 62.87
Neigh | 0.00096007 | 0.00096007 | 0.00096007 | 0.0 | 0.58
Comm | 0.0035065 | 0.0035065 | 0.0035065 | 0.0 | 2.10
Output | 0.0001037 | 0.0001037 | 0.0001037 | 0.0 | 0.06
Modify | 0.056454 | 0.056454 | 0.056454 | 0.0 | 33.87
Other | | 0.0008515 | | | 0.51
Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1360 ave 1360 max 1360 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9544 ave 9544 max 9544 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9544
Ave neighs/atom = 47.72
Neighbor list builds = 4
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,95 @@
LAMMPS (3 Aug 2023)
Processor partition = 1
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad
units metal
atom_style atomic
atom_modify map yes
boundary p p p
pair_style lj/cut 9.5251
read_data data.metalnpt${ibead}
read_data data.metalnpt02
Reading data file ...
orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697)
1 by 1 by 1 MPI processor grid
reading atoms ...
200 atoms
reading velocities ...
200 velocities
read_data CPU = 0.001 seconds
pair_coeff * * 0.00965188 3.4
pair_modify shift yes
mass 1 39.948
timestep 0.001
velocity all create 0.0 ${ibead}
velocity all create 0.0 02
fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no
thermo_style custom step temp f_1[*] vol press
thermo 100
thermo_modify norm no
# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz
# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f"
run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 11.5251
ghost atom cutoff = 11.5251
binsize = 5.76255, bins = 5 5 5
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
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press
0 0 0 8.4854554 -7.3063682 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -167.65544
100 231.55472 5.9562285 3.9188988 -7.7552569 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 -9.7693407
200 366.33366 9.423116 2.3606144 -7.8893287 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 131.05061
300 213.74457 5.4981021 6.4391043 -7.7947526 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -136.92734
400 273.60832 7.0379636 5.6777233 -7.7709858 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 -0.14681392
500 338.99655 8.7199299 5.4335645 -7.7194465 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 190.1705
600 298.58126 7.6803369 7.2512164 -7.5741948 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 226.78095
700 352.53291 9.0681226 5.4845895 -7.5875298 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 335.39327
800 389.70585 10.024313 5.143907 -7.6218106 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 409.36108
900 285.3019 7.3387547 7.6228894 -7.5140003 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 266.93105
1000 345.35667 8.8835299 6.9652602 -7.5180013 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 368.83819
Loop time of 0.16666 on 1 procs for 1000 steps with 200 atoms
Performance: 518.420 ns/day, 0.046 hours/ns, 6000.230 timesteps/s, 1.200 Matom-step/s
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.10798 | 0.10798 | 0.10798 | 0.0 | 64.79
Neigh | 0.00097784 | 0.00097784 | 0.00097784 | 0.0 | 0.59
Comm | 0.0035304 | 0.0035304 | 0.0035304 | 0.0 | 2.12
Output | 8.5625e-05 | 8.5625e-05 | 8.5625e-05 | 0.0 | 0.05
Modify | 0.05322 | 0.05322 | 0.05322 | 0.0 | 31.93
Other | | 0.0008694 | | | 0.52
Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1360 ave 1360 max 1360 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9552 ave 9552 max 9552 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9552
Ave neighs/atom = 47.76
Neighbor list builds = 4
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,95 @@
LAMMPS (3 Aug 2023)
Processor partition = 2
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad
units metal
atom_style atomic
atom_modify map yes
boundary p p p
pair_style lj/cut 9.5251
read_data data.metalnpt${ibead}
read_data data.metalnpt03
Reading data file ...
orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697)
1 by 1 by 1 MPI processor grid
reading atoms ...
200 atoms
reading velocities ...
200 velocities
read_data CPU = 0.001 seconds
pair_coeff * * 0.00965188 3.4
pair_modify shift yes
mass 1 39.948
timestep 0.001
velocity all create 0.0 ${ibead}
velocity all create 0.0 03
fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no
thermo_style custom step temp f_1[*] vol press
thermo 100
thermo_modify norm no
# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz
# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f"
run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 11.5251
ghost atom cutoff = 11.5251
binsize = 5.76255, bins = 5 5 5
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
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press
0 0 0 8.4016332 -7.320388 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -175.34503
100 235.06814 6.0466034 4.1185166 -7.7660023 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 -7.6578222
200 341.9927 8.7969992 2.7767151 -7.9109058 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 69.587081
300 206.29873 5.3065745 7.3388955 -7.7440046 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -118.3143
400 305.56268 7.8599181 5.7681208 -7.7110516 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 107.63706
500 313.47536 8.0634543 5.5086382 -7.7030371 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 145.14899
600 258.53638 6.6502715 8.1299001 -7.6530176 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 92.36234
700 357.63679 9.1994085 6.539048 -7.6186515 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 329.17147
800 391.32883 10.066061 5.7809035 -7.6148923 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 415.13205
900 308.61185 7.9383512 8.9544585 -7.4803275 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 341.46691
1000 317.70376 8.1722204 7.3013798 -7.4667312 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 352.92253
Loop time of 0.16666 on 1 procs for 1000 steps with 200 atoms
Performance: 518.420 ns/day, 0.046 hours/ns, 6000.235 timesteps/s, 1.200 Matom-step/s
98.6% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.10509 | 0.10509 | 0.10509 | 0.0 | 63.06
Neigh | 0.00096379 | 0.00096379 | 0.00096379 | 0.0 | 0.58
Comm | 0.0035557 | 0.0035557 | 0.0035557 | 0.0 | 2.13
Output | 7.8072e-05 | 7.8072e-05 | 7.8072e-05 | 0.0 | 0.05
Modify | 0.05611 | 0.05611 | 0.05611 | 0.0 | 33.67
Other | | 0.0008601 | | | 0.52
Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1364 ave 1364 max 1364 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9545 ave 9545 max 9545 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9545
Ave neighs/atom = 47.725
Neighbor list builds = 4
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,95 @@
LAMMPS (3 Aug 2023)
Processor partition = 3
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
variable ibead uloop 99 pad
units metal
atom_style atomic
atom_modify map yes
boundary p p p
pair_style lj/cut 9.5251
read_data data.metalnpt${ibead}
read_data data.metalnpt04
Reading data file ...
orthogonal box = (-11.876697 -11.876697 -11.876697) to (11.876697 11.876697 11.876697)
1 by 1 by 1 MPI processor grid
reading atoms ...
200 atoms
reading velocities ...
200 velocities
read_data CPU = 0.001 seconds
pair_coeff * * 0.00965188 3.4
pair_modify shift yes
mass 1 39.948
timestep 0.001
velocity all create 0.0 ${ibead}
velocity all create 0.0 04
fix 1 all pimd/langevin method pimd ensemble nvt integrator obabo thermostat PILE_L 1234 tau 1.0 temp 113.15 taup 1.0 fixcom no
thermo_style custom step temp f_1[*] vol press
thermo 100
thermo_modify norm no
# dump dcd all custom 100 ${ibead}.dcd id type xu yu zu vx vy vz ix iy iz fx fy fz
# dump_modify dcd sort id format line "%d %d %.16f %.16f %.16f %.16f %.16f %.16f %d %d %d %.16f %.16f %.16f"
run 1000
Generated 0 of 0 mixed pair_coeff terms from geometric mixing rule
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 11.5251
ghost atom cutoff = 11.5251
binsize = 5.76255, bins = 5 5 5
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
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.121 | 3.121 | 3.121 Mbytes
Step Temp f_1[1] f_1[2] f_1[3] f_1[4] f_1[5] f_1[6] f_1[7] f_1[8] f_1[9] f_1[10] Volume Press
0 0 0 7.8012276 -7.3457072 4.3005229 3.3062167 0 0 -1743.5332 0 0 13402.228 -191.02389
100 241.19035 6.2040835 3.9473764 -7.7641902 9.6829291 3.3062167 0 0 -1743.5332 0.00061164884 127.22547 13402.228 3.5720518
200 325.21166 8.3653443 2.3529831 -7.9137212 14.016847 3.3062167 0 0 -1743.5332 0.00088274242 177.45909 13402.228 33.184125
300 209.19735 5.381135 6.7063061 -7.801056 18.162833 3.3062167 0 0 -1743.5332 0.00054181173 111.54876 13402.228 -154.10632
400 280.84513 7.2241142 5.8838331 -7.7320495 21.628032 3.3062167 0 0 -1743.5332 0.0007209203 136.75648 13402.228 45.624285
500 367.15726 9.4443014 5.2842629 -7.6643085 25.668758 3.3062167 0 0 -1743.5332 0.00087137898 175.48435 13402.228 283.59979
600 294.68254 7.5800508 6.5104311 -7.6234652 28.570788 3.3062167 0 0 -1743.5332 0.00072432598 143.69546 13402.228 183.09906
700 356.64514 9.1739005 5.2769462 -7.6204507 30.034627 3.3062167 0 0 -1743.5332 0.00092377441 193.27472 13402.228 334.31754
800 360.77353 9.2800941 5.7976264 -7.6946985 31.447502 3.3062167 0 0 -1743.5332 0.00097254954 193.91329 13402.228 299.62001
900 291.14241 7.4889889 7.5124196 -7.5102882 32.906719 3.3062167 0 0 -1743.5332 0.00074024142 139.40121 13402.228 277.94834
1000 362.48694 9.3241677 6.8711151 -7.4856221 34.914285 3.3062167 0 0 -1743.5332 0.00088800624 185.77114 13402.228 428.98682
Loop time of 0.166662 on 1 procs for 1000 steps with 200 atoms
Performance: 518.414 ns/day, 0.046 hours/ns, 6000.167 timesteps/s, 1.200 Matom-step/s
98.5% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.10817 | 0.10817 | 0.10817 | 0.0 | 64.90
Neigh | 0.00096402 | 0.00096402 | 0.00096402 | 0.0 | 0.58
Comm | 0.0044991 | 0.0044991 | 0.0044991 | 0.0 | 2.70
Output | 8.5449e-05 | 8.5449e-05 | 8.5449e-05 | 0.0 | 0.05
Modify | 0.052066 | 0.052066 | 0.052066 | 0.0 | 31.24
Other | | 0.00088 | | | 0.53
Nlocal: 200 ave 200 max 200 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 1368 ave 1368 max 1368 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 9541 ave 9541 max 9541 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 9541
Ave neighs/atom = 47.705
Neighbor list builds = 4
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -1 +1,3 @@
mpirun -np 4 $LMP -in in.lmp -p 4x1 -log log -screen screen mpirun -np 4 $LMP -in in.langevin.metal -p 4x1 -log log.langevin.metal -screen screen
mpirun -np 4 $LMP -in in.pimd-langevin.metal -p 4x1 -log log.pimd-langevin.metal -screen screen

View File

@ -50,5 +50,6 @@ fix 10 all balance 50 0.9 rcb
thermo_style custom step temp epair press f_10[3] f_10 thermo_style custom step temp epair press f_10[3] f_10
thermo 100 thermo 100
timestep 0.001
run 10000 run 10000

View File

@ -59,5 +59,6 @@ fix 10 all balance 50 0.9 rcb
thermo_style custom step temp epair press f_10[3] f_10 thermo_style custom step temp epair press f_10[3] f_10
thermo 100 thermo 100
timestep 0.001
run 10000 run 10000

View File

@ -58,5 +58,6 @@ fix 10 all balance 50 0.9 rcb
thermo_style custom step temp epair press f_10[3] f_10 thermo_style custom step temp epair press f_10[3] f_10
thermo 100 thermo 100
timestep 0.001
run 40000 run 40000

View File

@ -1,242 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 2d circle of particles inside a box with LJ walls
variable b index 0
variable x index 50
variable y index 20
variable d index 20
variable v index 5
variable w index 2
units lj
dimension 2
atom_style bond
boundary f f p
lattice hex 0.85
Lattice spacing in x,y,z = 1.16553 2.01877 1.16553
region box block 0 $x 0 $y -0.5 0.5
region box block 0 50 0 $y -0.5 0.5
region box block 0 50 0 20 -0.5 0.5
create_box 1 box bond/types 1 extra/bond/per/atom 6
Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767)
2 by 1 by 1 MPI processor grid
region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 10
create_atoms 1 region circle
Created 361 atoms
Time spent = 0.000778913 secs
mass 1 1.0
velocity all create 0.5 87287 loop geom
velocity all set $v $w 0 sum yes
velocity all set 5 $w 0 sum yes
velocity all set 5 2 0 sum yes
pair_style lj/cut 2.5
pair_coeff 1 1 10.0 1.0 2.5
bond_style harmonic
bond_coeff 1 10.0 1.2
# need to preserve 1-3, 1-4 pairwise interactions during hard collisions
special_bonds lj/coul 0 1 1
0 = max # of 1-2 neighbors
1 = max # of special neighbors
create_bonds many all all 1 1.0 1.5
Neighbor list info ...
update every 1 steps, delay 10 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 = 42 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command create_bonds, occasional
attributes: full, newton on
pair build: full/bin
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Added 1014 bonds, new total = 1014
6 = max # of 1-2 neighbors
6 = max # of special neighbors
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5
comm_style tiled
comm_modify cutoff 10.0 # because bonds stretch a long ways
fix 10 all balance 50 0.9 rcb
#compute 1 all property/atom proc
#variable p atom (c_1%10)+1
#dump 2 all custom 50 tmp.dump id v_p x y z
#dump 3 all image 50 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02
#variable colors string # "red green blue yellow white # purple pink orange lime gray"
#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors}
thermo_style custom step temp epair press f_10[3] f_10
thermo 100
run 10000
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 = 10
binsize = 1.4, bins = 42 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.156 | 5.167 | 5.177 Mbytes
Step Temp E_pair Press f_10[3] f_10
0 25.701528 -2.2032569 3.1039469 2 1.0193906
100 27.623422 -6.228166 2.6542136 1.0803324 1.0027701
200 33.35302 -15.746749 3.2018248 1.1246537 1.0027701
300 39.17734 -24.1557 4.9116986 1.1468144 1.0027701
400 41.660701 -27.615203 8.6214678 1.2077562 1.0027701
500 37.154935 -24.096954 3.2656298 1.2243767 1.0083102
600 35.062196 -21.527799 2.3688444 1.1800554 1.0027701
700 36.962955 -22.265373 3.0233424 1.1800554 1.0083102
800 38.514356 -24.625735 5.2876402 1.2077562 1.0027701
900 37.840168 -24.069158 4.443617 1.2022161 1.0083102
1000 36.429396 -23.978878 7.2603394 1.1966759 1.0027701
1100 34.75827 -22.743232 6.6304628 1.1745152 1.0083102
1200 31.057199 -21.46544 3.7869701 1.1634349 1.0083102
1300 33.127345 -22.426161 5.824726 1.0858726 1.0027701
1400 31.678654 -21.604473 3.2219261 1.0360111 1.0083102
1500 28.345212 -18.030807 0.93335223 1.1191136 1.0027701
1600 26.031412 -15.389052 0.82549542 1.1080332 1.0027701
1700 25.082832 -13.48625 1.0006592 1.0858726 1.0027701
1800 25.673875 -13.965883 0.54607043 1.0692521 1.0027701
1900 26.530842 -13.979318 2.0285449 1.1024931 1.0027701
2000 25.910771 -14.244515 1.9592232 1.1191136 1.0027701
2100 28.505636 -16.220559 1.7154775 1.1191136 1.0027701
2200 28.142753 -15.564302 2.9946076 1.1135734 1.0027701
2300 26.606225 -13.734442 1.4589278 1.0083102 1.0083102
2400 25.664988 -12.389759 1.3450183 1.0360111 1.0027701
2500 25.145328 -11.815173 0.48162788 1.0360111 1.0027701
2600 26.654868 -13.916929 2.8361012 1.0581717 1.0083102
2700 27.3758 -15.495452 4.1206412 1.0360111 1.0027701
2800 23.60864 -14.520038 1.8948923 1.0193906 1.0027701
2900 20.604557 -12.901121 0.17526991 1.0138504 1.0027701
3000 20.852473 -12.756946 -0.44987285 1.0360111 1.0027701
3100 21.934986 -12.797691 0.76186765 1.0415512 1.0027701
3200 23.293263 -12.368233 0.021937309 1.0526316 1.0027701
3300 22.091492 -10.88605 0.013006632 1.0415512 1.0083102
3400 23.535429 -10.937804 2.0738989 1.0360111 1.0027701
3500 24.503573 -12.202994 1.126785 1.0581717 1.0027701
3600 23.54503 -12.745709 0.39022194 1.0858726 1.0027701
3700 22.658187 -10.986188 -0.18869692 1.0692521 1.0027701
3800 21.282045 -9.7879088 -0.061253454 1.0193906 1.0027701
3900 20.571754 -9.1157993 -1.0178917 1.0526316 1.0027701
4000 23.779702 -10.230328 1.0778525 1.0581717 1.0083102
4100 23.675854 -10.63724 0.59402249 1.0415512 1.0027701
4200 24.058963 -11.89505 0.3866378 1.0526316 1.0027701
4300 22.683721 -11.358978 1.8269036 1.0470914 1.0083102
4400 23.002345 -11.081443 0.4529456 1.0415512 1.0027701
4500 21.984542 -10.233276 -0.60718244 1.0415512 1.0083102
4600 22.079237 -9.979061 0.53013572 1.0415512 1.0027701
4700 22.336961 -10.323583 -0.37512832 1.0249307 1.0027701
4800 23.351699 -10.143724 0.95694397 1.0470914 1.0027701
4900 23.643954 -10.687354 1.6062522 1.0858726 1.0083102
5000 25.158132 -11.532398 1.3083639 1.0914127 1.0027701
5100 23.755521 -10.978548 0.60587307 1.0470914 1.0027701
5200 21.842692 -10.443216 -0.41185899 1.0637119 1.0027701
5300 22.828066 -10.871114 1.1754353 1.0470914 1.0027701
5400 24.883977 -12.39165 0.65101173 1.0470914 1.0027701
5500 22.908286 -11.419431 1.4712698 1.0637119 1.0027701
5600 22.718634 -12.083974 1.5706808 1.0526316 1.0027701
5700 23.080763 -11.464882 1.2979578 1.0304709 1.0083102
5800 21.877026 -11.483185 0.279772 1.0360111 1.0027701
5900 22.526809 -10.868636 0.37121786 1.0637119 1.0083102
6000 22.908857 -10.311118 0.58244569 1.0526316 1.0083102
6100 22.399847 -10.222706 0.87875674 1.0858726 1.0027701
6200 22.623463 -10.035541 -0.25811274 1.0304709 1.0027701
6300 21.518006 -10.017552 -0.98187611 1.0470914 1.0083102
6400 21.269816 -11.297716 0.20058535 1.0138504 1.0027701
6500 23.362834 -11.263306 0.47670072 1.0692521 1.0027701
6600 23.705236 -12.358492 -0.63286237 1.0027701 1.0027701
6700 22.410623 -10.849516 0.57027834 1.0581717 1.0083102
6800 21.661639 -9.3981379 0.38726515 1.0470914 1.0027701
6900 21.856521 -8.8451751 0.053822789 1.0304709 1.0027701
7000 21.069495 -8.6443387 -0.10412144 1.0193906 1.0027701
7100 22.305494 -10.098469 -0.22662961 1.0581717 1.0027701
7200 23.52884 -11.055929 -0.099869868 1.0692521 1.0027701
7300 24.042008 -11.411758 2.0528788 1.0415512 1.0027701
7400 22.870777 -12.408763 0.33346225 1.0249307 1.0027701
7500 21.290152 -10.963058 0.26940112 1.0083102 1.0027701
7600 21.702686 -10.36214 0.84057004 1.0083102 1.0027701
7700 22.478034 -10.832724 -0.70855164 1.0747922 1.0027701
7800 22.856853 -11.161008 -0.88354803 1.0083102 1.0083102
7900 22.579842 -10.789899 0.40865274 1.0360111 1.0027701
8000 24.364281 -12.116023 -0.44788445 1.0249307 1.0083102
8100 22.993409 -10.261331 0.44712215 1.0193906 1.0027701
8200 23.006207 -10.723372 1.2357091 1.0415512 1.0083102
8300 23.292233 -10.041314 2.143692 1.0581717 1.0027701
8400 21.658087 -10.089378 -0.25838681 1.0083102 1.0027701
8500 23.268456 -10.356603 0.089787317 1.0526316 1.0083102
8600 22.572019 -10.32801 0.12320758 1.0526316 1.0027701
8700 22.970465 -10.662456 0.57027398 1.0581717 1.0083102
8800 23.515552 -10.415842 1.0048598 1.0138504 1.0083102
8900 22.733961 -10.343495 0.19917627 1.0360111 1.0083102
9000 21.835458 -9.8740971 -1.0653164 1.0193906 1.0027701
9100 22.062821 -9.2303832 0.21428267 1.0415512 1.0083102
9200 23.020404 -10.321542 -0.48757848 1.0193906 1.0083102
9300 22.529362 -9.2916938 0.57056277 1.0415512 1.0027701
9400 23.301911 -10.538876 0.80637627 1.0138504 1.0027701
9500 21.984286 -9.4754676 -0.19048233 1.0193906 1.0027701
9600 23.710224 -10.274983 0.72268146 1.0249307 1.0027701
9700 22.317038 -9.3509008 -0.45727658 1.0360111 1.0027701
9800 23.41615 -10.026331 -0.45909049 1.0415512 1.0027701
9900 22.130299 -11.18528 -0.15359132 1.0747922 1.0027701
10000 23.273859 -11.337403 0.4036321 1.0304709 1.0083102
Loop time of 1.18289 on 2 procs for 10000 steps with 361 atoms
Performance: 3652073.393 tau/day, 8453.874 timesteps/s
97.0% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.25191 | 0.25685 | 0.2618 | 1.0 | 21.71
Bond | 0.097655 | 0.098332 | 0.099009 | 0.2 | 8.31
Neigh | 0.53258 | 0.53993 | 0.54728 | 1.0 | 45.65
Comm | 0.13457 | 0.15372 | 0.17288 | 4.9 | 13.00
Output | 0.0013587 | 0.0016007 | 0.0018427 | 0.6 | 0.14
Modify | 0.074109 | 0.074314 | 0.074518 | 0.1 | 6.28
Other | | 0.05813 | | | 4.91
Nlocal: 180.5 ave 182 max 179 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 172.5 ave 175 max 170 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 1421 ave 1488 max 1354 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 2842
Ave neighs/atom = 7.87258
Ave special neighs/atom = 5.61773
Neighbor list builds = 4884
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -1,242 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 2d circle of particles inside a box with LJ walls
variable b index 0
variable x index 50
variable y index 20
variable d index 20
variable v index 5
variable w index 2
units lj
dimension 2
atom_style bond
boundary f f p
lattice hex 0.85
Lattice spacing in x,y,z = 1.16553 2.01877 1.16553
region box block 0 $x 0 $y -0.5 0.5
region box block 0 50 0 $y -0.5 0.5
region box block 0 50 0 20 -0.5 0.5
create_box 1 box bond/types 1 extra/bond/per/atom 6
Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767)
2 by 2 by 1 MPI processor grid
region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 10
create_atoms 1 region circle
Created 361 atoms
Time spent = 0.00067687 secs
mass 1 1.0
velocity all create 0.5 87287 loop geom
velocity all set $v $w 0 sum yes
velocity all set 5 $w 0 sum yes
velocity all set 5 2 0 sum yes
pair_style lj/cut 2.5
pair_coeff 1 1 10.0 1.0 2.5
bond_style harmonic
bond_coeff 1 10.0 1.2
# need to preserve 1-3, 1-4 pairwise interactions during hard collisions
special_bonds lj/coul 0 1 1
0 = max # of 1-2 neighbors
1 = max # of special neighbors
create_bonds many all all 1 1.0 1.5
Neighbor list info ...
update every 1 steps, delay 10 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 = 42 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command create_bonds, occasional
attributes: full, newton on
pair build: full/bin
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Added 1014 bonds, new total = 1014
6 = max # of 1-2 neighbors
6 = max # of special neighbors
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5
comm_style tiled
comm_modify cutoff 10.0 # because bonds stretch a long ways
fix 10 all balance 50 0.9 rcb
#compute 1 all property/atom proc
#variable p atom (c_1%10)+1
#dump 2 all custom 50 tmp.dump id v_p x y z
#dump 3 all image 50 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02
#variable colors string # "red green blue yellow white # purple pink orange lime gray"
#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors}
thermo_style custom step temp epair press f_10[3] f_10
thermo 100
run 10000
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 = 10
binsize = 1.4, bins = 42 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 5.122 | 5.141 | 5.174 Mbytes
Step Temp E_pair Press f_10[3] f_10
0 25.701528 -2.2032569 3.1039469 3.2354571 1.0526316
100 27.623422 -6.228166 2.6542136 1.2631579 1.0083102
200 33.35302 -15.746749 3.2018248 1.2963989 1.0193906
300 39.17734 -24.1557 4.9116986 1.2963989 1.0193906
400 41.660701 -27.615203 8.6214679 1.3518006 1.0083102
500 37.154928 -24.096946 3.2656177 1.3296399 1.0304709
600 35.059873 -21.524223 2.3729526 1.3296399 1.0083102
700 36.735117 -22.012675 3.266197 1.3296399 1.0083102
800 39.218223 -25.076176 4.7162461 1.4182825 1.0193906
900 38.003628 -24.598176 3.4651756 1.4958449 1.0083102
1000 37.599298 -25.117714 4.6714491 1.2963989 1.0193906
1100 35.587211 -24.476201 4.8766816 1.2077562 1.0083102
1200 33.05745 -21.457847 4.7304313 1.2188366 1.0193906
1300 35.505899 -20.103017 7.0543469 1.1523546 1.0193906
1400 32.687958 -18.411286 2.8022421 1.1523546 1.0083102
1500 30.681103 -13.979491 1.5780815 1.1523546 1.0083102
1600 28.134276 -12.408217 1.4370834 1.2188366 1.0193906
1700 29.150676 -12.486223 1.7118526 1.1745152 1.0083102
1800 29.456937 -11.386522 2.0484739 1.1966759 1.0193906
1900 28.029998 -11.168436 0.38519481 1.1080332 1.0193906
2000 29.476997 -12.337678 1.8878345 1.1523546 1.0083102
2100 30.113294 -12.201714 2.8003366 1.1634349 1.0193906
2200 31.599067 -13.710787 2.5654923 1.2188366 1.0083102
2300 31.333799 -12.269386 1.9573739 1.1412742 1.0193906
2400 28.587094 -10.98229 2.090581 1.1745152 1.0083102
2500 28.012332 -11.416553 2.3293146 1.1855956 1.0083102
2600 28.703189 -13.33369 2.7247345 1.1080332 1.0083102
2700 26.933934 -13.546384 0.71447362 1.0415512 1.0304709
2800 24.556936 -12.231427 0.012081842 1.0526316 1.0193906
2900 24.362943 -10.921093 -0.6063159 1.0858726 1.0193906
3000 24.583358 -10.025143 0.35975315 1.0637119 1.0083102
3100 26.119046 -10.124317 0.75140102 1.0415512 1.0193906
3200 27.665317 -11.418452 0.39942176 1.1301939 1.0083102
3300 27.771434 -9.9777413 0.94693011 1.1080332 1.0083102
3400 25.692188 -9.9016885 2.2582772 1.0415512 1.0083102
3500 27.009276 -10.504438 0.98279258 1.1301939 1.0083102
3600 26.082843 -9.4359595 -0.030819747 1.1301939 1.0083102
3700 23.956851 -8.4601884 -0.45748969 1.0858726 1.0304709
3800 24.92141 -8.3315871 -0.19512647 1.0969529 1.0083102
3900 26.048044 -9.6299934 0.40522014 1.0858726 1.0083102
4000 26.558961 -10.032084 0.56213613 1.1745152 1.0083102
4100 26.949686 -10.133598 1.0140825 1.0747922 1.0083102
4200 25.868196 -9.3971859 1.2758465 1.0969529 1.0083102
4300 24.563369 -9.5992996 0.17389949 1.1191136 1.0193906
4400 24.032818 -10.002668 0.10233743 1.0969529 1.0083102
4500 25.281577 -9.948799 0.7590423 1.1523546 1.0083102
4600 25.010901 -10.195479 -0.24424931 1.0747922 1.0193906
4700 25.062368 -9.2973021 1.1755931 1.0858726 1.0193906
4800 25.70912 -8.890895 1.0780397 1.1080332 1.0193906
4900 26.027757 -10.205469 1.0644859 1.1080332 1.0083102
5000 25.845739 -9.8511049 0.49059257 1.1301939 1.0193906
5100 25.614064 -9.0396911 0.40825814 1.0526316 1.0304709
5200 25.548135 -9.000613 0.81571441 1.1080332 1.0083102
5300 26.592601 -9.2385129 1.4983434 1.0637119 1.0193906
5400 26.230779 -9.8226036 1.0072462 1.0858726 1.0083102
5500 26.809887 -9.9569954 1.4074968 1.0415512 1.0083102
5600 25.722206 -10.240487 -0.5216434 1.0747922 1.0193906
5700 24.973866 -9.0820997 0.92104357 1.0193906 1.0083102
5800 24.257134 -9.5439897 -0.75290789 1.0858726 1.0083102
5900 25.524917 -8.9920216 1.2049479 1.1191136 1.0083102
6000 24.816532 -9.5865764 -0.66634446 1.0637119 1.0193906
6100 27.034385 -9.4017037 1.0769494 1.0969529 1.0083102
6200 24.19144 -8.2292864 0.97913204 1.0415512 1.0193906
6300 26.112877 -9.1531212 0.77578963 1.0526316 1.0193906
6400 25.820541 -9.9662231 -0.092724413 1.0969529 1.0193906
6500 26.181404 -9.5875764 -0.30106405 1.1634349 1.0083102
6600 27.770851 -8.8366116 0.94545206 1.0304709 1.0193906
6700 26.065489 -9.8223382 0.24640067 1.0526316 1.0193906
6800 27.468165 -10.160923 2.7263738 1.0747922 1.0304709
6900 27.317955 -10.356911 1.131609 1.0526316 1.0304709
7000 26.343789 -9.9153453 1.0385354 1.0858726 1.0193906
7100 24.366577 -8.9243936 0.37685043 1.0526316 1.0193906
7200 25.570042 -8.9195237 0.44206575 1.0637119 1.0193906
7300 24.635046 -8.4524117 -0.20581694 1.0193906 1.0193906
7400 27.161863 -7.9885934 1.1323072 1.0858726 1.0193906
7500 26.8044 -9.5703931 0.69476535 1.0858726 1.0193906
7600 27.381006 -10.702178 -0.20230101 1.0526316 1.0083102
7700 26.507406 -9.828117 0.50115907 1.0415512 1.0193906
7800 25.945271 -8.9912842 0.89121191 1.0747922 1.0083102
7900 24.498681 -7.7193231 -0.63874494 1.0858726 1.0083102
8000 24.517408 -7.6046107 -0.91642337 1.0415512 1.0083102
8100 26.388387 -8.1883906 0.093136981 1.1080332 1.0193906
8200 26.261054 -8.7223732 -0.086859057 1.0747922 1.0083102
8300 26.287026 -9.2583895 0.79506804 1.0858726 1.0083102
8400 24.691375 -9.0701909 -0.40058151 1.0637119 1.0193906
8500 25.390612 -7.9499801 0.59874113 1.1412742 1.0193906
8600 26.84383 -8.5520984 0.37618599 1.0637119 1.0083102
8700 25.685137 -7.688836 0.035978149 1.0415512 1.0193906
8800 26.614591 -9.0444146 0.20671465 1.0193906 1.0083102
8900 25.782718 -8.2594705 0.54378816 1.0747922 1.0304709
9000 26.026886 -8.6777252 0.25418163 1.1191136 1.0083102
9100 27.246916 -9.0307861 1.211131 1.0526316 1.0193906
9200 27.282948 -9.180029 -0.0056269613 1.0747922 1.0083102
9300 27.029692 -8.7791461 0.35971649 1.0304709 1.0083102
9400 26.549013 -7.5083174 0.77607249 1.0969529 1.0193906
9500 25.533731 -9.2763668 0.28360762 1.0969529 1.0083102
9600 27.997538 -9.2766769 1.6968428 1.0637119 1.0083102
9700 26.977436 -9.21372 1.8007256 1.0637119 1.0083102
9800 25.547091 -9.1024445 -0.29158273 1.0969529 1.0193906
9900 26.378841 -8.7645665 1.0385835 1.1080332 1.0083102
10000 26.699368 -8.5450739 0.19591452 1.0526316 1.0193906
Loop time of 0.916576 on 4 procs for 10000 steps with 361 atoms
Performance: 4713193.307 tau/day, 10910.170 timesteps/s
92.2% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.10915 | 0.12374 | 0.14167 | 3.5 | 13.50
Bond | 0.047075 | 0.049849 | 0.054161 | 1.2 | 5.44
Neigh | 0.31176 | 0.3246 | 0.3384 | 1.7 | 35.41
Comm | 0.24271 | 0.26717 | 0.30549 | 4.9 | 29.15
Output | 0.0017068 | 0.0021075 | 0.0031145 | 1.3 | 0.23
Modify | 0.064639 | 0.065705 | 0.067641 | 0.5 | 7.17
Other | | 0.08341 | | | 9.10
Nlocal: 90.25 ave 92 max 89 min
Histogram: 1 0 0 2 0 0 0 0 0 1
Nghost: 248.25 ave 264 max 230 min
Histogram: 1 0 0 0 0 2 0 0 0 1
Neighs: 569.5 ave 657 max 519 min
Histogram: 2 0 0 0 1 0 0 0 0 1
Total # of neighbors = 2278
Ave neighs/atom = 6.31025
Ave special neighs/atom = 5.61773
Neighbor list builds = 4964
Dangerous builds = 14
Total wall time: 0:00:00

View File

@ -1,541 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 2d circle of particles inside a box with LJ walls
variable b index 0
variable x index 50
variable y index 20
variable d index 20
# careful not to slam into wall too hard
variable v index 0.3
variable w index 0.08
units lj
dimension 2
atom_style bond
boundary f f p
lattice hex 0.85
Lattice spacing in x,y,z = 1.16553 2.01877 1.16553
region box block 0 $x 0 $y -0.5 0.5
region box block 0 50 0 $y -0.5 0.5
region box block 0 50 0 20 -0.5 0.5
create_box 1 box bond/types 1 extra/bond/per/atom 6
Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767)
2 by 1 by 1 MPI processor grid
region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 10
create_atoms 1 region circle
Created 361 atoms
Time spent = 0.000762701 secs
mass 1 1.0
velocity all create 0.5 87287 loop geom
velocity all set $v $w 0 sum yes
velocity all set 0.3 $w 0 sum yes
velocity all set 0.3 0.08 0 sum yes
pair_style lj/cut 2.5
pair_coeff 1 1 10.0 1.0 2.5
bond_style harmonic
bond_coeff 1 10.0 1.2
create_bonds many all all 1 1.0 1.5
Neighbor list info ...
update every 1 steps, delay 10 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 = 42 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command create_bonds, occasional
attributes: full, newton on
pair build: full/bin
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Added 1014 bonds, new total = 1014
6 = max # of 1-2 neighbors
30 = max # of 1-3 neighbors
180 = max # of 1-4 neighbors
36 = max # of special neighbors
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5
comm_style tiled
fix 10 all balance 50 0.9 rcb
#compute 1 all property/atom proc
#variable p atom (c_1%10)+1
#dump 2 all custom 50 tmp.dump id v_p x y z
#dump 3 all image 200 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02
#variable colors string # "red green blue yellow white # purple pink orange lime gray"
#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors}
thermo_style custom step temp epair press f_10[3] f_10
thermo 100
run 40000
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 = 42 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.079 | 7.108 | 7.137 Mbytes
Step Temp E_pair Press f_10[3] f_10
0 0.57437856 0 0.26099453 2 1.0193906
100 0.29756515 0 0.10149401 1.0027701 1.0027701
200 0.35394813 0 0.075159099 1.0027701 1.0083102
300 0.39245849 0 0.033002384 1.0027701 1.0027701
400 0.34078347 0 -0.020825841 1.0083102 1.0027701
500 0.35201095 0 -0.062637506 1.0027701 1.0027701
600 0.34014717 0 -0.11122965 1.0249307 1.0027701
700 0.3323524 0 -0.11598015 1.0083102 1.0027701
800 0.35116047 0 -0.096162395 1.0138504 1.0027701
900 0.35695352 0 -0.01385176 1.0249307 1.0027701
1000 0.36986539 0 0.056772858 1.0027701 1.0027701
1100 0.34584644 0 0.084941323 1.0138504 1.0027701
1200 0.31921435 0 0.10545078 1.0138504 1.0027701
1300 0.32952819 0 0.124902 1.0027701 1.0027701
1400 0.34497365 0 0.12662081 1.0138504 1.0027701
1500 0.33429243 0 0.096230972 1.0193906 1.0027701
1600 0.33765387 0 0.025800542 1.0193906 1.0027701
1700 0.35134464 0 -0.04422593 1.0083102 1.0027701
1800 0.35003859 0 -0.096745576 1.0083102 1.0083102
1900 0.33839618 0 -0.095465943 1.0027701 1.0027701
2000 0.33732078 0 -0.094652802 1.0027701 1.0027701
2100 0.34552238 0 -0.076729261 1.0083102 1.0027701
2200 0.34893142 0 -0.036853228 1.0083102 1.0083102
2300 0.35379341 0 0.021124847 1.0193906 1.0027701
2400 0.34829744 0 0.09230184 1.0027701 1.0027701
2500 0.33038141 0 0.1399855 1.0027701 1.0083102
2600 0.30983019 0 0.12754742 1.0083102 1.0027701
2700 0.32992561 0 0.10485138 1.0193906 1.0027701
2800 0.34604747 0 0.066174138 1.0083102 1.0027701
2900 0.3444791 0 0.036590652 1.0083102 1.0083102
3000 0.34721342 0 -0.023793368 1.0138504 1.0027701
3100 0.33404314 0 -0.08374223 1.0083102 1.0027701
3200 0.33019355 0 -0.12715599 1.0083102 1.0027701
3300 0.33515177 0 -0.12217394 1.0083102 1.0027701
3400 0.33628481 0 -0.070877624 1.0083102 1.0027701
3500 0.34257038 0 -0.021612062 1.0027701 1.0027701
3600 0.32838009 0 0.030131228 1.0027701 1.0027701
3700 0.34462142 0 0.074586378 1.0138504 1.0027701
3800 0.30891825 0 0.10605673 1.0138504 1.0027701
3900 0.33847951 0 0.13956139 1.0027701 1.0027701
4000 0.32952079 0 0.12688129 1.0027701 1.0027701
4100 0.32646772 0 0.081089042 1.0083102 1.0027701
4200 0.35399503 0 0.013422873 1.0027701 1.0027701
4300 0.33154914 0 -0.050919508 1.0027701 1.0083102
4400 0.34113556 0 -0.083171 1.0249307 1.0027701
4500 0.32651708 0 -0.1063133 1.0193906 1.0027701
4600 0.34359609 0 -0.1076395 1.0027701 1.0027701
4700 0.34973537 0 -0.088231606 1.0138504 1.0027701
4800 0.35198515 0 -0.020901044 1.0027701 1.0027701
4900 0.35187284 0 0.043645941 1.0193906 1.0027701
5000 0.34887336 0 0.095698609 1.0027701 1.0027701
5100 0.30308163 0 0.11649328 1.0138504 1.0027701
5200 0.32401285 0 0.12072411 1.0083102 1.0083102
5300 0.33025072 0 0.10933161 1.0138504 1.0027701
5400 0.33288012 0 0.078356448 1.0083102 1.0027701
5500 0.35142492 0 0.036958063 1.0027701 1.0027701
5600 0.35125368 0 -0.041371343 1.0193906 1.0027701
5700 0.34547744 0 -0.096450846 1.0193906 1.0027701
5800 0.30939887 0 -0.12356656 1.0027701 1.0083102
5900 0.32315628 0 -0.11338676 1.0083102 1.0027701
6000 0.34117485 0 -0.066198961 1.0027701 1.0027701
6100 0.35298043 0 -0.016172816 1.0138504 1.0027701
6200 0.35130653 0 0.027660468 1.0027701 1.0027701
6300 0.35398766 0 0.087221238 1.0027701 1.0027701
6400 0.30963379 0 0.11990957 1.0138504 1.0027701
6500 0.3174541 0 0.14103528 1.0083102 1.0083102
6600 0.31989791 0 0.11575506 1.0083102 1.0083102
6700 0.33811477 0 0.060747353 1.0083102 1.0083102
6800 0.3424043 0 0.010357152 1.0083102 1.0027701
6900 0.34804319 0 -0.042621786 1.0083102 1.0027701
7000 0.35357865 0 -0.067248959 1.0027701 1.0027701
7100 0.33556885 0 -0.10983726 1.0083102 1.0027701
7200 0.33531101 0 -0.112179 1.0027701 1.0027701
7300 0.35742607 0 -0.078405267 1.0083102 1.0027701
7400 0.34577559 0 -0.01985432 1.0027701 1.0083102
7500 0.3498641 0 0.052289439 1.0027701 1.0027701
7600 0.33773715 0 0.092939035 1.0027701 1.0027701
7700 0.33093497 0 0.11924405 1.0083102 1.0027701
7800 0.31435814 0 0.12701724 1.0027701 1.0027701
7900 0.33132217 0 0.10793075 1.0083102 1.0027701
8000 0.33451798 0 0.077993125 1.0027701 1.0027701
8100 0.35188371 0 0.019929977 1.0083102 1.0083102
8200 0.33645742 0 -0.039302079 1.0027701 1.0027701
8300 0.3415632 0 -0.098067982 1.0138504 1.0027701
8400 0.30619282 0 -0.12952879 1.0138504 1.0027701
8500 0.34446484 0 -0.098084709 1.0027701 1.0027701
8600 0.33761673 0 -0.07069818 1.0027701 1.0027701
8700 0.34495452 0 -0.022458056 1.0083102 1.0027701
8800 0.33502983 0 0.027742411 1.0027701 1.0027701
8900 0.35418591 0 0.092390134 1.0083102 1.0083102
9000 0.31648387 0 0.12467398 1.0083102 1.0027701
9100 0.33994825 0 0.14460327 1.0138504 1.0027701
9200 0.33822571 0 0.11273284 1.0027701 1.0027701
9300 0.33260773 0 0.060063671 1.0083102 1.0083102
9400 0.36140305 0 0.021427642 1.0138504 1.0027701
9500 0.34273562 0 -0.034064202 1.0083102 1.0027701
9600 0.33867054 0 -0.089076906 1.0138504 1.0027701
9700 0.32088235 0 -0.12027075 1.0138504 1.0083102
9800 0.3320823 0 -0.11602794 1.0138504 1.0027701
9900 0.33916442 0 -0.080281044 1.0083102 1.0027701
10000 0.34852268 0 -0.01000914 1.0083102 1.0083102
10100 0.32955942 0 0.04258493 1.0027701 1.0083102
10200 0.34487898 0 0.086971308 1.0083102 1.0027701
10300 0.32325593 0 0.11558149 1.0138504 1.0027701
10400 0.30927871 0 0.12239437 1.0027701 1.0027701
10500 0.33176799 0 0.12285937 1.0138504 1.0083102
10600 0.35120027 0 0.084897432 1.0027701 1.0027701
10700 0.33129697 0 0.0053089279 1.0138504 1.0027701
10800 0.36028769 0 -0.04280715 1.0083102 1.0027701
10900 0.35552287 0 -0.084955999 1.0138504 1.0027701
11000 0.3406024 0 -0.096554577 1.0027701 1.0027701
11100 0.33041202 0 -0.10703492 1.0138504 1.0027701
11200 0.32442686 0 -0.084328121 1.0193906 1.0027701
11300 0.35952468 0 -0.020191965 1.0083102 1.0027701
11400 0.34610624 0 0.03440148 1.0138504 1.0027701
11500 0.3415612 0 0.1041929 1.0027701 1.0027701
11600 0.34040042 0 0.13215705 1.0138504 1.0027701
11700 0.33555094 0 0.12738686 1.0193906 1.0027701
11800 0.3458647 0 0.10963398 1.0027701 1.0083102
11900 0.33836678 0 0.067253864 1.0138504 1.0027701
12000 0.34853314 0 0.03201448 1.0027701 1.0027701
12100 0.34600048 0 -0.034833402 1.0083102 1.0027701
12200 0.33145631 0 -0.09865675 1.0083102 1.0027701
12300 0.32848884 0 -0.1248489 1.0083102 1.0027701
12400 0.3321344 0 -0.11266575 1.0027701 1.0083102
12500 0.32622305 0 -0.061634993 1.0083102 1.0083102
12600 0.36213537 0 -0.0090593315 1.0138504 1.0027701
12700 0.34673866 0 0.036734645 1.0138504 1.0027701
12800 0.34606618 0 0.086267678 1.0138504 1.0027701
12900 0.34271431 0 0.12415522 1.0027701 1.0027701
13000 0.31993287 0 0.13879926 1.0027701 1.0083102
13100 0.3422918 0 0.11978905 1.0083102 1.0027701
13200 0.33055236 0 0.062620483 1.0083102 1.0027701
13300 0.34652207 0 0.0043833459 1.0138504 1.0027701
13400 0.33574661 0 -0.04691024 1.0027701 1.0027701
13500 0.33940837 0 -0.074241604 1.0027701 1.0083102
13600 0.32093414 0 -0.1078027 1.0138504 1.0083102
13700 0.34336597 0 -0.10544097 1.0027701 1.0027701
13800 0.35806461 0 -0.072531559 1.0027701 1.0027701
13900 0.35209713 0 -0.018851408 1.0083102 1.0083102
14000 0.35702629 0 0.061046366 1.0027701 1.0027701
14100 0.33234093 0 0.094086465 1.0027701 1.0027701
14200 0.3459466 0 0.12186656 1.0027701 1.0027701
14300 0.3327428 0 0.11396572 1.0027701 1.0027701
14400 0.32409443 0 0.10658903 1.0083102 1.0083102
14500 0.35022184 0 0.083558031 1.0083102 1.0083102
14600 0.34823843 0 0.024605569 1.0083102 1.0083102
14700 0.35298973 0 -0.040418888 1.0027701 1.0027701
14800 0.33679845 0 -0.10067728 1.0027701 1.0027701
14900 0.32790966 0 -0.10925568 1.0083102 1.0027701
15000 0.34208495 0 -0.09568004 1.0193906 1.0027701
15100 0.33647529 0 -0.055652929 1.0027701 1.0027701
15200 0.35328398 0 -0.020236536 1.0083102 1.0027701
15300 0.34252669 0 0.026434179 1.0083102 1.0027701
15400 0.34409435 0 0.094410599 1.0027701 1.0027701
15500 0.32288994 0 0.12034455 1.0083102 1.0027701
15600 0.32109689 0 0.13645185 1.0083102 1.0027701
15700 0.33681572 0 0.098607746 1.0083102 1.0027701
15800 0.33635195 0 0.05570715 1.0083102 1.0083102
15900 0.34289757 0 0.013849092 1.0083102 1.0027701
16000 0.34225547 0 -0.035597548 1.0193906 1.0027701
16100 0.33660991 0 -0.076931881 1.0027701 1.0027701
16200 0.32802152 0 -0.12765884 1.0083102 1.0027701
16300 0.3469374 0 -0.10785455 1.0083102 1.0083102
16400 0.34053641 0 -0.070259853 1.0027701 1.0027701
16500 0.34610591 0 -0.014315306 1.0083102 1.0027701
16600 0.35109001 0 0.041251169 1.0138504 1.0027701
16700 0.34336905 0 0.077996627 1.0193906 1.0027701
16800 0.33277414 0 0.11053634 1.0027701 1.0083102
16900 0.32183338 0 0.11680626 1.0027701 1.0027701
17000 0.34044352 0 0.10806555 1.0138504 1.0027701
17100 0.32967873 0 0.067759786 1.0138504 1.0027701
17200 0.36172278 0 -0.0048631904 1.0083102 1.0083102
17300 0.35619435 0 -0.04215545 1.0027701 1.0027701
17400 0.34540936 0 -0.093994174 1.0083102 1.0027701
17500 0.33193585 0 -0.098831315 1.0083102 1.0027701
17600 0.3544756 0 -0.085660403 1.0083102 1.0083102
17700 0.34505209 0 -0.069640515 1.0193906 1.0083102
17800 0.36291124 0 -0.0063088133 1.0027701 1.0027701
17900 0.34255705 0 0.046794555 1.0027701 1.0027701
18000 0.34163238 0 0.11767705 1.0138504 1.0027701
18100 0.3466445 0 0.1351712 1.0193906 1.0083102
18200 0.33037668 0 0.12703659 1.0027701 1.0027701
18300 0.33677404 0 0.10956306 1.0027701 1.0083102
18400 0.34978954 0 0.087193072 1.0027701 1.0027701
18500 0.33354363 0 0.051095814 1.0138504 1.0027701
18600 0.34651729 0 0.0056245561 1.0027701 1.0027701
18700 0.32622232 0 -0.047319269 1.0027701 1.0083102
18800 0.32978847 0 -0.054929416 1.0138504 1.0027701
18900 0.34192451 0 -0.037252471 1.0027701 1.0027701
19000 0.34061294 0 -0.001167235 1.0083102 1.0027701
19100 0.34194478 0 0.016945224 1.0083102 1.0027701
19200 0.33321765 0 0.050665354 1.0193906 1.0027701
19300 0.33197783 0 0.080470585 1.0138504 1.0027701
19400 0.33284715 0 0.12423599 1.0193906 1.0027701
19500 0.33867856 0 0.12689524 1.0027701 1.0027701
19600 0.36092786 0 0.11417704 1.0027701 1.0027701
19700 0.34270183 0 0.069038291 1.0249307 1.0083102
19800 0.34880695 0 0.042483681 1.0083102 1.0083102
19900 0.33903644 0 0.034788638 1.0027701 1.0027701
20000 0.32590125 0 0.011383785 1.0083102 1.0083102
20100 0.30358859 0 0.0030743554 1.0138504 1.0027701
20200 0.31830224 0 0.017637826 1.0027701 1.0027701
20300 0.34195438 0 0.072811099 1.0193906 1.0083102
20400 0.31249563 0 0.10063541 1.0083102 1.0027701
20500 0.31544938 0 0.1405794 1.0027701 1.0027701
20600 0.30071644 0 0.12763486 1.0027701 1.0027701
20700 0.2890265 0 0.1136651 1.0083102 1.0027701
20800 0.28962296 0 0.094481978 1.0083102 1.0027701
20900 0.29447212 0 0.0967165 1.0138504 1.0083102
21000 0.31159961 0 0.067307231 1.0027701 1.0027701
21100 0.30490648 0 0.017689358 1.0027701 1.0083102
21200 0.30687262 0 -0.016055512 1.0027701 1.0083102
21300 0.30083286 0 -0.0014988997 1.0083102 1.0027701
21400 0.32070426 0 0.015960302 1.0083102 1.0083102
21500 0.31439311 0 0.038170385 1.0083102 1.0083102
21600 0.32617832 0 0.043263788 1.0083102 1.0027701
21700 0.35151793 0 0.066302727 1.0083102 1.0083102
21800 0.35912885 0 0.070099103 1.0027701 1.0027701
21900 0.32451958 0 0.068935768 1.0083102 1.0027701
22000 0.35219298 0 0.067161227 1.0138504 1.0083102
22100 0.34857705 0 0.032731746 1.0138504 1.0027701
22200 0.34750227 0 0.0056917695 1.0027701 1.0027701
22300 0.34766017 0 -0.0027090483 1.0027701 1.0083102
22400 0.33426062 0 -0.023196063 1.0027701 1.0083102
22500 0.34174625 0 -0.025019717 1.0083102 1.0027701
22600 0.3356145 0 -0.029707418 1.0138504 1.0027701
22700 0.3362653 0 -0.035815733 1.0083102 1.0027701
22800 0.33973405 0 -0.0024705835 1.0193906 1.0027701
22900 0.33813085 0 0.0077527467 1.0027701 1.0027701
23000 0.33339981 0 0.028340744 1.0027701 1.0027701
23100 0.34079832 0 0.018521302 1.0249307 1.0027701
23200 0.33074548 0 0.032378405 1.0138504 1.0083102
23300 0.32965664 0 0.035989589 1.0138504 1.0027701
23400 0.30927749 0 0.024581106 1.0083102 1.0027701
23500 0.32890632 0 0.01092479 1.0138504 1.0083102
23600 0.34137438 0 0.0094839745 1.0083102 1.0027701
23700 0.34512638 0 -0.012392771 1.0138504 1.0027701
23800 0.31781354 0 -0.012908449 1.0027701 1.0027701
23900 0.32405513 0 -0.015018071 1.0027701 1.0027701
24000 0.33549728 0 -0.012812915 1.0083102 1.0083102
24100 0.31368736 0 -0.020818372 1.0027701 1.0027701
24200 0.33533836 0 0.0056121057 1.0027701 1.0027701
24300 0.32530627 0 0.018183931 1.0249307 1.0027701
24400 0.31930662 0 0.027446878 1.0027701 1.0083102
24500 0.33540302 0 0.040307455 1.0193906 1.0027701
24600 0.34020431 0 0.027403921 1.0027701 1.0027701
24700 0.3291814 0 0.01204865 1.0083102 1.0027701
24800 0.31552604 0 0.019654111 1.0083102 1.0083102
24900 0.34727253 0 0.01670543 1.0027701 1.0027701
25000 0.35120105 0 0.0038617562 1.0083102 1.0027701
25100 0.32706871 0 -0.021196623 1.0193906 1.0083102
25200 0.32915282 0 -0.017146508 1.0083102 1.0027701
25300 0.32577518 0 -0.01312495 1.0083102 1.0027701
25400 0.33286855 0 0.0014726193 1.0138504 1.0027701
25500 0.33002601 0 0.0080974022 1.0083102 1.0027701
25600 0.34127655 0 0.014296091 1.0138504 1.0083102
25700 0.34048065 0 0.022513032 1.0083102 1.0027701
25800 0.33029079 0 0.038733531 1.0138504 1.0027701
25900 0.33031324 0 0.026156982 1.0027701 1.0027701
26000 0.32967371 0 0.028727383 1.0027701 1.0083102
26100 0.33775718 0 0.015607478 1.0027701 1.0083102
26200 0.35097144 0 0.012291703 1.0027701 1.0027701
26300 0.34303792 0 0.00094823191 1.0027701 1.0083102
26400 0.33632665 0 -0.0026904889 1.0027701 1.0083102
26500 0.33580127 0 -0.0074168555 1.0138504 1.0083102
26600 0.33063188 0 -0.020378601 1.0027701 1.0083102
26700 0.33581846 0 -0.00084397268 1.0027701 1.0027701
26800 0.32998532 0 0.015932208 1.0083102 1.0083102
26900 0.33825444 0 0.010428603 1.0193906 1.0027701
27000 0.32081518 0 0.019818223 1.0083102 1.0083102
27100 0.31448098 0 0.020093416 1.0027701 1.0027701
27200 0.32643684 0 0.021934917 1.0083102 1.0027701
27300 0.33289466 0 0.023713072 1.0138504 1.0083102
27400 0.32310744 0 0.024110945 1.0193906 1.0027701
27500 0.33115619 0 0.0025776713 1.0193906 1.0027701
27600 0.33295887 0 -0.010710764 1.0083102 1.0083102
27700 0.32968876 0 -0.0064595905 1.0083102 1.0027701
27800 0.34064581 0 -0.0086519116 1.0027701 1.0027701
27900 0.33559187 0 -0.0055753593 1.0249307 1.0027701
28000 0.32300727 0 -0.0004153384 1.0138504 1.0027701
28100 0.32147461 0 -0.0058543412 1.0083102 1.0083102
28200 0.35532383 0 0.013646951 1.0083102 1.0083102
28300 0.31507942 0 0.026532255 1.0083102 1.0027701
28400 0.32711006 0 0.033214981 1.0083102 1.0027701
28500 0.34472462 0 0.028050837 1.0027701 1.0027701
28600 0.33708059 0 0.019115676 1.0027701 1.0027701
28700 0.34478087 0 0.023743689 1.0193906 1.0027701
28800 0.34546686 0 0.0081772997 1.0083102 1.0027701
28900 0.34004886 0 0.017771865 1.0138504 1.0027701
29000 0.33604232 0 -0.010505671 1.0027701 1.0027701
29100 0.33541374 0 -0.016273261 1.0027701 1.0027701
29200 0.34347489 0 -0.010002306 1.0083102 1.0027701
29300 0.34083904 0 0.0089701784 1.0083102 1.0027701
29400 0.34846892 0 0.020765104 1.0027701 1.0027701
29500 0.3416255 0 0.022650856 1.0083102 1.0027701
29600 0.33725496 0 0.020693083 1.0027701 1.0027701
29700 0.34480638 0 0.024317128 1.0138504 1.0027701
29800 0.31459471 0 0.023097895 1.0027701 1.0027701
29900 0.33014448 0 0.03114046 1.0138504 1.0027701
30000 0.33741498 0 0.015624314 1.0083102 1.0027701
30100 0.32598657 0 -0.0018860541 1.0138504 1.0027701
30200 0.34855815 0 0.0017983372 1.0027701 1.0027701
30300 0.33375921 0 0.0010991235 1.0083102 1.0083102
30400 0.35008944 0 -0.0027316177 1.0027701 1.0027701
30500 0.33279729 0 -0.0035788551 1.0027701 1.0027701
30600 0.33868746 0 -0.0016249482 1.0027701 1.0027701
30700 0.33597034 0 -0.0014524001 1.0193906 1.0083102
30800 0.3227257 0 0.016353457 1.0193906 1.0027701
30900 0.32676516 0 0.027396654 1.0027701 1.0027701
31000 0.34083982 0 0.031606413 1.0138504 1.0083102
31100 0.32165238 0 0.013583368 1.0027701 1.0027701
31200 0.3428492 0 0.020486611 1.0138504 1.0027701
31300 0.32372541 0 0.01215566 1.0027701 1.0027701
31400 0.32734692 0 0.016229397 1.0083102 1.0027701
31500 0.33089262 0 0.0060426618 1.0027701 1.0027701
31600 0.34273493 0 -0.013456537 1.0083102 1.0083102
31700 0.32723905 0 -0.019243766 1.0027701 1.0027701
31800 0.33636488 0 0.0027814902 1.0027701 1.0083102
31900 0.32834805 0 0.00706877 1.0083102 1.0027701
32000 0.33995148 0 0.0018383309 1.0083102 1.0083102
32100 0.33412282 0 0.0076455933 1.0027701 1.0083102
32200 0.34334884 0 0.023586129 1.0083102 1.0027701
32300 0.32778925 0 0.020564321 1.0193906 1.0083102
32400 0.33163443 0 0.038878463 1.0083102 1.0027701
32500 0.32290345 0 0.022247461 1.0027701 1.0027701
32600 0.34113954 0 0.010966365 1.0138504 1.0027701
32700 0.33390633 0 0.0037777555 1.0083102 1.0083102
32800 0.34385341 0 0.010556575 1.0138504 1.0083102
32900 0.32137047 0 0.00022027143 1.0138504 1.0027701
33000 0.32079172 0 -0.017261272 1.0083102 1.0027701
33100 0.33570882 0 -0.0051942206 1.0027701 1.0027701
33200 0.34320894 0 -0.011515281 1.0138504 1.0027701
33300 0.32794746 0 -0.0018153673 1.0027701 1.0027701
33400 0.33060982 0 0.027118146 1.0027701 1.0027701
33500 0.33641809 0 0.02143035 1.0083102 1.0027701
33600 0.33643061 0 0.020833068 1.0083102 1.0027701
33700 0.3485949 0 0.030918751 1.0083102 1.0027701
33800 0.3283985 0 0.01947613 1.0193906 1.0027701
33900 0.31959761 0 0.021128147 1.0027701 1.0027701
34000 0.33897984 0 0.015270986 1.0027701 1.0083102
34100 0.32392267 0 0.0020130852 1.0083102 1.0027701
34200 0.33084514 0 -0.024316708 1.0027701 1.0027701
34300 0.3342259 0 -0.0059047764 1.0138504 1.0027701
34400 0.33385098 0 0.0063818721 1.0027701 1.0027701
34500 0.33255603 0 -0.01023837 1.0027701 1.0083102
34600 0.34766173 0 0.0056703013 1.0083102 1.0027701
34700 0.339822 0 0.0061648559 1.0083102 1.0027701
34800 0.33902329 0 0.030037037 1.0027701 1.0083102
34900 0.3216153 0 0.027996689 1.0027701 1.0027701
35000 0.32701056 0 0.024778517 1.0083102 1.0027701
35100 0.3124942 0 0.011316548 1.0027701 1.0027701
35200 0.34486416 0 0.011670127 1.0027701 1.0027701
35300 0.33275353 0 0.020491246 1.0027701 1.0027701
35400 0.33618763 0 0.014678874 1.0083102 1.0027701
35500 0.32352282 0 -0.018568683 1.0027701 1.0027701
35600 0.32617903 0 -0.012796912 1.0083102 1.0027701
35700 0.32378048 0 -0.021318585 1.0027701 1.0083102
35800 0.3371086 0 -0.0023678632 1.0027701 1.0083102
35900 0.33818476 0 0.011197742 1.0083102 1.0027701
36000 0.35142144 0 0.022520935 1.0083102 1.0027701
36100 0.35147297 0 0.020277852 1.0083102 1.0027701
36200 0.33489465 0 0.014564878 1.0193906 1.0027701
36300 0.33841515 0 0.036439962 1.0027701 1.0027701
36400 0.32301096 0 0.019966746 1.0027701 1.0027701
36500 0.35612028 0 0.036509556 1.0027701 1.0027701
36600 0.33841597 0 -0.0042180605 1.0083102 1.0083102
36700 0.34477654 0 -0.0052770853 1.0193906 1.0083102
36800 0.33804317 0 -0.013751733 1.0027701 1.0027701
36900 0.35003816 0 -0.0021184393 1.0027701 1.0027701
37000 0.32965041 0 -0.020900951 1.0083102 1.0027701
37100 0.34653095 0 -0.013667977 1.0027701 1.0027701
37200 0.35019871 0 -0.0071740923 1.0027701 1.0027701
37300 0.34859745 0 0.02006041 1.0138504 1.0027701
37400 0.35739859 0 0.020892822 1.0083102 1.0027701
37500 0.34128859 0 0.041072111 1.0083102 1.0083102
37600 0.33781905 0 0.023376738 1.0083102 1.0083102
37700 0.32961874 0 0.030953741 1.0138504 1.0027701
37800 0.343987 0 0.029579795 1.0083102 1.0027701
37900 0.33610448 0 0.036836828 1.0138504 1.0027701
38000 0.32757228 0 0.020902031 1.0027701 1.0027701
38100 0.32735808 0 0.019544751 1.0138504 1.0083102
38200 0.35646953 0 0.044607528 1.0027701 1.0083102
38300 0.32509773 0 0.03610738 1.0138504 1.0027701
38400 0.32111741 0 0.034474043 1.0083102 1.0083102
38500 0.30590608 0 0.053461212 1.0083102 1.0027701
38600 0.32322402 0 0.053453832 1.0138504 1.0083102
38700 0.33843057 0 0.076264534 1.0027701 1.0027701
38800 0.31350741 0 0.064733869 1.0083102 1.0027701
38900 0.31943061 0 0.067836769 1.0083102 1.0027701
39000 0.33775583 0 0.0788316 1.0083102 1.0083102
39100 0.34256036 0 0.075874935 1.0027701 1.0027701
39200 0.33128527 0 0.071610976 1.0193906 1.0027701
39300 0.34519653 0 0.046257301 1.0083102 1.0083102
39400 0.34351844 0 0.052422917 1.0027701 1.0027701
39500 0.35716037 0 0.048916058 1.0083102 1.0027701
39600 0.34000737 0 0.016149089 1.0083102 1.0027701
39700 0.34587892 0 0.021619621 1.0083102 1.0083102
39800 0.34878036 0 0.0092881327 1.0083102 1.0027701
39900 0.35225411 0 -0.011341599 1.0083102 1.0027701
40000 0.36309266 0 0.0050869295 1.0304709 1.0027701
Loop time of 1.30389 on 2 procs for 40000 steps with 361 atoms
Performance: 13252650.572 tau/day, 30677.432 timesteps/s
97.6% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.041365 | 0.041785 | 0.042204 | 0.2 | 3.20
Bond | 0.35501 | 0.37082 | 0.38664 | 2.6 | 28.44
Neigh | 0.30901 | 0.31013 | 0.31125 | 0.2 | 23.78
Comm | 0.12939 | 0.15871 | 0.18803 | 7.4 | 12.17
Output | 0.00489 | 0.005671 | 0.0064521 | 1.0 | 0.43
Modify | 0.28208 | 0.28362 | 0.28516 | 0.3 | 21.75
Other | | 0.1332 | | | 10.21
Nlocal: 180.5 ave 181 max 180 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 52.5 ave 53 max 52 min
Histogram: 1 0 0 0 0 0 0 0 0 1
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
Ave special neighs/atom = 31.0249
Neighbor list builds = 3079
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -1,541 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 2d circle of particles inside a box with LJ walls
variable b index 0
variable x index 50
variable y index 20
variable d index 20
# careful not to slam into wall too hard
variable v index 0.3
variable w index 0.08
units lj
dimension 2
atom_style bond
boundary f f p
lattice hex 0.85
Lattice spacing in x,y,z = 1.16553 2.01877 1.16553
region box block 0 $x 0 $y -0.5 0.5
region box block 0 50 0 $y -0.5 0.5
region box block 0 50 0 20 -0.5 0.5
create_box 1 box bond/types 1 extra/bond/per/atom 6
Created orthogonal box = (0 0 -0.582767) to (58.2767 40.3753 0.582767)
2 by 2 by 1 MPI processor grid
region circle sphere $(v_d/2+1) $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 $(v_d/2/sqrt(3.0)+1) 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 $(v_d/2)
region circle sphere 11 6.7735026918962581988 0.0 10
create_atoms 1 region circle
Created 361 atoms
Time spent = 0.000665188 secs
mass 1 1.0
velocity all create 0.5 87287 loop geom
velocity all set $v $w 0 sum yes
velocity all set 0.3 $w 0 sum yes
velocity all set 0.3 0.08 0 sum yes
pair_style lj/cut 2.5
pair_coeff 1 1 10.0 1.0 2.5
bond_style harmonic
bond_coeff 1 10.0 1.2
create_bonds many all all 1 1.0 1.5
Neighbor list info ...
update every 1 steps, delay 10 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 = 42 29 1
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command create_bonds, occasional
attributes: full, newton on
pair build: full/bin
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Added 1014 bonds, new total = 1014
6 = max # of 1-2 neighbors
30 = max # of 1-3 neighbors
180 = max # of 1-4 neighbors
36 = max # of special neighbors
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
fix 1 all nve
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi $x 1 1 2.5
fix 2 all wall/lj93 xlo 0.0 1 1 2.5 xhi 50 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi $y 1 1 2.5
fix 3 all wall/lj93 ylo 0.0 1 1 2.5 yhi 20 1 1 2.5
comm_style tiled
fix 10 all balance 50 0.9 rcb
#compute 1 all property/atom proc
#variable p atom (c_1%10)+1
#dump 2 all custom 50 tmp.dump id v_p x y z
#dump 3 all image 200 image.*.jpg v_p type bond atom 0.25 # adiam 1.0 view 0 0 zoom 1.8 subbox yes 0.02
#variable colors string # "red green blue yellow white # purple pink orange lime gray"
#dump_modify 3 pad 5 amap 0 10 sa 1 10 ${colors}
thermo_style custom step temp epair press f_10[3] f_10
thermo 100
run 40000
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 = 42 29 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton
stencil: half/bin/2d/newton
bin: standard
Per MPI rank memory allocation (min/avg/max) = 7.02 | 7.048 | 7.096 Mbytes
Step Temp E_pair Press f_10[3] f_10
0 0.57437856 0 0.26099453 3.2354571 1.0526316
100 0.29756515 0 0.10149401 1.0193906 1.0083102
200 0.35394813 0 0.075159099 1.0304709 1.0193906
300 0.39245849 0 0.033002384 1.0083102 1.0193906
400 0.34078347 0 -0.020825841 1.0304709 1.0083102
500 0.35201095 0 -0.062637506 1.0193906 1.0083102
600 0.34014717 0 -0.11122965 1.0415512 1.0083102
700 0.3323524 0 -0.11598015 1.0193906 1.0083102
800 0.35116047 0 -0.096162395 1.0193906 1.0193906
900 0.35695352 0 -0.01385176 1.0526316 1.0193906
1000 0.36986539 0 0.056772858 1.0083102 1.0083102
1100 0.34584644 0 0.084941323 1.0304709 1.0083102
1200 0.31921435 0 0.10545078 1.0415512 1.0083102
1300 0.32952819 0 0.124902 1.0083102 1.0193906
1400 0.34497365 0 0.12662081 1.0193906 1.0083102
1500 0.33429243 0 0.096230972 1.0193906 1.0193906
1600 0.33765387 0 0.025800542 1.0304709 1.0083102
1700 0.35134464 0 -0.04422593 1.0415512 1.0083102
1800 0.35003859 0 -0.096745576 1.0304709 1.0083102
1900 0.33839618 0 -0.095465943 1.0193906 1.0083102
2000 0.33732078 0 -0.094652802 1.0083102 1.0083102
2100 0.34552238 0 -0.076729261 1.0304709 1.0083102
2200 0.34893142 0 -0.036853228 1.0304709 1.0083102
2300 0.35379341 0 0.021124847 1.0304709 1.0193906
2400 0.34829744 0 0.09230184 1.0304709 1.0083102
2500 0.33038141 0 0.1399855 1.0193906 1.0193906
2600 0.30983019 0 0.12754742 1.0083102 1.0083102
2700 0.32992561 0 0.10485138 1.0415512 1.0083102
2800 0.34604747 0 0.066174138 1.0083102 1.0083102
2900 0.3444791 0 0.036590652 1.0193906 1.0193906
3000 0.34721342 0 -0.023793368 1.0193906 1.0193906
3100 0.33404314 0 -0.08374223 1.0415512 1.0083102
3200 0.33019355 0 -0.12715599 1.0083102 1.0304709
3300 0.33515177 0 -0.12217394 1.0193906 1.0083102
3400 0.33628481 0 -0.070877624 1.0193906 1.0083102
3500 0.34257038 0 -0.021612062 1.0304709 1.0083102
3600 0.32838009 0 0.030131228 1.0083102 1.0083102
3700 0.34462142 0 0.074586378 1.0526316 1.0193906
3800 0.30891825 0 0.10605673 1.0304709 1.0083102
3900 0.33847951 0 0.13956139 1.0083102 1.0083102
4000 0.32952079 0 0.12688129 1.0193906 1.0304709
4100 0.32646772 0 0.081089042 1.0304709 1.0193906
4200 0.35399503 0 0.013422873 1.0083102 1.0083102
4300 0.33154914 0 -0.050919508 1.0193906 1.0193906
4400 0.34113556 0 -0.083171 1.0304709 1.0083102
4500 0.32651708 0 -0.1063133 1.0304709 1.0083102
4600 0.34359609 0 -0.1076395 1.0083102 1.0083102
4700 0.34973537 0 -0.088231606 1.0415512 1.0083102
4800 0.35198515 0 -0.020901044 1.0415512 1.0083102
4900 0.35187284 0 0.043645941 1.0415512 1.0083102
5000 0.34887336 0 0.095698609 1.0193906 1.0083102
5100 0.30308163 0 0.11649328 1.0193906 1.0083102
5200 0.32401285 0 0.12072411 1.0193906 1.0083102
5300 0.33025072 0 0.10933161 1.0193906 1.0083102
5400 0.33288012 0 0.078356448 1.0083102 1.0193906
5500 0.35142492 0 0.036958063 1.0193906 1.0083102
5600 0.35125368 0 -0.041371343 1.0304709 1.0083102
5700 0.34547744 0 -0.096450846 1.0637119 1.0083102
5800 0.30939887 0 -0.12356656 1.0083102 1.0193906
5900 0.32315628 0 -0.11338676 1.0193906 1.0193906
6000 0.34117485 0 -0.066198961 1.0193906 1.0083102
6100 0.35298043 0 -0.016172816 1.0304709 1.0193906
6200 0.35130653 0 0.027660468 1.0415512 1.0083102
6300 0.35398766 0 0.087221238 1.0083102 1.0083102
6400 0.30963379 0 0.11990957 1.0415512 1.0083102
6500 0.3174541 0 0.14103528 1.0193906 1.0193906
6600 0.31989791 0 0.11575506 1.0304709 1.0193906
6700 0.33811477 0 0.060747353 1.0415512 1.0193906
6800 0.3424043 0 0.010357152 1.0193906 1.0083102
6900 0.34804319 0 -0.042621786 1.0193906 1.0083102
7000 0.35357865 0 -0.067248959 1.0083102 1.0083102
7100 0.33556885 0 -0.10983726 1.0193906 1.0083102
7200 0.33531101 0 -0.112179 1.0304709 1.0083102
7300 0.35742607 0 -0.078405267 1.0304709 1.0193906
7400 0.34577559 0 -0.01985432 1.0193906 1.0083102
7500 0.3498641 0 0.052289439 1.0526316 1.0083102
7600 0.33773715 0 0.092939035 1.0083102 1.0193906
7700 0.33093497 0 0.11924405 1.0304709 1.0083102
7800 0.31435814 0 0.12701724 1.0083102 1.0304709
7900 0.33132217 0 0.10793075 1.0083102 1.0083102
8000 0.33451798 0 0.077993125 1.0304709 1.0193906
8100 0.35188371 0 0.019929977 1.0193906 1.0083102
8200 0.33645742 0 -0.039302079 1.0193906 1.0193906
8300 0.3415632 0 -0.098067982 1.0193906 1.0083102
8400 0.30619282 0 -0.12952879 1.0304709 1.0193906
8500 0.34446484 0 -0.098084709 1.0083102 1.0083102
8600 0.33761673 0 -0.07069818 1.0193906 1.0083102
8700 0.34495452 0 -0.022458056 1.0193906 1.0083102
8800 0.33502983 0 0.027742411 1.0193906 1.0083102
8900 0.35418591 0 0.092390134 1.0083102 1.0193906
9000 0.31648387 0 0.12467398 1.0193906 1.0083102
9100 0.33994825 0 0.14460327 1.0193906 1.0083102
9200 0.33822571 0 0.11273284 1.0193906 1.0083102
9300 0.33260773 0 0.060063671 1.0083102 1.0193906
9400 0.36140305 0 0.021427642 1.0193906 1.0083102
9500 0.34273562 0 -0.034064202 1.0193906 1.0083102
9600 0.33867054 0 -0.089076906 1.0193906 1.0083102
9700 0.32088235 0 -0.12027075 1.0193906 1.0083102
9800 0.3320823 0 -0.11602794 1.0415512 1.0083102
9900 0.33916442 0 -0.080281044 1.0083102 1.0083102
10000 0.34852268 0 -0.01000914 1.0193906 1.0083102
10100 0.32955942 0 0.04258493 1.0083102 1.0083102
10200 0.34487898 0 0.086971308 1.0304709 1.0083102
10300 0.32325593 0 0.11558149 1.0304709 1.0193906
10400 0.30927871 0 0.12239437 1.0083102 1.0083102
10500 0.33176799 0 0.12285937 1.0193906 1.0083102
10600 0.35120027 0 0.084897432 1.0415512 1.0083102
10700 0.33129697 0 0.0053089279 1.0193906 1.0193906
10800 0.36028769 0 -0.04280715 1.0193906 1.0083102
10900 0.35552287 0 -0.084955999 1.0193906 1.0193906
11000 0.3406024 0 -0.096554577 1.0083102 1.0083102
11100 0.33041202 0 -0.10703492 1.0304709 1.0193906
11200 0.32442686 0 -0.084328121 1.0304709 1.0193906
11300 0.35952468 0 -0.020191965 1.0304709 1.0083102
11400 0.34610624 0 0.03440148 1.0193906 1.0193906
11500 0.3415612 0 0.1041929 1.0193906 1.0083102
11600 0.34040042 0 0.13215705 1.0304709 1.0083102
11700 0.33555094 0 0.12738686 1.0415512 1.0193906
11800 0.3458647 0 0.10963398 1.0083102 1.0193906
11900 0.33836678 0 0.067253864 1.0193906 1.0193906
12000 0.34853314 0 0.03201448 1.0193906 1.0083102
12100 0.34600048 0 -0.034833402 1.0304709 1.0193906
12200 0.33145631 0 -0.09865675 1.0193906 1.0193906
12300 0.32848884 0 -0.1248489 1.0193906 1.0083102
12400 0.3321344 0 -0.11266575 1.0083102 1.0083102
12500 0.32622305 0 -0.061634993 1.0304709 1.0083102
12600 0.36213537 0 -0.0090593315 1.0526316 1.0083102
12700 0.34673866 0 0.036734645 1.0193906 1.0083102
12800 0.34606618 0 0.086267678 1.0193906 1.0083102
12900 0.34271431 0 0.12415522 1.0193906 1.0083102
13000 0.31993287 0 0.13879926 1.0193906 1.0193906
13100 0.3422918 0 0.11978905 1.0083102 1.0083102
13200 0.33055236 0 0.062620483 1.0083102 1.0083102
13300 0.34652207 0 0.0043833459 1.0304709 1.0083102
13400 0.33574661 0 -0.04691024 1.0304709 1.0083102
13500 0.33940837 0 -0.074241604 1.0304709 1.0083102
13600 0.32093414 0 -0.1078027 1.0193906 1.0083102
13700 0.34336597 0 -0.10544097 1.0193906 1.0083102
13800 0.35806461 0 -0.072531559 1.0193906 1.0083102
13900 0.35209713 0 -0.018851408 1.0193906 1.0083102
14000 0.35702629 0 0.061046366 1.0083102 1.0083102
14100 0.33234093 0 0.094086465 1.0083102 1.0083102
14200 0.3459466 0 0.12186656 1.0193906 1.0193906
14300 0.3327428 0 0.11396572 1.0193906 1.0083102
14400 0.32409443 0 0.10658903 1.0193906 1.0193906
14500 0.35022184 0 0.083558031 1.0083102 1.0083102
14600 0.34823843 0 0.024605569 1.0083102 1.0193906
14700 0.35298973 0 -0.040418888 1.0193906 1.0083102
14800 0.33679845 0 -0.10067728 1.0193906 1.0083102
14900 0.32790966 0 -0.10925568 1.0193906 1.0193906
15000 0.34208495 0 -0.09568004 1.0193906 1.0083102
15100 0.33647529 0 -0.055652929 1.0083102 1.0083102
15200 0.35328398 0 -0.020236536 1.0415512 1.0193906
15300 0.34252669 0 0.026434179 1.0304709 1.0083102
15400 0.34409435 0 0.094410599 1.0304709 1.0083102
15500 0.32288994 0 0.12034455 1.0304709 1.0193906
15600 0.32109689 0 0.13645185 1.0193906 1.0083102
15700 0.33681572 0 0.098607746 1.0415512 1.0193906
15800 0.33635195 0 0.05570715 1.0193906 1.0083102
15900 0.34289757 0 0.013849092 1.0304709 1.0083102
16000 0.34225547 0 -0.035597548 1.0304709 1.0083102
16100 0.33660991 0 -0.076931881 1.0193906 1.0193906
16200 0.32802152 0 -0.12765884 1.0083102 1.0193906
16300 0.3469374 0 -0.10785455 1.0083102 1.0083102
16400 0.34053641 0 -0.070259853 1.0193906 1.0083102
16500 0.34610591 0 -0.014315306 1.0193906 1.0193906
16600 0.35109001 0 0.041251169 1.0304709 1.0083102
16700 0.34336905 0 0.077996627 1.0193906 1.0083102
16800 0.33277414 0 0.11053634 1.0083102 1.0083102
16900 0.32183338 0 0.11680626 1.0193906 1.0083102
17000 0.34044352 0 0.10806555 1.0193906 1.0083102
17100 0.32967873 0 0.067759786 1.0193906 1.0193906
17200 0.36172278 0 -0.0048631904 1.0304709 1.0083102
17300 0.35619435 0 -0.04215545 1.0193906 1.0083102
17400 0.34540936 0 -0.093994174 1.0193906 1.0083102
17500 0.33193585 0 -0.098831315 1.0083102 1.0193906
17600 0.3544756 0 -0.085660403 1.0193906 1.0083102
17700 0.34505209 0 -0.069640515 1.0304709 1.0193906
17800 0.36291124 0 -0.0063088133 1.0083102 1.0193906
17900 0.34255705 0 0.046794555 1.0304709 1.0193906
18000 0.34163238 0 0.11767705 1.0193906 1.0193906
18100 0.3466445 0 0.1351712 1.0415512 1.0193906
18200 0.33037668 0 0.12703659 1.0083102 1.0083102
18300 0.33677404 0 0.10956306 1.0083102 1.0304709
18400 0.34978954 0 0.087193072 1.0193906 1.0193906
18500 0.33354363 0 0.051095814 1.0526316 1.0193906
18600 0.34651729 0 0.0056245561 1.0304709 1.0193906
18700 0.32622232 0 -0.047319269 1.0083102 1.0193906
18800 0.32978847 0 -0.054929416 1.0304709 1.0193906
18900 0.34192451 0 -0.037252471 1.0193906 1.0083102
19000 0.34061294 0 -0.001167235 1.0083102 1.0083102
19100 0.34194478 0 0.016945224 1.0526316 1.0193906
19200 0.33321765 0 0.050665354 1.0526316 1.0083102
19300 0.33197783 0 0.080470585 1.0193906 1.0083102
19400 0.33284715 0 0.12423599 1.0304709 1.0304709
19500 0.33867856 0 0.12689524 1.0083102 1.0083102
19600 0.36092786 0 0.11417704 1.0193906 1.0083102
19700 0.34270183 0 0.069038291 1.0415512 1.0083102
19800 0.34880695 0 0.042483681 1.0193906 1.0083102
19900 0.33903644 0 0.034788638 1.0083102 1.0193906
20000 0.32590125 0 0.011383785 1.0193906 1.0083102
20100 0.30358859 0 0.0030743554 1.0526316 1.0193906
20200 0.31830224 0 0.017637826 1.0193906 1.0193906
20300 0.34195438 0 0.072811099 1.0304709 1.0193906
20400 0.31249563 0 0.10063541 1.0415512 1.0083102
20500 0.31544938 0 0.1405794 1.0083102 1.0083102
20600 0.30071644 0 0.12763486 1.0193906 1.0193906
20700 0.2890265 0 0.1136651 1.0083102 1.0083102
20800 0.28962296 0 0.094481978 1.0193906 1.0083102
20900 0.29447212 0 0.0967165 1.0193906 1.0193906
21000 0.31159961 0 0.067307231 1.0083102 1.0083102
21100 0.30490648 0 0.017689358 1.0083102 1.0304709
21200 0.30687262 0 -0.016055512 1.0193906 1.0193906
21300 0.30083286 0 -0.0014988997 1.0193906 1.0083102
21400 0.32070426 0 0.015960302 1.0083102 1.0083102
21500 0.31439311 0 0.038170385 1.0304709 1.0083102
21600 0.32617832 0 0.043263788 1.0083102 1.0083102
21700 0.35151793 0 0.066302727 1.0193906 1.0083102
21800 0.35912885 0 0.070099103 1.0193906 1.0083102
21900 0.32451958 0 0.068935768 1.0304709 1.0193906
22000 0.35219298 0 0.067161227 1.0193906 1.0193906
22100 0.34857705 0 0.032731746 1.0193906 1.0083102
22200 0.34750227 0 0.0056917695 1.0193906 1.0083102
22300 0.34766017 0 -0.0027090483 1.0193906 1.0083102
22400 0.33426062 0 -0.023196063 1.0304709 1.0083102
22500 0.34174625 0 -0.025019717 1.0083102 1.0083102
22600 0.3356145 0 -0.029707418 1.0304709 1.0193906
22700 0.3362653 0 -0.035815733 1.0193906 1.0193906
22800 0.33973405 0 -0.0024705835 1.0193906 1.0083102
22900 0.33813085 0 0.0077527467 1.0083102 1.0193906
23000 0.33339981 0 0.028340744 1.0193906 1.0083102
23100 0.34079832 0 0.018521302 1.0415512 1.0193906
23200 0.33074548 0 0.032378405 1.0193906 1.0083102
23300 0.32965664 0 0.035989589 1.0193906 1.0083102
23400 0.30927749 0 0.024581106 1.0193906 1.0083102
23500 0.32890632 0 0.01092479 1.0304709 1.0193906
23600 0.34137438 0 0.0094839745 1.0193906 1.0193906
23700 0.34512638 0 -0.012392771 1.0304709 1.0193906
23800 0.31781354 0 -0.012908449 1.0193906 1.0083102
23900 0.32405513 0 -0.015018071 1.0415512 1.0193906
24000 0.33549728 0 -0.012812915 1.0193906 1.0193906
24100 0.31368736 0 -0.020818372 1.0083102 1.0083102
24200 0.33533836 0 0.0056121057 1.0304709 1.0193906
24300 0.32530627 0 0.018183931 1.0415512 1.0083102
24400 0.31930662 0 0.027446878 1.0083102 1.0193906
24500 0.33540302 0 0.040307455 1.0304709 1.0083102
24600 0.34020431 0 0.027403921 1.0083102 1.0083102
24700 0.3291814 0 0.01204865 1.0193906 1.0083102
24800 0.31552604 0 0.019654111 1.0083102 1.0193906
24900 0.34727253 0 0.01670543 1.0193906 1.0083102
25000 0.35120105 0 0.0038617562 1.0193906 1.0083102
25100 0.32706871 0 -0.021196623 1.0415512 1.0193906
25200 0.32915282 0 -0.017146508 1.0083102 1.0193906
25300 0.32577518 0 -0.01312495 1.0193906 1.0083102
25400 0.33286855 0 0.0014726193 1.0415512 1.0193906
25500 0.33002601 0 0.0080974022 1.0193906 1.0083102
25600 0.34127655 0 0.014296091 1.0526316 1.0083102
25700 0.34048065 0 0.022513032 1.0193906 1.0083102
25800 0.33029079 0 0.038733531 1.0526316 1.0083102
25900 0.33031324 0 0.026156982 1.0083102 1.0193906
26000 0.32967371 0 0.028727383 1.0083102 1.0193906
26100 0.33775718 0 0.015607478 1.0083102 1.0193906
26200 0.35097144 0 0.012291703 1.0083102 1.0083102
26300 0.34303792 0 0.00094823191 1.0083102 1.0193906
26400 0.33632665 0 -0.0026904889 1.0193906 1.0193906
26500 0.33580127 0 -0.0074168555 1.0193906 1.0193906
26600 0.33063188 0 -0.020378601 1.0083102 1.0193906
26700 0.33581846 0 -0.00084397268 1.0083102 1.0193906
26800 0.32998532 0 0.015932208 1.0304709 1.0193906
26900 0.33825444 0 0.010428603 1.0304709 1.0083102
27000 0.32081518 0 0.019818223 1.0415512 1.0193906
27100 0.31448098 0 0.020093416 1.0193906 1.0083102
27200 0.32643684 0 0.021934917 1.0193906 1.0083102
27300 0.33289466 0 0.023713072 1.0415512 1.0083102
27400 0.32310744 0 0.024110945 1.0415512 1.0083102
27500 0.33115619 0 0.0025776713 1.0304709 1.0193906
27600 0.33295887 0 -0.010710764 1.0193906 1.0193906
27700 0.32968876 0 -0.0064595905 1.0193906 1.0193906
27800 0.34064581 0 -0.0086519116 1.0193906 1.0083102
27900 0.33559187 0 -0.0055753593 1.0526316 1.0083102
28000 0.32300727 0 -0.0004153384 1.0304709 1.0083102
28100 0.32147461 0 -0.0058543412 1.0083102 1.0083102
28200 0.35532383 0 0.013646951 1.0304709 1.0083102
28300 0.31507942 0 0.026532255 1.0415512 1.0193906
28400 0.32711006 0 0.033214981 1.0193906 1.0083102
28500 0.34472462 0 0.028050837 1.0304709 1.0193906
28600 0.33708059 0 0.019115676 1.0083102 1.0083102
28700 0.34478087 0 0.023743689 1.0304709 1.0083102
28800 0.34546686 0 0.0081772997 1.0304709 1.0083102
28900 0.34004886 0 0.017771865 1.0415512 1.0193906
29000 0.33604232 0 -0.010505671 1.0304709 1.0193906
29100 0.33541374 0 -0.016273261 1.0083102 1.0083102
29200 0.34347489 0 -0.010002306 1.0083102 1.0083102
29300 0.34083904 0 0.0089701784 1.0193906 1.0193906
29400 0.34846892 0 0.020765104 1.0083102 1.0083102
29500 0.3416255 0 0.022650856 1.0304709 1.0083102
29600 0.33725496 0 0.020693083 1.0193906 1.0193906
29700 0.34480638 0 0.024317128 1.0304709 1.0083102
29800 0.31459471 0 0.023097895 1.0083102 1.0083102
29900 0.33014448 0 0.03114046 1.0193906 1.0083102
30000 0.33741498 0 0.015624314 1.0083102 1.0193906
30100 0.32598657 0 -0.0018860541 1.0415512 1.0193906
30200 0.34855815 0 0.0017983372 1.0083102 1.0083102
30300 0.33375921 0 0.0010991235 1.0083102 1.0193906
30400 0.35008944 0 -0.0027316177 1.0193906 1.0083102
30500 0.33279729 0 -0.0035788551 1.0193906 1.0193906
30600 0.33868746 0 -0.0016249482 1.0083102 1.0193906
30700 0.33597034 0 -0.0014524001 1.0193906 1.0193906
30800 0.3227257 0 0.016353457 1.0193906 1.0193906
30900 0.32676516 0 0.027396654 1.0193906 1.0083102
31000 0.34083982 0 0.031606413 1.0415512 1.0193906
31100 0.32165238 0 0.013583368 1.0083102 1.0083102
31200 0.3428492 0 0.020486611 1.0304709 1.0083102
31300 0.32372541 0 0.01215566 1.0083102 1.0083102
31400 0.32734692 0 0.016229397 1.0083102 1.0083102
31500 0.33089262 0 0.0060426618 1.0083102 1.0083102
31600 0.34273493 0 -0.013456537 1.0083102 1.0193906
31700 0.32723905 0 -0.019243766 1.0193906 1.0083102
31800 0.33636488 0 0.0027814902 1.0083102 1.0083102
31900 0.32834805 0 0.00706877 1.0083102 1.0193906
32000 0.33995148 0 0.0018383309 1.0193906 1.0193906
32100 0.33412282 0 0.0076455933 1.0083102 1.0083102
32200 0.34334884 0 0.023586129 1.0083102 1.0083102
32300 0.32778925 0 0.020564321 1.0193906 1.0083102
32400 0.33163443 0 0.038878463 1.0193906 1.0083102
32500 0.32290345 0 0.022247461 1.0193906 1.0083102
32600 0.34113954 0 0.010966365 1.0304709 1.0193906
32700 0.33390633 0 0.0037777555 1.0193906 1.0083102
32800 0.34385341 0 0.010556575 1.0193906 1.0193906
32900 0.32137047 0 0.00022027143 1.0304709 1.0193906
33000 0.32079172 0 -0.017261272 1.0193906 1.0083102
33100 0.33570882 0 -0.0051942206 1.0083102 1.0083102
33200 0.34320894 0 -0.011515281 1.0193906 1.0083102
33300 0.32794746 0 -0.0018153673 1.0083102 1.0193906
33400 0.33060982 0 0.027118146 1.0193906 1.0083102
33500 0.33641809 0 0.02143035 1.0083102 1.0193906
33600 0.33643061 0 0.020833068 1.0304709 1.0083102
33700 0.3485949 0 0.030918751 1.0193906 1.0083102
33800 0.3283985 0 0.01947613 1.0193906 1.0083102
33900 0.31959761 0 0.021128147 1.0083102 1.0304709
34000 0.33897984 0 0.015270986 1.0193906 1.0083102
34100 0.32392267 0 0.0020130852 1.0304709 1.0193906
34200 0.33084514 0 -0.024316708 1.0193906 1.0193906
34300 0.3342259 0 -0.0059047764 1.0193906 1.0304709
34400 0.33385098 0 0.0063818721 1.0193906 1.0083102
34500 0.33255603 0 -0.01023837 1.0083102 1.0304709
34600 0.34766173 0 0.0056703013 1.0193906 1.0083102
34700 0.339822 0 0.0061648559 1.0193906 1.0193906
34800 0.33902329 0 0.030037037 1.0415512 1.0193906
34900 0.3216153 0 0.027996689 1.0083102 1.0083102
35000 0.32701056 0 0.024778517 1.0193906 1.0083102
35100 0.3124942 0 0.011316548 1.0304709 1.0193906
35200 0.34486416 0 0.011670127 1.0083102 1.0083102
35300 0.33275353 0 0.020491246 1.0193906 1.0193906
35400 0.33618763 0 0.014678874 1.0083102 1.0083102
35500 0.32352282 0 -0.018568683 1.0193906 1.0193906
35600 0.32617903 0 -0.012796912 1.0193906 1.0304709
35700 0.32378048 0 -0.021318585 1.0193906 1.0193906
35800 0.3371086 0 -0.0023678632 1.0193906 1.0193906
35900 0.33818476 0 0.011197742 1.0193906 1.0083102
36000 0.35142144 0 0.022520935 1.0083102 1.0193906
36100 0.35147297 0 0.020277852 1.0193906 1.0083102
36200 0.33489465 0 0.014564878 1.0415512 1.0193906
36300 0.33841515 0 0.036439962 1.0193906 1.0083102
36400 0.32301096 0 0.019966746 1.0304709 1.0083102
36500 0.35612028 0 0.036509556 1.0083102 1.0083102
36600 0.33841597 0 -0.0042180605 1.0193906 1.0193906
36700 0.34477654 0 -0.0052770853 1.0193906 1.0083102
36800 0.33804317 0 -0.013751733 1.0083102 1.0083102
36900 0.35003816 0 -0.0021184393 1.0083102 1.0083102
37000 0.32965041 0 -0.020900951 1.0193906 1.0083102
37100 0.34653095 0 -0.013667977 1.0193906 1.0083102
37200 0.35019871 0 -0.0071740923 1.0193906 1.0304709
37300 0.34859745 0 0.02006041 1.0304709 1.0083102
37400 0.35739859 0 0.020892822 1.0304709 1.0083102
37500 0.34128859 0 0.041072111 1.0193906 1.0193906
37600 0.33781905 0 0.023376738 1.0193906 1.0083102
37700 0.32961874 0 0.030953741 1.0193906 1.0083102
37800 0.343987 0 0.029579795 1.0083102 1.0083102
37900 0.33610448 0 0.036836828 1.0415512 1.0304709
38000 0.32757228 0 0.020902031 1.0193906 1.0193906
38100 0.32735808 0 0.019544751 1.0193906 1.0083102
38200 0.35646953 0 0.044607528 1.0083102 1.0304709
38300 0.32509773 0 0.03610738 1.0193906 1.0083102
38400 0.32111741 0 0.034474043 1.0193906 1.0193906
38500 0.30590608 0 0.053461212 1.0304709 1.0083102
38600 0.32322402 0 0.053453832 1.0193906 1.0304709
38700 0.33843057 0 0.076264534 1.0083102 1.0193906
38800 0.31350741 0 0.064733869 1.0415512 1.0083102
38900 0.31943061 0 0.067836769 1.0304709 1.0193906
39000 0.33775583 0 0.0788316 1.0193906 1.0193906
39100 0.34256036 0 0.075874935 1.0083102 1.0193906
39200 0.33128527 0 0.071610976 1.0193906 1.0083102
39300 0.34519653 0 0.046257301 1.0193906 1.0083102
39400 0.34351844 0 0.052422917 1.0304709 1.0304709
39500 0.35716037 0 0.048916058 1.0304709 1.0083102
39600 0.34000737 0 0.016149089 1.0304709 1.0083102
39700 0.34587892 0 0.021619621 1.0526316 1.0083102
39800 0.34878036 0 0.0092881327 1.0083102 1.0193906
39900 0.35225411 0 -0.011341599 1.0083102 1.0193906
40000 0.36309266 0 0.0050869295 1.0304709 1.0083102
Loop time of 1.12306 on 4 procs for 40000 steps with 361 atoms
Performance: 15386559.518 tau/day, 35617.036 timesteps/s
90.9% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.023094 | 0.023348 | 0.023582 | 0.1 | 2.08
Bond | 0.17827 | 0.19268 | 0.21984 | 3.7 | 17.16
Neigh | 0.18144 | 0.18231 | 0.18323 | 0.1 | 16.23
Comm | 0.23759 | 0.28095 | 0.30794 | 5.0 | 25.02
Output | 0.0062952 | 0.013342 | 0.034226 | 10.4 | 1.19
Modify | 0.2379 | 0.24327 | 0.25076 | 0.9 | 21.66
Other | | 0.1871 | | | 16.66
Nlocal: 90.25 ave 91 max 89 min
Histogram: 1 0 0 0 0 1 0 0 0 2
Nghost: 59.25 ave 61 max 56 min
Histogram: 1 0 0 0 0 0 0 0 2 1
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 0
Ave neighs/atom = 0
Ave special neighs/atom = 31.0249
Neighbor list builds = 3079
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -1,227 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 3d Lennard-Jones melt
units lj
atom_style atomic
processors * 1 1
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
region box block 0 10 0 10 0 10
create_box 3 box
Created orthogonal box = (0 0 0) to (16.796 16.796 16.796)
2 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 4000 atoms
Time spent = 0.000549078 secs
mass * 1.0
region long block 3 6 0 10 0 10
set region long type 2
1400 settings made for type
velocity all create 1.0 87287
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
pair_coeff * 2 1.0 1.0 5.0
neighbor 0.3 bin
neigh_modify every 2 delay 4 check yes
fix p all property/atom d_WEIGHT
compute p all property/atom d_WEIGHT
fix 0 all balance 50 1.0 shift x 10 1.0 weight time 1.0 weight store WEIGHT
variable maximb equal f_0[1]
variable iter equal f_0[2]
variable prev equal f_0[3]
variable final equal f_0
#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}"
fix 1 all nve
#dump id all atom 50 dump.melt
#dump id all custom 50 dump.lammpstrj id type x y z c_p
#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30
#dump_modify 2 pad 3
#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30
#dump_modify 3 pad 3
thermo 50
run 500
Neighbor list info ...
update every 2 steps, delay 4 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.3
ghost atom cutoff = 5.3
binsize = 2.65, bins = 7 7 7
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) = 4.562 | 4.753 | 4.944 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137
50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039 4738.2137
100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885 4738.2137
150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162 4738.2137
200 0.536665 -6.2530113 0 -5.448215 -1.933468 4738.2137
250 0.55006273 -6.27163 0 -5.4467422 -2.0438847 4738.2137
300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873 4738.2137
350 0.55211503 -6.274054 0 -5.4460885 -2.0116976 4738.2137
400 0.54638463 -6.2661715 0 -5.4467995 -1.992248 4738.2137
450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747 4738.2137
500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137
Loop time of 3.7099 on 2 procs for 500 steps with 4000 atoms
Performance: 58222.644 tau/day, 134.775 timesteps/s
99.2% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.5145 | 2.5951 | 2.6756 | 5.0 | 69.95
Neigh | 0.8388 | 0.88634 | 0.93387 | 5.0 | 23.89
Comm | 0.17027 | 0.20258 | 0.23489 | 7.2 | 5.46
Output | 0.00029612 | 0.00032723 | 0.00035834 | 0.0 | 0.01
Modify | 0.016136 | 0.017057 | 0.017979 | 0.7 | 0.46
Other | | 0.008504 | | | 0.23
Nlocal: 2000 ave 2157 max 1843 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 10465.5 ave 10840 max 10091 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 298070 ave 305706 max 290433 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 596139
Ave neighs/atom = 149.035
Neighbor list builds = 51
Dangerous builds = 0
run 500
Per MPI rank memory allocation (min/avg/max) = 4.944 | 4.947 | 4.951 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802 4738.2137
550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236 4738.2137
600 0.54022886 -6.2573307 0 -5.44719 -1.9619637 4738.2137
650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342 4738.2137
700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108 4738.2137
750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523 4738.2137
800 0.5520987 -6.2739184 0 -5.4459774 -2.0084991 4738.2137
850 0.54963958 -6.2702473 0 -5.445994 -1.9740031 4738.2137
900 0.54390586 -6.2615476 0 -5.4458927 -1.9400871 4738.2137
950 0.54741732 -6.2665755 0 -5.4456548 -1.9466417 4738.2137
1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137
Loop time of 3.70634 on 2 procs for 500 steps with 4000 atoms
Performance: 58278.514 tau/day, 134.904 timesteps/s
99.0% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.5536 | 2.6173 | 2.6811 | 3.9 | 70.62
Neigh | 0.82942 | 0.88683 | 0.94424 | 6.1 | 23.93
Comm | 0.16927 | 0.17474 | 0.1802 | 1.3 | 4.71
Output | 0.00030422 | 0.00033307 | 0.00036192 | 0.0 | 0.01
Modify | 0.016714 | 0.017824 | 0.018933 | 0.8 | 0.48
Other | | 0.009277 | | | 0.25
Nlocal: 2000 ave 2136 max 1864 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 10413.5 ave 10877 max 9950 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 300836 ave 312313 max 289358 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 601671
Ave neighs/atom = 150.418
Neighbor list builds = 51
Dangerous builds = 0
fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.5 weight time 0.66 weight store WEIGHT
run 500
Per MPI rank memory allocation (min/avg/max) = 4.951 | 5.142 | 5.334 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
1000 0.54200867 -6.2591246 0 -5.4463148 -1.8881624 4738.2137
1050 0.54633412 -6.2656384 0 -5.4463421 -1.9012895 4738.2137
1100 0.54325667 -6.2612166 0 -5.4465353 -1.8870463 4738.2137
1150 0.55057583 -6.2719187 0 -5.4462614 -1.9575881 4738.2137
1200 0.53728175 -6.251744 0 -5.4460228 -1.8124097 4738.2137
1250 0.54077561 -6.2567544 0 -5.4457938 -1.8418133 4738.2137
1300 0.54430333 -6.260995 0 -5.4447442 -1.856351 4738.2137
1350 0.55097839 -6.2715909 0 -5.4453299 -1.9014337 4738.2137
1400 0.53858139 -6.2526781 0 -5.445008 -1.7965773 4738.2137
1450 0.5421844 -6.2574683 0 -5.444395 -1.7901189 4738.2137
1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137
Loop time of 4.8272 on 2 procs for 500 steps with 4000 atoms
Performance: 44746.478 tau/day, 103.580 timesteps/s
98.5% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.9951 | 2.6814 | 3.3676 | 41.9 | 55.55
Neigh | 0.82826 | 0.90961 | 0.99095 | 8.5 | 18.84
Comm | 0.44043 | 1.2083 | 1.9762 | 69.9 | 25.03
Output | 0.00034881 | 0.0003655 | 0.00038218 | 0.0 | 0.01
Modify | 0.016762 | 0.01755 | 0.018337 | 0.6 | 0.36
Other | | 0.01001 | | | 0.21
Nlocal: 2000 ave 2564 max 1436 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 10334 ave 10752 max 9916 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 302958 ave 499873 max 106044 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 605917
Ave neighs/atom = 151.479
Neighbor list builds = 51
Dangerous builds = 0
run 500
Per MPI rank memory allocation (min/avg/max) = 4.955 | 5.336 | 5.717 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
1500 0.54200617 -6.2571433 0 -5.4443373 -1.8000344 4738.2137
1550 0.53713591 -6.2504068 0 -5.4449044 -1.7647087 4738.2137
1600 0.5467956 -6.2646482 0 -5.4446599 -1.8115778 4738.2137
1650 0.53806575 -6.2519004 0 -5.4450036 -1.7409135 4738.2137
1700 0.5347949 -6.2468958 0 -5.444904 -1.7162322 4738.2137
1750 0.53714528 -6.2506529 0 -5.4451365 -1.7340402 4738.2137
1800 0.5274989 -6.2358675 0 -5.444817 -1.6874989 4738.2137
1850 0.54585906 -6.2629475 0 -5.4443636 -1.7758918 4738.2137
1900 0.5301071 -6.2387551 0 -5.4437932 -1.6381903 4738.2137
1950 0.54288149 -6.2582818 0 -5.4441632 -1.7367819 4738.2137
2000 0.52766162 -6.2348587 0 -5.4435642 -1.5589151 4738.2137
Loop time of 4.90351 on 2 procs for 500 steps with 4000 atoms
Performance: 44050.062 tau/day, 101.968 timesteps/s
98.1% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.9937 | 2.6502 | 3.3067 | 40.3 | 54.05
Neigh | 0.81645 | 0.88655 | 0.95664 | 7.4 | 18.08
Comm | 0.61197 | 1.3389 | 2.0659 | 62.8 | 27.31
Output | 0.00036287 | 0.0003773 | 0.00039172 | 0.0 | 0.01
Modify | 0.016585 | 0.017429 | 0.018274 | 0.6 | 0.36
Other | | 0.01003 | | | 0.20
Nlocal: 2000 ave 2564 max 1436 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 10256 ave 10620 max 9892 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 303988 ave 502064 max 105911 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 607975
Ave neighs/atom = 151.994
Neighbor list builds = 51
Dangerous builds = 0
Total wall time: 0:00:17

View File

@ -1,227 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 3d Lennard-Jones melt
units lj
atom_style atomic
processors * 1 1
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
region box block 0 10 0 10 0 10
create_box 3 box
Created orthogonal box = (0 0 0) to (16.796 16.796 16.796)
4 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 4000 atoms
Time spent = 0.000421762 secs
mass * 1.0
region long block 3 6 0 10 0 10
set region long type 2
1400 settings made for type
velocity all create 1.0 87287
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
pair_coeff * 2 1.0 1.0 5.0
neighbor 0.3 bin
neigh_modify every 2 delay 4 check yes
fix p all property/atom d_WEIGHT
compute p all property/atom d_WEIGHT
fix 0 all balance 50 1.0 shift x 10 1.0 weight time 1.0 weight store WEIGHT
variable maximb equal f_0[1]
variable iter equal f_0[2]
variable prev equal f_0[3]
variable final equal f_0
#fix 3 all print 50 "${iter} ${prev} ${final} ${maximb}"
fix 1 all nve
#dump id all atom 50 dump.melt
#dump id all custom 50 dump.lammpstrj id type x y z c_p
#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30
#dump_modify 2 pad 3
#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30
#dump_modify 3 pad 3
thermo 50
run 500
Neighbor list info ...
update every 2 steps, delay 4 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.3
ghost atom cutoff = 5.3
binsize = 2.65, bins = 7 7 7
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.691 | 4.072 | 4.454 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 1 -6.9453205 0 -5.4456955 -5.6812358 4738.2137
50 0.48653399 -6.1788509 0 -5.4492324 -1.6017778 4738.2137
100 0.53411175 -6.249885 0 -5.4489177 -1.9317606 4738.2137
150 0.53646658 -6.2527206 0 -5.4482219 -1.9689568 4738.2137
200 0.54551611 -6.2656326 0 -5.4475631 -2.0042104 4738.2137
250 0.54677719 -6.2671162 0 -5.4471555 -2.0015995 4738.2137
300 0.5477618 -6.2678071 0 -5.4463698 -1.997842 4738.2137
350 0.55600296 -6.2801497 0 -5.4463538 -2.0394056 4738.2137
400 0.53241503 -6.2453665 0 -5.4469436 -1.878594 4738.2137
450 0.5439158 -6.2623 0 -5.4466302 -1.9744161 4738.2137
500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137
Loop time of 2.69458 on 4 procs for 500 steps with 4000 atoms
Performance: 80160.913 tau/day, 185.558 timesteps/s
94.2% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.0903 | 1.4509 | 1.7199 | 22.5 | 53.84
Neigh | 0.31688 | 0.47906 | 0.71852 | 24.2 | 17.78
Comm | 0.60463 | 0.72402 | 0.84257 | 12.7 | 26.87
Output | 0.00035119 | 0.00067121 | 0.0015202 | 0.0 | 0.02
Modify | 0.00811 | 0.010936 | 0.014029 | 2.7 | 0.41
Other | | 0.02904 | | | 1.08
Nlocal: 1000 ave 1504 max 634 min
Histogram: 2 0 0 0 0 0 1 0 0 1
Nghost: 8759.25 ave 9896 max 8021 min
Histogram: 2 0 0 0 0 1 0 0 0 1
Neighs: 149308 ave 179946 max 116419 min
Histogram: 1 1 0 0 0 0 0 0 1 1
Total # of neighbors = 597231
Ave neighs/atom = 149.308
Neighbor list builds = 50
Dangerous builds = 0
run 500
Per MPI rank memory allocation (min/avg/max) = 4.097 | 4.288 | 4.475 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
500 0.55526241 -6.2793396 0 -5.4466542 -2.0595015 4738.2137
550 0.53879347 -6.2554274 0 -5.4474393 -1.9756834 4738.2137
600 0.54275982 -6.2616799 0 -5.4477437 -1.9939993 4738.2137
650 0.54526651 -6.265098 0 -5.4474027 -2.0303672 4738.2137
700 0.54369381 -6.263201 0 -5.4478642 -1.9921967 4738.2137
750 0.54452777 -6.2640839 0 -5.4474964 -1.9658675 4738.2137
800 0.55061744 -6.2725556 0 -5.4468359 -2.0100922 4738.2137
850 0.55371614 -6.2763992 0 -5.4460326 -2.0065329 4738.2137
900 0.54756622 -6.2668303 0 -5.4456863 -1.9796122 4738.2137
950 0.54791593 -6.2673161 0 -5.4456477 -1.9598278 4738.2137
1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137
Loop time of 2.64502 on 4 procs for 500 steps with 4000 atoms
Performance: 81662.873 tau/day, 189.034 timesteps/s
93.3% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.1279 | 1.4127 | 1.6268 | 18.0 | 53.41
Neigh | 0.32225 | 0.49572 | 0.76053 | 26.2 | 18.74
Comm | 0.64504 | 0.6974 | 0.75498 | 5.7 | 26.37
Output | 0.00035477 | 0.00062996 | 0.001343 | 0.0 | 0.02
Modify | 0.0077929 | 0.010538 | 0.013856 | 2.6 | 0.40
Other | | 0.02803 | | | 1.06
Nlocal: 1000 ave 1437 max 597 min
Histogram: 1 1 0 0 0 0 0 1 0 1
Nghost: 8674 ave 9370 max 8013 min
Histogram: 1 0 1 0 0 0 0 1 0 1
Neighs: 150170 ave 187030 max 102149 min
Histogram: 1 0 0 0 0 1 0 1 0 1
Total # of neighbors = 600678
Ave neighs/atom = 150.169
Neighbor list builds = 53
Dangerous builds = 0
fix 0 all balance 50 1.0 shift x 5 1.0 weight neigh 0.5 weight time 0.66 weight store WEIGHT
run 500
Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.269 | 4.458 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
1000 0.54173198 -6.2586101 0 -5.4462153 -1.9007466 4738.2137
1050 0.54629742 -6.2657526 0 -5.4465113 -1.945821 4738.2137
1100 0.55427881 -6.2781733 0 -5.446963 -2.0021027 4738.2137
1150 0.54730654 -6.267257 0 -5.4465025 -1.9420678 4738.2137
1200 0.5388281 -6.2547963 0 -5.4467562 -1.890178 4738.2137
1250 0.54848768 -6.2694237 0 -5.4468979 -1.9636797 4738.2137
1300 0.54134321 -6.2590728 0 -5.447261 -1.9170271 4738.2137
1350 0.53564389 -6.2501521 0 -5.4468871 -1.8642306 4738.2137
1400 0.53726924 -6.2518379 0 -5.4461355 -1.8544028 4738.2137
1450 0.54525935 -6.2632653 0 -5.4455808 -1.9072158 4738.2137
1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866984 4738.2137
Loop time of 2.61342 on 4 procs for 500 steps with 4000 atoms
Performance: 82650.254 tau/day, 191.320 timesteps/s
93.1% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.222 | 1.4442 | 1.5812 | 12.3 | 55.26
Neigh | 0.29672 | 0.48201 | 0.73859 | 27.6 | 18.44
Comm | 0.59138 | 0.65738 | 0.70906 | 6.5 | 25.15
Output | 0.00036502 | 0.00091559 | 0.0020845 | 0.0 | 0.04
Modify | 0.0095406 | 0.012674 | 0.017643 | 2.8 | 0.48
Other | | 0.01621 | | | 0.62
Nlocal: 1000 ave 1446 max 670 min
Histogram: 2 0 0 0 0 0 1 0 0 1
Nghost: 8641 ave 9376 max 8019 min
Histogram: 1 1 0 0 0 0 0 1 0 1
Neighs: 150494 ave 184085 max 105390 min
Histogram: 1 0 1 0 0 0 0 0 0 2
Total # of neighbors = 601974
Ave neighs/atom = 150.494
Neighbor list builds = 51
Dangerous builds = 0
run 500
Per MPI rank memory allocation (min/avg/max) = 4.08 | 4.269 | 4.458 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
1500 0.54223346 -6.2591057 0 -5.4459588 -1.8866984 4738.2137
1550 0.55327018 -6.2750125 0 -5.4453148 -1.9506585 4738.2137
1600 0.5441901 -6.2612622 0 -5.4451811 -1.8559436 4738.2137
1650 0.54710046 -6.2661938 0 -5.4457483 -1.8882766 4738.2137
1700 0.5366569 -6.2504957 0 -5.4457116 -1.8067998 4738.2137
1750 0.5486468 -6.2681121 0 -5.4453476 -1.8662631 4738.2137
1800 0.54476176 -6.2615037 0 -5.4445653 -1.8352743 4738.2137
1850 0.5414305 -6.2555519 0 -5.4436091 -1.8005747 4738.2137
1900 0.53992655 -6.2541344 0 -5.444447 -1.7768718 4738.2137
1950 0.54666071 -6.2640943 0 -5.4443082 -1.7947052 4738.2137
2000 0.54556196 -6.2625262 0 -5.4443879 -1.8071631 4738.2137
Loop time of 2.81593 on 4 procs for 500 steps with 4000 atoms
Performance: 76706.532 tau/day, 177.561 timesteps/s
90.7% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.2508 | 1.4839 | 1.6521 | 13.4 | 52.70
Neigh | 0.34188 | 0.54016 | 0.82358 | 27.6 | 19.18
Comm | 0.70575 | 0.75254 | 0.80167 | 4.6 | 26.72
Output | 0.00041604 | 0.001362 | 0.0041099 | 4.3 | 0.05
Modify | 0.010564 | 0.013653 | 0.018 | 2.7 | 0.48
Other | | 0.02432 | | | 0.86
Nlocal: 1000 ave 1555 max 569 min
Histogram: 2 0 0 0 0 0 0 1 0 1
Nghost: 8672.75 ave 9821 max 7993 min
Histogram: 2 0 0 0 1 0 0 0 0 1
Neighs: 151656 ave 164603 max 133455 min
Histogram: 1 0 0 0 0 0 1 1 0 1
Total # of neighbors = 606625
Ave neighs/atom = 151.656
Neighbor list builds = 56
Dangerous builds = 0
Total wall time: 0:00:10

View File

@ -1,195 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 3d Lennard-Jones melt
units lj
atom_style atomic
processors * 1 1
variable factor index 1.0
lattice fcc 0.8442
Lattice spacing in x,y,z = 1.6796 1.6796 1.6796
region box block 0 10 0 10 0 10
create_box 3 box
Created orthogonal box = (0 0 0) to (16.796 16.796 16.796)
2 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 4000 atoms
Time spent = 0.000517368 secs
mass * 1.0
region long block 3 6 0 10 0 10
set region long type 2
1400 settings made for type
velocity all create 1.0 87287
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
pair_coeff * 2 1.0 1.0 5.0
neighbor 0.3 bin
neigh_modify every 2 delay 4 check yes
group fast type 1
2600 atoms in group fast
group slow type 2
1400 atoms in group slow
balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt
Neighbor list info ...
update every 2 steps, delay 4 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.3
ghost atom cutoff = 5.3
binsize = 2.65, bins = 7 7 7
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
rebalancing time: 0.000522375 seconds
iteration count = 1
time weight factor: 1
initial/final max load/proc = 2000 2000
initial/final imbalance factor = 1 1
x cuts: 0 0.5 1
y cuts: 0 1
z cuts: 0 1
fix 1 all nve
#dump id all atom 50 dump.melt
#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30
#dump_modify 2 pad 3
#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30
#dump_modify 3 pad 3
thermo 50
run 250
Per MPI rank memory allocation (min/avg/max) = 4.297 | 4.488 | 4.678 Mbytes
Step Temp E_pair E_mol TotEng Press
0 1 -6.9453205 0 -5.4456955 -5.6812358
50 0.49578514 -6.1929216 0 -5.4494298 -1.6668039
100 0.53275389 -6.2475932 0 -5.4486622 -1.9063885
150 0.53316457 -6.2483202 0 -5.4487733 -1.9476162
200 0.536665 -6.2530113 0 -5.448215 -1.933468
250 0.55006273 -6.27163 0 -5.4467422 -2.0438847
Loop time of 1.96356 on 2 procs for 250 steps with 4000 atoms
Performance: 55002.186 tau/day, 127.320 timesteps/s
99.4% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.0024 | 1.243 | 1.4835 | 21.6 | 63.30
Neigh | 0.3963 | 0.41601 | 0.43572 | 3.1 | 21.19
Comm | 0.032948 | 0.29324 | 0.55353 | 48.1 | 14.93
Output | 0.00013924 | 0.00014722 | 0.00015521 | 0.0 | 0.01
Modify | 0.0072696 | 0.0073524 | 0.0074351 | 0.1 | 0.37
Other | | 0.003842 | | | 0.20
Nlocal: 2000 ave 2051 max 1949 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 10443 ave 10506 max 10380 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 298332 ave 363449 max 233215 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 596664
Ave neighs/atom = 149.166
Neighbor list builds = 24
Dangerous builds = 0
balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt
rebalancing time: 0.000424623 seconds
iteration count = 3
time weight factor: 1
initial/final max load/proc = 1.91926 1.6972
initial/final imbalance factor = 1.15689 1.02304
x cuts: 0 0.4375 1
y cuts: 0 1
z cuts: 0 1
run 250
Per MPI rank memory allocation (min/avg/max) = 4.681 | 4.683 | 4.685 Mbytes
Step Temp E_pair E_mol TotEng Press
250 0.55006273 -6.27163 0 -5.4467422 -2.0438847
300 0.55111476 -6.2727642 0 -5.4462987 -2.0384873
350 0.55211503 -6.274054 0 -5.4460885 -2.0116976
400 0.54638463 -6.2661715 0 -5.4467995 -1.992248
450 0.55885307 -6.2852263 0 -5.4471563 -2.0669747
500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802
Loop time of 1.84751 on 2 procs for 250 steps with 4000 atoms
Performance: 58457.127 tau/day, 135.317 timesteps/s
99.5% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 1.1214 | 1.2291 | 1.3368 | 9.7 | 66.53
Neigh | 0.37418 | 0.41926 | 0.46434 | 7.0 | 22.69
Comm | 0.033842 | 0.18738 | 0.34091 | 35.5 | 10.14
Output | 0.00016665 | 0.00018752 | 0.00020838 | 0.0 | 0.01
Modify | 0.0062993 | 0.0072798 | 0.0082603 | 1.1 | 0.39
Other | | 0.00428 | | | 0.23
Nlocal: 2000 ave 2284 max 1716 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 10450 ave 10742 max 10158 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 298063 ave 326003 max 270123 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 596126
Ave neighs/atom = 149.031
Neighbor list builds = 25
Dangerous builds = 0
balance 1.0 shift x 5 1.1 weight time 1.0 # out unweighted.txt
rebalancing time: 0.000502825 seconds
iteration count = 3
time weight factor: 1
initial/final max load/proc = 1.80118 1.79434
initial/final imbalance factor = 1.0927 1.08854
x cuts: 0 0.507812 1
y cuts: 0 1
z cuts: 0 1
run 250
Per MPI rank memory allocation (min/avg/max) = 4.681 | 4.683 | 4.686 Mbytes
Step Temp E_pair E_mol TotEng Press
500 0.54587069 -6.2662849 0 -5.4476836 -2.0078802
550 0.54137926 -6.2592773 0 -5.4474115 -1.9770236
600 0.54022886 -6.2573307 0 -5.44719 -1.9619637
650 0.54709009 -6.2678862 0 -5.4474562 -1.9958342
700 0.54590044 -6.2656903 0 -5.4470444 -1.9957108
750 0.55098488 -6.2724831 0 -5.4462124 -2.0287523
Loop time of 2.03694 on 2 procs for 250 steps with 4000 atoms
Performance: 53020.655 tau/day, 122.733 timesteps/s
99.3% CPU use with 2 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.92132 | 1.2301 | 1.5389 | 27.8 | 60.39
Neigh | 0.3924 | 0.42313 | 0.45386 | 4.7 | 20.77
Comm | 0.032816 | 0.37246 | 0.71211 | 55.7 | 18.29
Output | 0.00013733 | 0.00014532 | 0.0001533 | 0.0 | 0.01
Modify | 0.0069692 | 0.0072372 | 0.0075052 | 0.3 | 0.36
Other | | 0.003856 | | | 0.19
Nlocal: 2000 ave 2097 max 1903 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Nghost: 10439.5 ave 10561 max 10318 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Neighs: 299628 ave 378859 max 220397 min
Histogram: 1 0 0 0 0 0 0 0 0 1
Total # of neighbors = 599256
Ave neighs/atom = 149.814
Neighbor list builds = 25
Dangerous builds = 0
Total wall time: 0:00:05

Some files were not shown because too many files have changed in this diff Show More