Merge branch 'develop' into small-patches

This commit is contained in:
jtclemm
2024-11-04 12:37:57 -07:00
414 changed files with 34889 additions and 8626 deletions

92
.github/workflows/check-cpp23.yml vendored Normal file
View File

@ -0,0 +1,92 @@
# GitHub action to build LAMMPS on Linux with gcc and C++23
name: "Check for C++23 Compatibility"
on:
push:
branches:
- develop
pull_request:
branches:
- develop
workflow_dispatch:
jobs:
build:
name: Build with C++23 support enabled
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache \
libeigen3-dev \
libcurl4-openssl-dev \
mold \
mpi-default-bin \
mpi-default-dev \
ninja-build \
python3-dev
- name: Create Build Environment
run: mkdir build
- name: Set up ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: linux-cpp23-ccache-${{ github.sha }}
restore-keys: linux-cpp23-ccache-
- name: Building LAMMPS via CMake
shell: bash
run: |
ccache -z
python3 -m venv linuxenv
source linuxenv/bin/activate
python3 -m pip install numpy
python3 -m pip install pyyaml
cmake -S cmake -B build \
-C cmake/presets/most.cmake \
-C cmake/presets/kokkos-openmp.cmake \
-D CMAKE_CXX_STANDARD=23 \
-D CMAKE_CXX_COMPILER=g++ \
-D CMAKE_C_COMPILER=gcc \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D CMAKE_BUILD_TYPE=Debug \
-D CMAKE_CXX_FLAGS_DEBUG="-Og -g" \
-D DOWNLOAD_POTENTIALS=off \
-D BUILD_MPI=on \
-D BUILD_SHARED_LIBS=on \
-D BUILD_TOOLS=off \
-D ENABLE_TESTING=off \
-D MLIAP_ENABLE_ACE=on \
-D MLIAP_ENABLE_PYTHON=off \
-D PKG_AWPMD=on \
-D PKG_GPU=on \
-D GPU_API=opencl \
-D PKG_KOKKOS=on \
-D PKG_LATBOLTZ=on \
-D PKG_MDI=on \
-D PKG_MANIFOLD=on \
-D PKG_ML-PACE=on \
-D PKG_ML-RANN=off \
-D PKG_MOLFILE=on \
-D PKG_RHEO=on \
-D PKG_PTM=on \
-D PKG_PYTHON=on \
-D PKG_QTB=on \
-D PKG_SMTBQ=on \
-G Ninja
cmake --build build
ccache -s

124
.github/workflows/kokkos-regression.yaml vendored Normal file
View File

@ -0,0 +1,124 @@
# GitHub action to build LAMMPS on Linux and run selected regression tests
name: "Kokkos OpenMP Regression Test"
on:
pull_request:
branches:
- develop
workflow_dispatch:
jobs:
build:
name: Build LAMMPS with Kokkos OpenMP
# restrict to official LAMMPS repository
if: ${{ github.repository == 'lammps/lammps' }}
runs-on: ubuntu-latest
env:
CCACHE_DIR: ${{ github.workspace }}/.ccache
strategy:
max-parallel: 4
matrix:
idx: [ 'pair', 'fix', 'compute', 'misc' ]
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 2
show-progress: false
- name: Install extra packages
run: |
sudo apt-get update
sudo apt-get install -y ccache ninja-build libeigen3-dev \
libcurl4-openssl-dev python3-dev \
mpi-default-bin mpi-default-dev
- name: Create Build Environment
run: mkdir build
- name: Set up ccache
uses: actions/cache@v4
with:
path: ${{ env.CCACHE_DIR }}
key: linux-kokkos-ccache-${{ github.sha }}
restore-keys: linux-kokkos-ccache-
- name: Building LAMMPS via CMake
shell: bash
run: |
ccache -z
python3 -m venv linuxenv
source linuxenv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install numpy pyyaml junit_xml
cmake -S cmake -B build \
-C cmake/presets/gcc.cmake \
-C cmake/presets/basic.cmake \
-C cmake/presets/kokkos-openmp.cmake \
-D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
-D CMAKE_C_COMPILER_LAUNCHER=ccache \
-D BUILD_SHARED_LIBS=off \
-D DOWNLOAD_POTENTIALS=off \
-D PKG_AMOEBA=on \
-D PKG_ASPHERE=on \
-D PKG_BROWNIAN=on \
-D PKG_CLASS2=on \
-D PKG_COLLOID=on \
-D PKG_CORESHELL=on \
-D PKG_DIPOLE=on \
-D PKG_DPD-BASIC=on \
-D PKG_EXTRA-COMPUTE=on \
-D PKG_EXTRA-FIX=on \
-D PKG_EXTRA-MOLECULE=on \
-D PKG_EXTRA-PAIR=on \
-D PKG_GRANULAR=on \
-D PKG_LEPTON=on \
-D PKG_MC=on \
-D PKG_MEAM=on \
-D PKG_POEMS=on \
-D PKG_PYTHON=on \
-D PKG_QEQ=on \
-D PKG_REAXFF=on \
-D PKG_REPLICA=on \
-D PKG_SRD=on \
-D PKG_VORONOI=on \
-G Ninja
cmake --build build
ccache -s
- name: Run Regression Tests for Selected Examples
shell: bash
run: |
source linuxenv/bin/activate
python3 tools/regression-tests/get_kokkos_input.py \
--examples-top-level=examples \
--filter-out="balance;fire;gcmc;granregion;mdi;mliap;neb;pace;prd;pour;python;snap"
python3 tools/regression-tests/run_tests.py \
--lmp-bin=build/lmp \
--config-file=tools/regression-tests/config_kokkos_openmp.yaml \
--list-input=input-list-${{ matrix.idx }}-kk.txt \
--output-file=output-${{ matrix.idx }}.xml \
--progress-file=progress-${{ matrix.idx }}.yaml \
--log-file=run-${{ matrix.idx }}.log \
--quick-max=100 --verbose
tar -cvf kokkos-regression-test-${{ matrix.idx }}.tar run-${{ matrix.idx }}.log progress-${{ matrix.idx }}.yaml output-${{ matrix.idx }}.xml
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: kokkos-regression-test-artifact-${{ matrix.idx }}
path: kokkos-regression-test-${{ matrix.idx }}.tar
merge:
runs-on: ubuntu-latest
needs: build
steps:
- name: Merge Artifacts
uses: actions/upload-artifact/merge@v4
with:
name: merged-kokkos-regresssion-artifact
pattern: kokkos-regression-test-artifact-*

View File

@ -118,7 +118,7 @@ endif()
# silence excessive warnings for new Intel Compilers
if(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
set(CMAKE_TUNE_DEFAULT "-Wno-tautological-constant-compare -Wno-unused-command-line-argument")
set(CMAKE_TUNE_DEFAULT "-fp-model precise -Wno-tautological-constant-compare -Wno-unused-command-line-argument")
endif()
# silence excessive warnings for PGI/NVHPC compilers
@ -141,7 +141,7 @@ endif()
# silence nvcc warnings
if((PKG_KOKKOS) AND (Kokkos_ENABLE_CUDA) AND NOT (CMAKE_CXX_COMPILER_ID STREQUAL "Clang"))
set(CMAKE_TUNE_DEFAULT "${CMAKE_TUNE_DEFAULT} -Xcudafe --diag_suppress=unrecognized_pragma")
set(CMAKE_TUNE_DEFAULT "${CMAKE_TUNE_DEFAULT} -Xcudafe --diag_suppress=unrecognized_pragma -Xcudafe --diag_suppress=128")
endif()
# we require C++11 without extensions. Kokkos requires at least C++17 (currently)
@ -165,6 +165,7 @@ if(MSVC)
add_compile_options(/wd4267)
add_compile_options(/wd4250)
add_compile_options(/EHsc)
add_compile_options(/utf-8)
endif()
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
endif()
@ -822,9 +823,15 @@ foreach(_DEF ${LAMMPS_DEFINES})
set(LAMMPS_API_DEFINES "${LAMMPS_API_DEFINES} -D${_DEF}")
endforeach()
if(BUILD_SHARED_LIBS)
install(TARGETS lammps EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS lammps EXPORT LAMMPS_Targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
if(NOT BUILD_MPI)
install(TARGETS mpi_stubs EXPORT LAMMPS_Targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS mpi_stubs EXPORT LAMMPS_Targets
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
configure_file(pkgconfig/liblammps.pc.in ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/liblammps${LAMMPS_MACHINE}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

View File

@ -110,6 +110,7 @@ if(BUILD_DOC)
add_custom_command(
OUTPUT html
DEPENDS ${DOC_SOURCES} ${DOCENV_DEPS} ${DOXYGEN_XML_DIR}/index.xml ${BUILD_DOC_CONFIG_FILE}
COMMAND ${Python3_EXECUTABLE} ${LAMMPS_DOC_DIR}/utils/make-globbed-tocs.py -d ${LAMMPS_DOC_DIR}/src
COMMAND Sphinx::sphinx-build ${SPHINX_EXTRA_OPTS} -b html -c ${DOC_BUILD_DIR} -d ${DOC_BUILD_DIR}/doctrees ${LAMMPS_DOC_DIR}/src ${DOC_BUILD_DIR}/html
COMMAND ${CMAKE_COMMAND} -E create_symlink Manual.html ${DOC_BUILD_DIR}/html/index.html
COMMAND ${CMAKE_COMMAND} -E copy_directory ${LAMMPS_DOC_DIR}/src/PDF ${DOC_BUILD_DIR}/html/PDF

View File

@ -21,9 +21,9 @@ if(VORO_FOUND)
set(VORO_LIBRARIES ${VORO_LIBRARY})
set(VORO_INCLUDE_DIRS ${VORO_INCLUDE_DIR})
if(NOT TARGET VORO::VORO)
add_library(VORO::VORO UNKNOWN IMPORTED)
set_target_properties(VORO::VORO PROPERTIES
if(NOT TARGET VORO::voro++)
add_library(VORO::voro++ UNKNOWN IMPORTED)
set_target_properties(VORO::voro++ PROPERTIES
IMPORTED_LOCATION "${VORO_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${VORO_INCLUDE_DIR}")
endif()

View File

@ -3,7 +3,7 @@ enable_language(C)
# we don't use the parallel i/o interface.
set(HDF5_PREFER_PARALLEL FALSE)
find_package(HDF5 REQUIRED)
find_package(HDF5 COMPONENTS C REQUIRED)
# parallel HDF5 will import incompatible MPI headers with a serial build
if((NOT BUILD_MPI) AND HDF5_IS_PARALLEL)

View File

@ -54,5 +54,5 @@ else()
if(NOT VORO_FOUND)
message(FATAL_ERROR "Voro++ library not found. Help CMake to find it by setting VORO_LIBRARY and VORO_INCLUDE_DIR, or set DOWNLOAD_VORO=ON to download it")
endif()
target_link_libraries(lammps PRIVATE VORO::VORO)
target_link_libraries(lammps PRIVATE VORO::voro++)
endif()

View File

@ -6,13 +6,24 @@ set(Kokkos_ENABLE_OPENMP ON CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_CUDA OFF CACHE BOOL "" FORCE)
set(Kokkos_ENABLE_SYCL ON CACHE BOOL "" FORCE)
set(FFT "MKL" CACHE STRING "" FORCE)
set(FFT_KOKKOS "MKL_GPU" CACHE STRING "" FORCE)
unset(USE_INTERNAL_LINALG)
unset(USE_INTERNAL_LINALG CACHE)
set(BLAS_VENDOR "Intel10_64_dyn")
# hide deprecation warnings temporarily for stable release
set(Kokkos_ENABLE_DEPRECATION_WARNINGS OFF CACHE BOOL "" FORCE)
set(CMAKE_CXX_COMPILER icpx CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER icx CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER "" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
set(CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
# Silence everything
set(CMAKE_CXX_FLAGS "-w" CACHE STRING "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS "-fsycl -flink-huge-device-code -fsycl-max-parallel-link-jobs=32 -fsycl-targets=spir64_gen -Xsycl-target-backend \"-device 12.60.7\" " CACHE STRING "" FORCE)
set(CMAKE_TUNE_FLAGS "-O3 -fsycl -fsycl-device-code-split=per_kernel -fsycl-targets=spir64_gen" CACHE STRING "" FORCE)
#set(CMAKE_EXE_LINKER_FLAGS "-fsycl -flink-huge-device-code -fsycl-targets=spir64_gen " CACHE STRING "" FORCE)
#set(CMAKE_TUNE_FLAGS "-O3 -fsycl -fsycl-device-code-split=per_kernel -fsycl-targets=spir64_gen" CACHE STRING "" FORCE)
set(CMAKE_EXE_LINKER_FLAGS "-fsycl -flink-huge-device-code " CACHE STRING "" FORCE)
set(CMAKE_TUNE_FLAGS "-O3 -fsycl -fsycl-device-code-split=per_kernel " CACHE STRING "" FORCE)

View File

@ -3,26 +3,9 @@
set(CMAKE_CXX_COMPILER "icpx" CACHE STRING "" FORCE)
set(CMAKE_C_COMPILER "icx" CACHE STRING "" FORCE)
set(CMAKE_Fortran_COMPILER "ifx" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
set(MPI_CXX "icpx" CACHE STRING "" FORCE)
set(MPI_CXX_COMPILER "mpicxx" CACHE STRING "" FORCE)
unset(HAVE_OMP_H_INCLUDE CACHE)
set(OpenMP_C "icx" CACHE STRING "" FORCE)
set(OpenMP_C_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_C_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_CXX "icpx" CACHE STRING "" FORCE)
set(OpenMP_CXX_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_CXX_LIB_NAMES "omp" CACHE STRING "" FORCE)
set(OpenMP_Fortran_FLAGS "-qopenmp;-qopenmp-simd" CACHE STRING "" FORCE)
set(OpenMP_omp_LIBRARY "libiomp5.so" CACHE PATH "" FORCE)
# force using internal BLAS/LAPCK since external ones may not be ABI compatible
set(USE_INTERNAL_LINALG ON CACHE BOOL "" FORCE)

7
doc/.gitignore vendored
View File

@ -17,3 +17,10 @@
*.el
/utils/sphinx-config/_static/mathjax
/utils/sphinx-config/_static/polyfill.js
/src/pairs.rst
/src/bonds.rst
/src/angles.rst
/src/dihedrals.rst
/src/impropers.rst
/src/computes.rst
/src/fixes.rst

View File

@ -83,7 +83,10 @@ $(SPHINXCONFIG)/conf.py: $(SPHINXCONFIG)/conf.py.in
-e 's,@LAMMPS_PYTHON_DIR@,$(BUILDDIR)/../python,g' \
-e 's,@LAMMPS_DOC_DIR@,$(BUILDDIR),g' $< > $@
html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
globbed-tocs:
$(PYTHON) $(BUILDDIR)/utils/make-globbed-tocs.py -d $(RSTDIR)
html: xmlgen globbed-tocs $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@(\
@ -113,7 +116,7 @@ html: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
@rm -rf html/PDF/.[sg]*
@echo "Build finished. The HTML pages are in doc/html."
fasthtml: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
fasthtml: xmlgen globbed-tocs $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@mkdir -p fasthtml
@ -132,7 +135,7 @@ fasthtml: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK) $(MATHJAX)
@rm -rf fasthtml/PDF/.[sg]*
@echo "Fast HTML build finished. The HTML pages are in doc/fasthtml."
spelling: xmlgen $(SPHINXCONFIG)/conf.py $(VENV) $(SPHINXCONFIG)/false_positives.txt
spelling: xmlgen globbed-tocs $(SPHINXCONFIG)/conf.py $(VENV) $(SPHINXCONFIG)/false_positives.txt
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@(\
. $(VENV)/bin/activate ; \
@ -143,7 +146,7 @@ spelling: xmlgen $(SPHINXCONFIG)/conf.py $(VENV) $(SPHINXCONFIG)/false_positives
)
@echo "Spell check finished."
epub: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
epub: xmlgen globbed-tocs $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@mkdir -p epub/JPG
@ -166,7 +169,7 @@ mobi: epub
@ebook-convert LAMMPS.epub LAMMPS.mobi
@echo "Conversion finished. The MOBI manual file is created."
pdf: xmlgen $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
pdf: xmlgen globbed-tocs $(VENV) $(SPHINXCONFIG)/conf.py $(ANCHORCHECK)
@if [ "$(HAS_BASH)" == "NO" ] ; then echo "bash was not found at $(OSHELL)! Please use: $(MAKE) SHELL=/path/to/bash" 1>&2; exit 1; fi
@$(MAKE) $(MFLAGS) -C graphviz all
@if [ "$(HAS_PDFLATEX)" == "NO" ] ; then echo "PDFLaTeX or latexmk were not found! Please check README for further instructions" 1>&2; exit 1; fi

View File

@ -178,6 +178,7 @@ OPT.
* :doc:`python/move <fix_python_move>`
* :doc:`qbmsst <fix_qbmsst>`
* :doc:`qeq/comb (o) <fix_qeq_comb>`
* :doc:`qeq/ctip <fix_qeq>`
* :doc:`qeq/dynamic <fix_qeq>`
* :doc:`qeq/fire <fix_qeq>`
* :doc:`qeq/point <fix_qeq>`

View File

@ -44,7 +44,7 @@ OPT.
* :doc:`born/coul/wolf/cs (g) <pair_cs>`
* :doc:`born/gauss <pair_born_gauss>`
* :doc:`bpm/spring <pair_bpm_spring>`
* :doc:`brownian (o) <pair_brownian>`
* :doc:`brownian (ko) <pair_brownian>`
* :doc:`brownian/poly (o) <pair_brownian>`
* :doc:`buck (giko) <pair_buck>`
* :doc:`buck/coul/cut (giko) <pair_buck>`
@ -59,6 +59,7 @@ OPT.
* :doc:`comb (o) <pair_comb>`
* :doc:`comb3 <pair_comb>`
* :doc:`cosine/squared <pair_cosine_squared>`
* :doc:`coul/ctip <pair_coul>`
* :doc:`coul/cut (gko) <pair_coul>`
* :doc:`coul/cut/dielectric <pair_dielectric>`
* :doc:`coul/cut/global (o) <pair_coul>`

View File

@ -1,5 +1,5 @@
CHARMM, AMBER, COMPASS, and DREIDING force fields
=================================================
CHARMM, AMBER, COMPASS, DREIDING, and OPLS force fields
=======================================================
A compact summary of the concepts, definitions, and properties of
force fields with explicit bonded interactions (like the ones discussed
@ -236,6 +236,40 @@ documentation for the formula it computes.
* :doc:`special_bonds <special_bonds>` dreiding
OPLS
----
OPLS (Optimized Potentials for Liquid Simulations) is a general force
field for atomistic simulation of organic molecules in solvent. It was
developed by the `Jorgensen group
<https://traken.chem.yale.edu/oplsaam.html>`_ at Purdue University and
later at Yale University. Multiple versions of the OPLS parameters
exist for united atom representations (OPLS-UA) and for all-atom
representations (OPLS-AA).
This force field is based on atom types mapped to specific functional
groups in organic and biological molecules. Each atom includes a
static, partial atomic charge reflecting the oxidation state of the
element derived from its bonded neighbors :ref:`(Jorgensen)
<howto-jorgensen>` and computed based on increments determined by the
atom type of the atoms bond to it.
The interaction styles listed below compute force field formulas that
are fully or in part consistent with the OPLS style force fields. See
each command's documentation for the formula it computes. Some are only
compatible with a subset of OPLS interactions.
* :doc:`bond_style <bond_harmonic>` harmonic
* :doc:`angle_style <angle_harmonic>` harmonic
* :doc:`dihedral_style <dihedral_opls>` opls
* :doc:`improper_style <improper_cvff>` cvff
* :doc:`improper_style <improper_fourier>` fourier
* :doc:`improper_style <improper_harmonic>` harmonic
* :doc:`pair_style <pair_lj_cut_coul>` lj/cut/coul/cut
* :doc:`pair_style <pair_lj_cut_coul>` lj/cut/coul/long
* :doc:`pair_modify <pair_modify>` geometric
* :doc:`special_bonds <special_bonds>` lj/coul 0.0 0.0 0.5
----------
.. _Typelabel2:
@ -266,3 +300,6 @@ documentation for the formula it computes.
**(Mayo)** Mayo, Olfason, Goddard III (1990). J Phys Chem, 94, 8897-8909. https://doi.org/10.1021/j100389a010
.. _howto-Jorgensen:
**(Jorgensen)** Jorgensen, Tirado-Rives (1988). J Am Chem Soc, 110, 1657-1666. https://doi.org/10.1021/ja00214a001

View File

@ -42,7 +42,8 @@ Currently, there are two types of bonds included in the BPM package. The
first bond style, :doc:`bond bpm/spring <bond_bpm_spring>`, only applies
pairwise, central body forces. Point particles must have :doc:`bond atom
style <atom_style>` and may be thought of as nodes in a spring
network. Alternatively, the second bond style, :doc:`bond bpm/rotational
network. An optional multibody term can be used to adjust the network's
Poisson's ratio. Alternatively, the second bond style, :doc:`bond bpm/rotational
<bond_bpm_rotational>`, resolves tangential forces and torques arising
with the shearing, bending, and twisting of the bond due to rotation or
displacement of particles. Particles are similar to those used in the
@ -55,8 +56,9 @@ orientation similar to :doc:`fix nve/asphere <fix_nve_asphere>`.
In addition to bond styles, a new pair style :doc:`pair bpm/spring
<pair_bpm_spring>` was added to accompany the bpm/spring bond
style. This pair style is simply a hookean repulsion with similar
velocity damping as its sister bond style.
style. By default, this pair style is simply a hookean repulsion with
similar velocity damping as its sister bond style, but optional
arguments can be used to modify the force.
----------

View File

@ -58,28 +58,30 @@ chunk ID for an individual atom can also be static (e.g. a molecule
ID), or dynamic (e.g. what spatial bin an atom is in as it moves).
Note that this compute allows the per-atom output of other
:doc:`computes <compute>`, :doc:`fixes <fix>`, and
:doc:`variables <variable>` to be used to define chunk IDs for each
atom. This means you can write your own compute or fix to output a
per-atom quantity to use as chunk ID. See the :doc:`Modify <Modify>`
doc pages for info on how to do this. You can also define a :doc:`per-atom variable <variable>` in the input script that uses a formula to
generate a chunk ID for each atom.
:doc:`computes <compute>`, :doc:`fixes <fix>`, and :doc:`variables
<variable>` to be used to define chunk IDs for each atom. This means
you can write your own compute or fix to output a per-atom quantity to
use as chunk ID. See the :doc:`Modify <Modify>` doc pages for info on
how to do this. You can also define a :doc:`per-atom variable
<variable>` in the input script that uses a formula to generate a chunk
ID for each atom.
Fix ave/chunk command:
----------------------
This fix takes the ID of a :doc:`compute chunk/atom <compute_chunk_atom>` command as input. For each chunk,
it then sums one or more specified per-atom values over the atoms in
each chunk. The per-atom values can be any atom property, such as
velocity, force, charge, potential energy, kinetic energy, stress,
etc. Additional keywords are defined for per-chunk properties like
density and temperature. More generally any per-atom value generated
by other :doc:`computes <compute>`, :doc:`fixes <fix>`, and :doc:`per-atom variables <variable>`, can be summed over atoms in each chunk.
This fix takes the ID of a :doc:`compute chunk/atom
<compute_chunk_atom>` command as input. For each chunk, it then sums
one or more specified per-atom values over the atoms in each chunk. The
per-atom values can be any atom property, such as velocity, force,
charge, potential energy, kinetic energy, stress, etc. Additional
keywords are defined for per-chunk properties like density and
temperature. More generally any per-atom value generated by other
:doc:`computes <compute>`, :doc:`fixes <fix>`, and :doc:`per-atom
variables <variable>`, can be summed over atoms in each chunk.
Similar to other averaging fixes, this fix allows the summed per-chunk
values to be time-averaged in various ways, and output to a file. The
fix produces a global array as output with one row of values per
chunk.
fix produces a global array as output with one row of values per chunk.
Compute \*/chunk commands:
--------------------------
@ -97,17 +99,20 @@ category:
* :doc:`compute torque/chunk <compute_vcm_chunk>`
* :doc:`compute vcm/chunk <compute_vcm_chunk>`
They each take the ID of a :doc:`compute chunk/atom <compute_chunk_atom>` command as input. As their names
indicate, they calculate the center-of-mass, radius of gyration,
moments of inertia, mean-squared displacement, temperature, torque,
and velocity of center-of-mass for each chunk of atoms. The :doc:`compute property/chunk <compute_property_chunk>` command can tally the
count of atoms in each chunk and extract other per-chunk properties.
They each take the ID of a :doc:`compute chunk/atom
<compute_chunk_atom>` command as input. As their names indicate, they
calculate the center-of-mass, radius of gyration, moments of inertia,
mean-squared displacement, temperature, torque, and velocity of
center-of-mass for each chunk of atoms. The :doc:`compute
property/chunk <compute_property_chunk>` command can tally the count of
atoms in each chunk and extract other per-chunk properties.
The reason these various calculations are not part of the :doc:`fix ave/chunk command <fix_ave_chunk>`, is that each requires a more
The reason these various calculations are not part of the :doc:`fix
ave/chunk command <fix_ave_chunk>`, is that each requires a more
complicated operation than simply summing and averaging over per-atom
values in each chunk. For example, many of them require calculation
of a center of mass, which requires summing mass\*position over the
atoms and then dividing by summed mass.
values in each chunk. For example, many of them require calculation of
a center of mass, which requires summing mass\*position over the atoms
and then dividing by summed mass.
All of these computes produce a global vector or global array as
output, with one or more values per chunk. The output can be used in
@ -118,9 +123,10 @@ various ways:
* As input to the :doc:`fix ave/histo <fix_ave_histo>` command to
histogram values across chunks. E.g. a histogram of cluster sizes or
molecule diffusion rates.
* As input to special functions of :doc:`equal-style variables <variable>`, like sum() and max() and ave(). E.g. to
find the largest cluster or fastest diffusing molecule or average
radius-of-gyration of a set of molecules (chunks).
* As input to special functions of :doc:`equal-style variables
<variable>`, like sum() and max() and ave(). E.g. to find the largest
cluster or fastest diffusing molecule or average radius-of-gyration of
a set of molecules (chunks).
Other chunk commands:
---------------------
@ -138,9 +144,10 @@ spatially average per-chunk values calculated by a per-chunk compute.
The :doc:`compute reduce/chunk <compute_reduce_chunk>` command reduces a
peratom value across the atoms in each chunk to produce a value per
chunk. When used with the :doc:`compute chunk/spread/atom <compute_chunk_spread_atom>` command it can
create peratom values that induce a new set of chunks with a second
:doc:`compute chunk/atom <compute_chunk_atom>` command.
chunk. When used with the :doc:`compute chunk/spread/atom
<compute_chunk_spread_atom>` command it can create peratom values that
induce a new set of chunks with a second :doc:`compute chunk/atom
<compute_chunk_atom>` command.
Example calculations with chunks
--------------------------------

View File

@ -31,18 +31,19 @@ Operating systems
^^^^^^^^^^^^^^^^^
The primary development platform for LAMMPS is Linux. Thus, the chances
for LAMMPS to compile without problems on Linux machines are the best.
for LAMMPS to compile without problems are the best on Linux machines.
Also, compilation and correct execution on macOS and Windows (using
Microsoft Visual C++) is checked automatically for largest part of the
source code. Some (optional) features are not compatible with all
Microsoft Visual C++) is checked automatically for the largest part of
the source code. Some (optional) features are not compatible with all
operating systems, either through limitations of the corresponding
LAMMPS source code or through source code or build system
incompatibilities of required libraries.
LAMMPS source code or through incompatibilities of source code or
build system of required external libraries or packages.
Executables for Windows may be created natively using either Cygwin or
Visual Studio or with a Linux to Windows MinGW cross-compiler.
Additionally, FreeBSD and Solaris have been tested successfully.
Additionally, FreeBSD and Solaris have been tested successfully to
run LAMMPS and produce results consistent with those on Linux.
Compilers
^^^^^^^^^

View File

@ -880,7 +880,7 @@ groups of atoms that interact with the remaining atoms as electrolyte.
**Authors:** The ELECTRODE package is written and maintained by Ludwig
Ahrens-Iwers (TUHH, Hamburg, Germany), Shern Tee (UQ, Brisbane, Australia) and
Robert Meissner (TUHH, Hamburg, Germany).
Robert Meissner (Helmholtz-Zentrum Hereon, Geesthacht and TUHH, Hamburg, Germany).
.. versionadded:: 4May2022

View File

@ -3,71 +3,70 @@ Running LAMMPS on Windows
To run a serial (non-MPI) executable, follow these steps:
* Get a command prompt by going to Start->Run... ,
then typing "cmd".
* Move to the directory where you have your input script,
* Install a LAMMPS installer package from https://packages.lammps.org/windows.html
* Open the "Command Prompt" or "Terminal" app.
* Change to the directory where you have your input script,
(e.g. by typing: cd "Documents").
* At the command prompt, type "lmp -in in.file", where
in.file is the name of your LAMMPS input script.
* At the command prompt, type "lmp -in in.file.lmp", where
``in.file.lmp`` is the name of your LAMMPS input script.
Note that the serial executable includes support for multi-threading
parallelization from the styles in the OPENMP packages. To run with
4 threads, you can type this:
parallelization from the styles in the OPENMP and KOKKOS packages.
To run with 4 threads, you can type this:
.. code-block:: bash
lmp -in in.lj -pk omp 4 -sf omp
lmp -in in.lj.lmp -pk omp 4 -sf omp
lmp -in in.lj.lmp -k on t 4 -sf kk
Alternately, you can also install a package with LAMMPS-GUI included and
open the LAMMPS-GUI app (the package includes the command line version
of LAMMPS as well) and open the input file in the GUI and run it from
there. For details on LAMMPS-GUI, see :doc:`Howto_lammps_gui`.
----------
For the MPI executable, which allows you to run LAMMPS under Windows
in parallel, follow these steps.
For the MS-MPI executables, which allow you to run LAMMPS under Windows
in parallel using MPI rather than multi-threading, follow these steps.
Download and install a compatible MPI library binary package:
* for 32-bit Windows: `mpich2-1.4.1p1-win-ia32.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-ia32.msi>`_
* for 64-bit Windows: `mpich2-1.4.1p1-win-x86-64.msi <https://download.lammps.org/thirdparty/mpich2-1.4.1p1-win-x86-64.msi>`_
The LAMMPS Windows installer packages will automatically adjust your
path for the default location of this MPI package. After the
installation of the MPICH2 software, it needs to be integrated into
the system. For this you need to start a Command Prompt in
*Administrator Mode* (right click on the icon and select it). Change
into the MPICH2 installation directory, then into the subdirectory
**bin** and execute **smpd.exe -install**\ . Exit the command window.
* Get a new, regular command prompt by going to Start->Run... ,
then typing "cmd".
* Move to the directory where you have your input file
(e.g. by typing: cd "Documents").
Download and install the MS-MPI runtime package ``msmpisetup.exe`` from
https://www.microsoft.com/en-us/download/details.aspx?id=105289 (Note
that the ``msmpisdk.msi`` is **only** required for **compilation** of
LAMMPS from source on Windows using Microsoft Visual Studio). After
installation of MS-MPI perform a reboot.
Then you can run the executable in serial like in the example above
or in parallel using MPI with one of the following commands:
.. code-block:: bash
mpiexec -localonly 4 lmp -in in.file
mpiexec -np 4 lmp -in in.file
mpiexec -localonly 4 lmp -in in.file.lmp
mpiexec -np 4 lmp -in in.file.lmp
where in.file is the name of your LAMMPS input script. For the latter
case, you may be prompted to enter the password that you set during
installation of the MPI library software.
where ``in.file.lmp`` is the name of your LAMMPS input script. For the
latter case, you may be prompted to enter the password that you set
during installation of the MPI library software.
In this mode, output may not immediately show up on the screen, so if
your input script takes a long time to execute, you may need to be
patient before the output shows up.
The parallel executable can also run on a single processor by typing
something like this:
Note that the parallel executable also includes OpenMP multi-threading
through both the OPENMP and the KOKKOS package, which can be combined
with MPI using something like:
.. code-block:: bash
lmp -in in.lj
mpiexec -localonly 2 lmp -in in.lj.lmp -pk omp 2 -sf omp
mpiexec -localonly 2 lmp -in in.lj.lmp -kokkos on t 2 -sf kk
Note that the parallel executable also includes OpenMP
multi-threading, which can be combined with MPI using something like:
.. code-block:: bash
mpiexec -localonly 2 lmp -in in.lj -pk omp 2 -sf omp
-------------
MPI parallelization will work for *all* functionality in LAMMPS and in
many cases the MPI parallelization is more efficient than
multi-threading since LAMMPS was designed from ground up for MPI
parallelization using domain decomposition. Multi-threading is only
available for selected styles and implemented on top of the MPI
parallelization. Multi-threading is most useful for systems with large
load imbalances when using domain decomposition and a smaller number
of threads (<= 8).

View File

@ -1,8 +0,0 @@
Angle Styles
############
.. toctree::
:maxdepth: 1
:glob:
angle_*

View File

@ -10,7 +10,7 @@ Syntax
bond_style bpm/spring keyword value attribute1 attribute2 ...
* optional keyword = *overlay/pair* or *store/local* or *smooth* or *break*
* optional keyword = *overlay/pair* or *store/local* or *smooth* or *break* or *volume/factor*
.. parsed-literal::
@ -36,6 +36,9 @@ Syntax
*break* value = *yes* or *no*
indicates whether bonds break during a run
*volume/factor* value = *yes* or *no*
indicates whether forces include the volumetric contribution
Examples
""""""""
@ -44,6 +47,9 @@ Examples
bond_style bpm/spring
bond_coeff 1 1.0 0.05 0.1
bond_style bpm/spring volume/factor yes
bond_coeff 1 1.0 0.05 0.1 0.5
bond_style bpm/spring myfix 1000 time id1 id2
dump 1 all local 1000 dump.broken f_myfix[1] f_myfix[2] f_myfix[3]
dump_modify 1 write_header no
@ -97,15 +103,6 @@ approach the critical strain
w = 1.0 - \left( \frac{r - r_0}{r_0 \epsilon_c} \right)^8 .
The following coefficients must be defined for each bond type via the
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
the data file or restart files read by the :doc:`read_data
<read_data>` or :doc:`read_restart <read_restart>` commands:
* :math:`k` (force/distance units)
* :math:`\epsilon_c` (unit less)
* :math:`\gamma` (force/velocity units)
If the *normalize* keyword is set to *yes*, the elastic bond force will be
normalized by :math:`r_0` such that :math:`k` must be given in force units.
@ -123,6 +120,43 @@ during a simulation run. This will prevent some unnecessary calculation.
However, if a bond reaches a strain greater than :math:`\epsilon_c`,
it will trigger an error.
.. versionadded:: TBD
The *volume/factor* keyword toggles whether an additional multibody
contribution is added to he force using the formulation in
:ref:`(Clemmer2) <multibody-Clemmer>`,
.. math::
\alpha_v \left(\left[\frac{V_i + V_j}{V_{0,i} + V_{0,j}}\right]^{1/3} - \frac{r_{ij}}{r_{0,ij}}\right)
where :math:`\alpha_v` is a user specified coefficient and :math:`V_i`
and :math:`V_{0,i}` are estimates of the current and local volume
of atom :math:`i`. These volumes are calculated as the sum of current
or initial bond lengths cubed. In 2D, the volume is replaced with an area
calculated using bond lengths squared and the cube root in the above equation
is accordingly replaced with a square root. This approximation assumes bonds
are evenly distributed on a spherical surface and neglects constant prefactors
which are irrelevant since only the ratio of volumes matters. This term may be
used to adjust the Poisson's ratio.
If a bond is broken (or created), :math:`V_{0,i}` is updated by subtracting
(or adding) that bond's contribution.
The following coefficients must be defined for each bond type via the
:doc:`bond_coeff <bond_coeff>` command as in the example above, or in
the data file or restart files read by the :doc:`read_data
<read_data>` or :doc:`read_restart <read_restart>` commands:
* :math:`k` (force/distance units)
* :math:`\epsilon_c` (unit less)
* :math:`\gamma` (force/velocity units)
Additionally, if *volume/factor* is set to *yes*, a fourth coefficient
must be provided:
* :math:`a_v` (force units)
If the *store/local* keyword is used, an internal fix will track bonds that
break during the simulation. Whenever a bond breaks, data is processed
and transferred to an internal fix labeled *fix_ID*. This allows the
@ -213,7 +247,7 @@ Related commands
Default
"""""""
The option defaults are *overlay/pair* = *no*, *smooth* = *yes*, *normalize* = *no*, and *break* = *yes*
The option defaults are *overlay/pair* = *no*, *smooth* = *yes*, *normalize* = *no*, *break* = *yes*, and *volume/factor* = *no*
----------
@ -224,3 +258,7 @@ The option defaults are *overlay/pair* = *no*, *smooth* = *yes*, *normalize* = *
.. _Groot4:
**(Groot)** Groot and Warren, J Chem Phys, 107, 4423-35 (1997).
.. _multibody-Clemmer:
**(Clemmer2)** Clemmer, Monti, Lechman, Soft Matter, 20, 1702 (2024).

View File

@ -1,8 +0,0 @@
Bond Styles
###########
.. toctree::
:maxdepth: 1
:glob:
bond_*

View File

@ -78,7 +78,7 @@ system and output the statistics in various ways:
compute 2 all angle/local eng theta v_cos v_cossq set theta t
dump 1 all local 100 tmp.dump c_1[*] c_2[*]
compute 3 all reduce ave c_2[*]
compute 3 all reduce ave c_2[*] inputs local
thermo_style custom step temp press c_3[*]
fix 10 all ave/histo 10 10 100 -1 1 20 c_2[3] mode vector file tmp.histo

View File

@ -139,7 +139,7 @@ output the statistics in various ways:
compute 2 all bond/local engpot dist v_dsq set dist d
dump 1 all local 100 tmp.dump c_1[*] c_2[*]
compute 3 all reduce ave c_2[*]
compute 3 all reduce ave c_2[*] inputs local
thermo_style custom step temp press c_3[*]
fix 10 all ave/histo 10 10 100 0 6 20 c_2[3] mode vector file tmp.histo

View File

@ -88,6 +88,10 @@ too frequently.
----------
.. include:: accel_styles.rst
----------
Output info
"""""""""""

View File

@ -76,7 +76,7 @@ angle in the system and output the statistics in various ways:
compute 2 all dihedral/local phi v_cos v_cossq set phi p
dump 1 all local 100 tmp.dump c_1[*] c_2[*]
compute 3 all reduce ave c_2[*]
compute 3 all reduce ave c_2[*] inputs local
thermo_style custom step temp press c_3[*]
fix 10 all ave/histo 10 10 100 -1 1 20 c_2[2] mode vector file tmp.histo

View File

@ -125,10 +125,6 @@ where thermo_temp is the ID of a similarly defined compute of style
----------
.. include:: accel_styles.rst
----------
Output info
"""""""""""

View File

@ -206,11 +206,13 @@ IDs and the bond stretch will be printed with thermodynamic output.
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 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, like for example
the :doc:`compute voronoi/atom <compute_voronoi_atom>` command, then
this keyword selects between them.
this keyword selects between them. If a compute *only* produces local
data, like for example the :doc:`compute bond/local command
<compute_bond_local>`, the setting "inputs local" is *required*.
----------

View File

@ -37,55 +37,57 @@ Description
Define a calculation that reduces one or more per-atom vectors into
per-chunk values. This can be useful for diagnostic output. Or when
used in conjunction with the :doc:`compute chunk/spread/atom <compute_chunk_spread_atom>` command it can be
used to create per-atom values that induce a new set of chunks with a
second :doc:`compute chunk/atom <compute_chunk_atom>` command. An
example is given below.
used in conjunction with the :doc:`compute chunk/spread/atom
<compute_chunk_spread_atom>` command it can be used to create per-atom
values that induce a new set of chunks with a second :doc:`compute
chunk/atom <compute_chunk_atom>` command. An example is given below.
In LAMMPS, chunks are collections of atoms defined by a :doc:`compute chunk/atom <compute_chunk_atom>` command, which assigns each atom
to a single chunk (or no chunk). The ID for this command is specified
as chunkID. For example, a single chunk could be the atoms in a
molecule or atoms in a spatial bin. See the :doc:`compute chunk/atom <compute_chunk_atom>` and :doc:`Howto chunk <Howto_chunk>`
doc pages for details of how chunks can be defined and examples of how
they can be used to measure properties of a system.
In LAMMPS, chunks are collections of atoms defined by a :doc:`compute
chunk/atom <compute_chunk_atom>` command, which assigns each atom to a
single chunk (or no chunk). The ID for this command is specified as
chunkID. For example, a single chunk could be the atoms in a molecule
or atoms in a spatial bin. See the :doc:`compute chunk/atom
<compute_chunk_atom>` and :doc:`Howto chunk <Howto_chunk>` doc pages for
details of how chunks can be defined and examples of how they can be
used to measure properties of a system.
For each atom, this compute accesses its chunk ID from the specified
*chunkID* compute. The per-atom value from an input contributes
to a per-chunk value corresponding the the chunk ID.
*chunkID* compute. The per-atom value from an input contributes to a
per-chunk value corresponding the chunk ID.
The reduction operation is specified by the *mode* setting and is
performed over all the per-atom values from the atoms in each chunk.
The *sum* option adds the pre-atom values to a per-chunk total. The
*min* or *max* options find the minimum or maximum value of the
per-atom values for each chunk.
The *sum* option adds the per-atom values to a per-chunk total. The
*min* or *max* options find the minimum or maximum value of the per-atom
values for each chunk.
Note that only atoms in the specified group contribute to the
reduction operation. If the *chunkID* compute returns a 0 for the
chunk ID of an atom (i.e., the atom is not in a chunk defined by the
:doc:`compute chunk/atom <compute_chunk_atom>` command), that atom will
also not contribute to the reduction operation. An input that is a
compute or fix may define its own group which affects the quantities
it returns. For example, a compute with return a zero value for atoms
that are not in the group specified for that compute.
Note that only atoms in the specified group contribute to the reduction
operation. If the *chunkID* compute returns a 0 for the chunk ID of an
atom (i.e., the atom is not in a chunk defined by the :doc:`compute
chunk/atom <compute_chunk_atom>` command), that atom will also not
contribute to the reduction operation. An input that is a compute or
fix may define its own group which affects the quantities it returns.
For example, a compute will return a zero value for atoms that are not
in the group specified for that compute.
Each listed input is operated on independently. Each input can be the
result of a :doc:`compute <compute>` or :doc:`fix <fix>` or the evaluation
of an atom-style :doc:`variable <variable>`.
result of a :doc:`compute <compute>` or :doc:`fix <fix>` or the
evaluation of an atom-style :doc:`variable <variable>`.
Note that for values from a compute or fix, the bracketed index I can
be specified using a wildcard asterisk with the index to effectively
Note that for values from a compute or fix, the bracketed index I can be
specified using a wildcard asterisk with the index to effectively
specify multiple values. This takes the form "\*" or "\*n" or "m\*" or
"m\*n". If :math:`N` is the size of the vector (for *mode* = scalar) or the
number of columns in the array (for *mode* = vector), then an asterisk
with no numeric values means all indices from 1 to :math:`N`. A leading
asterisk means all indices from 1 to n (inclusive). A trailing
asterisk means all indices from n to :math:`N` (inclusive). A middle asterisk
means all indices from m to n (inclusive).
"m\*n". If :math:`N` is the size of the vector (for *mode* = scalar) or
the number of columns in the array (for *mode* = vector), then an
asterisk with no numeric values means all indices from 1 to :math:`N`.
A leading asterisk means all indices from 1 to n (inclusive). A
trailing asterisk means all indices from n to :math:`N` (inclusive). A
middle asterisk means all indices from m to n (inclusive).
Using a wildcard is the same as if the individual columns of the array
had been listed one by one. For example, the following two compute reduce/chunk
commands are equivalent, since the
:doc:`compute property/chunk <compute_property_chunk>` command creates a per-atom
had been listed one by one. For example, the following two compute
reduce/chunk commands are equivalent, since the :doc:`compute
property/chunk <compute_property_chunk>` command creates a per-atom
array with 3 columns:
.. code-block:: LAMMPS
@ -164,13 +166,14 @@ Output info
"""""""""""
This compute calculates a global vector if a single input value is
specified, otherwise a global array is output. The number of columns
in the array is the number of inputs provided. The length of the
vector or the number of vector elements or array rows = the number of
chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom <compute_chunk_atom>` command. The vector or array can
be accessed by any command that uses global values from a compute as
input. See the :doc:`Howto output <Howto_output>` page for an
overview of LAMMPS output options.
specified, otherwise a global array is output. The number of columns in
the array is the number of inputs provided. The length of the vector or
the number of vector elements or array rows = the number of chunks
*Nchunk* as calculated by the specified :doc:`compute chunk/atom
<compute_chunk_atom>` command. The vector or array can be accessed by
any command that uses global values from a compute as input. See the
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
options.
The per-atom values for the vector or each column of the array will be
in whatever :doc:`units <units>` the corresponding input value is in.
@ -183,7 +186,9 @@ Restrictions
Related commands
""""""""""""""""
:doc:`compute chunk/atom <compute_chunk_atom>`, :doc:`compute reduce <compute_reduce>`, :doc:`compute chunk/spread/atom <compute_chunk_spread_atom>`
:doc:`compute chunk/atom <compute_chunk_atom>`,
:doc:`compute reduce <compute_reduce>`,
:doc:`compute chunk/spread/atom <compute_chunk_spread_atom>`
Default
"""""""

View File

@ -129,6 +129,9 @@ package <Build_package>` doc page on for more info.
The method is implemented for orthogonal simulation boxes whose
size does not change in time, and axis-aligned planes.
Contributions from bonds, angles, and dihedrals are not compatible
with MPI parallel runs.
The method only works with two-body pair interactions, because it
requires the class method ``Pair::single()`` to be implemented, which is
not possible for manybody potentials. In particular, compute

View File

@ -128,6 +128,12 @@ See the :doc:`Howto thermostat <Howto_thermostat>` page for a
discussion of different ways to compute temperature and perform
thermostatting.
----------
.. include:: accel_styles.rst
----------
Output info
"""""""""""

View File

@ -82,12 +82,6 @@ See the :doc:`Howto thermostat <Howto_thermostat>` page for a
discussion of different ways to compute temperature and perform
thermostatting.
----------
.. include:: accel_styles.rst
----------
Output info
"""""""""""

View File

@ -1,8 +0,0 @@
Computes
########
.. toctree::
:maxdepth: 1
:glob:
compute_*

View File

@ -1,8 +0,0 @@
Dihedral Styles
###############
.. toctree::
:maxdepth: 1
:glob:
dihedral_*

View File

@ -357,6 +357,7 @@ accelerated styles exist.
* :doc:`python/move <fix_python_move>` - move particles using a Python function during a simulation run
* :doc:`qbmsst <fix_qbmsst>` - quantum bath multi-scale shock technique time integrator
* :doc:`qeq/comb <fix_qeq_comb>` - charge equilibration for COMB potential
* :doc:`qeq/ctip <fix_qeq>` - charge equilibration for CTIP potential
* :doc:`qeq/dynamic <fix_qeq>` - charge equilibration via dynamic method
* :doc:`qeq/fire <fix_qeq>` - charge equilibration via FIRE minimizer
* :doc:`qeq/point <fix_qeq>` - charge equilibration via point method

View File

@ -322,29 +322,33 @@ all types from 1 to :math:`N`. A leading asterisk means all types from
If :doc:`bond_style hybrid <bond_hybrid>` is used, *bstyle* should be a
sub-style name. The bond styles that currently work with fix adapt are:
+---------------------------------------------------+---------------------------+------------+
| :doc:`class2 <bond_class2>` | r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`fene <bond_fene>` | k,r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`fene/expand <bond_fene_expand>` | k,r0,epsilon,sigma,shift | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`fene/nm <bond_fene>` | k,r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`gromos <bond_gromos>` | k,r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`harmonic <bond_harmonic>` | k,r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`harmonic/shift <bond_harmonic_shift>` | k,r0,r1 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`harmonic/restrain <bond_harmonic_restrain>` | k | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`mm3 <bond_mm3>` | k,r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`morse <bond_morse>` | r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
| :doc:`nonlinear <bond_nonlinear>` | epsilon,r0 | type bonds |
+---------------------------------------------------+---------------------------+------------+
+-----------------------------------------------------+---------------------------+------------+
| :doc:`class2 <bond_class2>` | k2,k3,k4,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`fene <bond_fene>` | k,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`fene/expand <bond_fene_expand>` | k,r0,epsilon,sigma,shift | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`fene/nm <bond_fene>` | k,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`gaussian <bond_gaussian>` | alpha,width,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`gromos <bond_gromos>` | k,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`harmonic <bond_harmonic>` | k,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`harmonic/restrain <bond_harmonic_restrain>` | k | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`harmonic/shift <bond_harmonic_shift>` | k,r0,r1 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`harmonic/shift/cut <bond_harmonic_shift_cut>` | k,r0,r1 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`mm3 <bond_mm3>` | k,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`morse <bond_morse>` | d0,alpha,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
| :doc:`nonlinear <bond_nonlinear>` | lamda,epsilon,r0 | type bonds |
+-----------------------------------------------------+---------------------------+------------+
----------
@ -367,31 +371,37 @@ all types from 1 to :math:`N`. A leading asterisk means all types from
If :doc:`angle_style hybrid <angle_hybrid>` is used, *astyle* should be a
sub-style name. The angle styles that currently work with fix adapt are:
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`harmonic <angle_harmonic>` | k,theta0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`charmm <angle_charmm>` | k,theta0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`class2 <angle_class2>` | k2,k3,k4,theta0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`cosine <angle_cosine>` | k | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`cosine/periodic <angle_cosine_periodic>` | k,b,n | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`cosine/squared/restricted <angle_cosine_squared_restricted>` | k,theta0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`dipole <angle_dipole>` | k,gamma0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`fourier <angle_fourier>` | k,c0,c1,c2 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`fourier/simple <angle_fourier_simple>` | k,c,n | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`mm3 <angle_mm3>` | k,theta0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`quartic <angle_quartic>` | k2,k3,k4,theta0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
| :doc:`spica <angle_spica>` | k,theta0 | type angles |
+--------------------------------------------------------------------+-----------------+-------------+
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`harmonic <angle_harmonic>` | k,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`charmm <angle_charmm>` | k,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`class2 <angle_class2>` | k2,k3,k4,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`cosine <angle_cosine>` | k | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`cosine/delta <angle_cosine_delta>` | k | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`cosine/periodic <angle_cosine_periodic>` | k,b,n | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`cosine/squared <angle_cosine_squared>` | k,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`cosine/squared/restricted <angle_cosine_squared_restricted>` | k,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`dipole <angle_dipole>` | k,gamma0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`fourier <angle_fourier>` | k,c0,c1,c2 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`fourier/simple <angle_fourier_simple>` | k,c,n | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`gaussian <angle_gaussian>` | alpha,width,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`mm3 <angle_mm3>` | k,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`quartic <angle_quartic>` | k2,k3,k4,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
| :doc:`spica <angle_spica>` | k,theta0 | type angles |
+--------------------------------------------------------------------+--------------------+-------------+
Note that internally, theta0 is stored in radians, so the variable
this fix uses to reset theta0 needs to generate values in radians.

View File

@ -115,10 +115,6 @@ correctly, the minimization will not converge properly.
----------
.. include:: accel_styles.rst
----------
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -119,15 +119,14 @@ groups of atoms that have different charges, these charges will not be
changed when the atom types change.
Since this fix computes total potential energies before and after
proposed swaps, so even complicated potential energy calculations are
OK, including the following:
proposed swaps, even complicated potential energy calculations are
acceptable, including the following:
* long-range electrostatics (:math:`k`-space)
* many body pair styles
* hybrid pair styles
* eam pair styles
* hybrid pair styles (with restrictions)
* EAM pair styles
* triclinic systems
* need to include potential energy contributions from other fixes
Some fixes have an associated potential energy. Examples of such fixes
include: :doc:`efield <fix_efield>`, :doc:`gravity <fix_gravity>`,
@ -181,6 +180,10 @@ 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>`
doc page for more info.
When this fix is used with a :doc:`hybrid pair style <pair_hybrid>`
system, only swaps between atom types of the same sub-style (or
combination of sub-styles) are permitted.
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

View File

@ -71,10 +71,6 @@ to it.
----------
.. include:: accel_styles.rst
----------
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -50,8 +50,8 @@ Syntax
*intra_energy* value = intramolecular energy (energy units)
*tfac_insert* value = scale up/down temperature of inserted atoms (unitless)
*overlap_cutoff* value = maximum pair distance for overlap rejection (distance units)
*max* value = Maximum number of molecules allowed in the system
*min* value = Minimum number of molecules allowed in the system
*max* value = Maximum number of atoms allowed in the fix group (and region)
*min* value = Minimum number of atoms allowed in the fix group (and region)
Examples
""""""""
@ -380,10 +380,11 @@ an infinite positive energy to all new configurations that place any
pair of atoms closer than the specified overlap cutoff distance.
The *max* and *min* keywords allow for the restriction of the number of
atoms in the simulation. They automatically reject all insertion or
deletion moves that would take the system beyond the set boundaries.
Should the system already be beyond the boundary, only moves that bring
the system closer to the bounds may be accepted.
atoms in the fix group (and region in case the *region* keyword is
used). They automatically reject all insertion or deletion moves that
would take the system beyond the set boundaries. Should the system
already be beyond the boundary, only moves that bring the system closer
to the bounds may be accepted.
The *group* keyword adds all inserted atoms to the :doc:`group <group>`
of the group-ID value. The *grouptype* keyword adds all inserted atoms

View File

@ -101,7 +101,7 @@ hstyle = bondmax option.
.. code-block:: LAMMPS
compute bdist all bond/local dist
compute bmax all reduce max c_bdist
compute bmax all reduce max c_bdist inputs local
variable bondmax equal c_bmax
Thus these two versions of a fix halt command will do the same thing:

View File

@ -231,12 +231,6 @@ the particles. As described below, this energy can then be printed
out or added to the potential energy of the system to monitor energy
conservation.
.. note::
This accumulated energy does NOT include kinetic energy removed
by the *zero* flag. LAMMPS will print a warning when both options are
active.
The keyword *zero* can be used to eliminate drift due to the
thermostat. Because the random forces on different atoms are
independent, they do not sum exactly to zero. As a result, this fix

View File

@ -79,8 +79,6 @@ It also means that changing attributes of *thermo_temp* or
----------
.. include:: accel_styles.rst
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -103,8 +103,6 @@ remaining thermal degrees of freedom, and the bias is added back in.
----------
.. include:: accel_styles.rst
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -85,8 +85,6 @@ remaining thermal degrees of freedom, and the bias is added back in.
----------
.. include:: accel_styles.rst
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -1,6 +1,7 @@
.. index:: fix qeq/point
.. index:: fix qeq/shielded
.. index:: fix qeq/slater
.. index:: fix qeq/ctip
.. index:: fix qeq/dynamic
.. index:: fix qeq/fire
@ -13,6 +14,9 @@ fix qeq/shielded command
fix qeq/slater command
======================
fix qeq/ctip command
====================
fix qeq/dynamic command
=======================
@ -27,18 +31,20 @@ Syntax
fix ID group-ID style Nevery cutoff tolerance maxiter qfile keyword ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* style = *qeq/point* or *qeq/shielded* or *qeq/slater* or *qeq/dynamic* or *qeq/fire*
* style = *qeq/point* or *qeq/shielded* or *qeq/slater* or *qeq/ctip* or *qeq/dynamic* or *qeq/fire*
* Nevery = perform charge equilibration every this many steps
* cutoff = global cutoff for charge-charge interactions (distance unit)
* tolerance = precision to which charges will be equilibrated
* maxiter = maximum iterations to perform charge equilibration
* qfile = a filename with QEq parameters or *coul/streitz* or *reaxff*
* qfile = a filename with QEq parameters or *coul/streitz* or *coul/ctip* or *reaxff*
* zero or more keyword/value pairs may be appended
* keyword = *alpha* or *qdamp* or *qstep* or *warn*
* keyword = *alpha* or *cdamp* or *maxrepeat* or *qdamp* or *qstep* or *warn*
.. parsed-literal::
*alpha* value = Slater type orbital exponent (qeq/slater only)
*cdamp* value = damping parameter for Coulomb interactions (qeq/ctip only)
*maxrepeat* value = number of equilibration cycles allowed to ensure no atoms cross charge bounds (qeq/ctip only)
*qdamp* value = damping factor for damped dynamics charge solver (qeq/dynamic and qeq/fire only)
*qstep* value = time step size for damped dynamics charge solver (qeq/dynamic and qeq/fire only)
*warn* value = do (=yes) or do not (=no) print a warning when the maximum number of iterations is reached
@ -51,6 +57,7 @@ Examples
fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1
fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2
fix 1 all qeq/slater 5 10 1.0e-6 100 params alpha 0.2
fix 1 all qeq/ctip 1 12 1.0e-8 100 coul/ctip cdamp 0.30 maxrepeat 10
fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq
fix 1 all qeq/fire 1 10 1.0e-3 100 my_qeq qdamp 0.2 qstep 0.1
@ -103,7 +110,7 @@ equalizes the derivative of energy with respect to charge of all the
atoms) by adjusting the partial charge on individual atoms based on
interactions with their neighbors within *cutoff*\ . It requires a few
parameters in the appropriate units for each atom type which are read
from a file specified by *qfile*\ . The file has the following format
from a file specified by *qfile*\ . The file has the following format:
.. parsed-literal::
@ -112,20 +119,32 @@ from a file specified by *qfile*\ . The file has the following format
...
Ntype chi eta gamma zeta qcore
except for fix style *qeq/ctip* where the format is:
.. parsed-literal::
1 chi eta gamma zeta qcore qmin qmax omega
2 chi eta gamma zeta qcore qmin qmax omega
...
Ntype chi eta gamma zeta qcore qmin qmax omega
There have to be parameters given for every atom type. Wildcard entries
are possible using the same type range syntax as for "coeff" commands
(i.e., n\*m, n\*, \*m, \*). Later entries will overwrite previous ones.
Empty lines or any text following the pound sign (#) are ignored.
Each line starts with the atom type followed by five parameters.
Only a subset of the parameters is used by each QEq style as described
below, thus the others can be set to 0.0 if desired, but all five
entries per line are required.
Empty lines or any text following the pound sign (#) are ignored. Each
line starts with the atom type followed by eight parameters. Only a
subset of the parameters is used by each QEq style as described below,
thus the others can be set to 0.0 if desired, but all eight entries per
line are required.
* *chi* = electronegativity in energy units
* *eta* = self-Coulomb potential in energy units
* *gamma* = shielded Coulomb constant defined by :ref:`ReaxFF force field <vanDuin>` in distance units
* *zeta* = Slater type orbital exponent defined by the :ref:`Streitz-Mintmire <Streitz1>` potential in reverse distance units
* *qcore* = charge of the nucleus defined by the :ref:`Streitz-Mintmire potential <Streitz1>` potential in charge units
* *qmin* = lower bound on the allowed charge defined by the :ref:`CTIP <CTIP1>` potential in charge units
* *qmax* = upper bound on the allowed charge defined by the :ref:`CTIP <CTIP1>` potential in charge units
* *omega* = penalty parameter used to enforce charge bounds defined by the :ref:`CTIP <CTIP1>` potential in energy units
The fix qeq styles will print a warning if the charges are not
equilibrated within *tolerance* by *maxiter* steps, unless the
@ -171,6 +190,22 @@ on atoms via the matrix inversion method. A tolerance of 1.0e-6 is
usually a good number. Keyword *alpha* can be used to change the Slater
type orbital exponent.
.. versionadded:: TBD
The *qeq/ctip* style describes partial charges on atoms in the same way
as style *qeq/shielded* but also enables the definition of charge
bounds. Only the *chi*, *eta*, *gamma*, *qmin*, *qmax*, and *omega*
parameters from the *qfile* file are used. When using the string
*coul/ctip* as filename, these parameters are extracted directly from an
active *coul/ctip* pair style. This style solves partial charges on
atoms via the matrix inversion method. Keyword *cdamp* can be used to
change the damping parameter used to calculate Coulomb interactions.
Keyword *maxrepeat* can be used to adjust the number of equilibration
cycles allowed to ensure no atoms have crossed the charge bounds. A
value of 10 is usually a good choice. A tolerance between 1.0e-6 and
1.0e-8 is usually a good choice but should be checked in conjunction
with the timestep for adequate energy conservation during dynamic runs.
The *qeq/dynamic* style describes partial charges on atoms as point
charges that interact through 1/r, but the extended Lagrangian method is
used to solve partial charges on atoms. Only the *chi* and *eta*
@ -186,7 +221,7 @@ minimization algorithm to solve for equilibrium charges. Keyword
*qdamp* can be used to change the damping factor, while keyword *qstep*
can be used to change the time step size.
Note that *qeq/point*, *qeq/shielded*, and *qeq/slater* describe
Note that *qeq/point*, *qeq/shielded*, *qeq/slater*, and *qeq/ctip* describe
different charge models, whereas the matrix inversion method and the
extended Lagrangian method (\ *qeq/dynamic* and *qeq/fire*\ ) are
different solvers.
@ -266,6 +301,11 @@ Chemistry, 95, 3358-3363 (1991).
**(Streitz-Mintmire)** F. H. Streitz, J. W. Mintmire, Physical Review B, 50,
16, 11996 (1994)
.. _CTIP1:
**(CTIP)** G. Plummer, J. P. Tavenner, M. I. Mendelev, Z. Wu, J. W. Lawson,
in preparation
.. _vanDuin:
**(ReaxFF)** A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J

View File

@ -123,6 +123,12 @@ also be potentially mitigated by using more multiple walls.
conservative as possible (every timestep if needed). Those are the
default settings.
----------
.. include:: accel_styles.rst
----------
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -1,8 +0,0 @@
Fixes
#####
.. toctree::
:maxdepth: 1
:glob:
fix_*

View File

@ -162,7 +162,7 @@ potential energy is above the threshold value :math:`-3.0`.
compute 1 all pe/atom
compute 2 all reduce sum c_1
thermo_style custom step temp pe c_2
run 0
run 0 post no
variable eatom atom "c_1 > -3.0"
group hienergy variable eatom
@ -173,7 +173,7 @@ Note that these lines
compute 2 all reduce sum c_1
thermo_style custom step temp pe c_2
run 0
run 0 post no
are necessary to ensure that the "eatom" variable is current when the
group command invokes it. Because the eatom variable computes the

View File

@ -1,8 +0,0 @@
Improper Styles
###############
.. toctree::
:maxdepth: 1
:glob:
improper_*

View File

@ -3,6 +3,8 @@
min_style cg command
====================
Accelerator Variant: *cg/kk*
min_style hftn command
======================

View File

@ -8,7 +8,14 @@ Syntax
.. code-block:: LAMMPS
pair_style bpm/spring
pair_style bpm/spring keyword value ...
* optional keyword = *anharmonic*
.. parsed-literal::
*anharmonic* value = *yes* or *no*
whether forces include the anharmonic term
Examples
""""""""
@ -17,7 +24,8 @@ Examples
pair_style bpm/spring
pair_coeff * * 1.0 1.0 1.0
pair_coeff 1 1 1.0 1.0 1.0
pair_style bpm/spring anharmonic yes
pair_coeff 1 1 1.0 1.0 1.0 50.0
Description
"""""""""""
@ -28,12 +36,16 @@ Style *bpm/spring* computes pairwise forces with the formula
.. math::
F = k (r - r_c)
F = k (r - r_c) + k_a (r - r_c)^3
where :math:`k` is a stiffness and :math:`r_c` is the cutoff length.
An additional damping force is also applied to interacting
particles. The force is proportional to the difference in the
normal velocity of particles
where :math:`k` is a stiffness, :math:`r_c` is the cutoff
length, and :math:`k_a` is an optional anharmonic cubic prefactor
that can be enabled using the *anharmonic* keyword. The anharmonic
term may be useful in scenarios that need to prevent large particle overlap.
An additional damping force is also applied to interacting particles.
The force is proportional to the difference in the normal velocity of
particles
.. math::
@ -73,6 +85,12 @@ commands, or by mixing as described below:
* :math:`r_c` (distance units)
* :math:`\gamma` (force/velocity units)
.. versionadded:: TBD
Additionally, if *anharmonic* is set to *yes*, a fourth coefficient
must be provided:
* :math:`k_a` (force/distance\^3 units)
----------
@ -117,4 +135,5 @@ Related commands
Default
"""""""
none
The option defaults are *anharmonic* = *no*

View File

@ -1,12 +1,13 @@
.. index:: pair_style brownian
.. index:: pair_style brownian/omp
.. index:: pair_style brownian/kk
.. index:: pair_style brownian/poly
.. index:: pair_style brownian/poly/omp
pair_style brownian command
===========================
Accelerator Variants: *brownian/omp*
Accelerator Variants: *brownian/omp*, *brownian/kk*
pair_style brownian/poly command
================================

View File

@ -4,6 +4,7 @@
.. index:: pair_style coul/cut/omp
.. index:: pair_style coul/cut/global
.. index:: pair_style coul/cut/global/omp
.. index:: pair_style coul/ctip
.. index:: pair_style coul/debye
.. index:: pair_style coul/debye/gpu
.. index:: pair_style coul/debye/kk
@ -38,6 +39,9 @@ pair_style coul/cut/global command
Accelerator Variants: *coul/cut/omp*
pair_style coul/ctip command
============================
pair_style coul/debye command
=============================
@ -79,7 +83,6 @@ pair_style tip4p/long command
Accelerator Variants: *tip4p/long/omp*
Syntax
""""""
@ -87,6 +90,7 @@ Syntax
pair_style coul/cut cutoff
pair_style coul/cut/global cutoff
pair_style coul/ctip alpha cutoff
pair_style coul/debye kappa cutoff
pair_style coul/dsf alpha cutoff
pair_style coul/exclude cutoff
@ -116,6 +120,9 @@ Examples
pair_coeff * *
pair_coeff 2 2 3.5
pair_style coul/ctip 0.30 12.0
pair_coeff * * NiO.ctip Ni O
pair_style coul/debye 1.4 3.0
pair_coeff * *
pair_coeff 2 2 3.5
@ -173,6 +180,33 @@ coulomb styles in :doc:`hybrid pair styles <pair_hybrid>`.
----------
.. versionadded:: TBD
Style *coul/ctip* computes the Coulomb interactions as described in
:ref:`Plummer <Plummer1>`. It uses the the damped shifted model as in
style *coul/dsf* but is further extended to the second derivative of the
potential and incorporates empirical charge shielding meant to
approximate the more expensive Coulomb integrals used in style
*coul/streitz*. More details can be found in the referenced paper. Like
the style *coul/streitz*, style *coul/ctip* is a variable charge
potential and must be hybridized with a short-range potential via the
:doc:`pair_style hybrid/overlay <pair_hybrid>` command. Charge
equilibration must be performed with the :doc:`fix qeq/ctip <fix_qeq>`
command. For example:
.. code-block:: LAMMPS
pair_style hybrid/overlay eam/fs coul/ctip 0.30 12.0
pair_coeff * * eam/fs NiO.eam.fs Ni O
pair_coeff * * coul/ctip NiO.ctip Ni O
fix 1 all qeq/ctip 1 12.0 1.0e-8 100 coul/ctip cdamp 0.30 maxrepeat 10
See the examples/ctip directory for an example input script using the
CTIP potential. An Ni-O CTIP and EAM/FS parameterization are included
for use with the example.
----------
Style *coul/debye* adds an additional exp() damping factor to the
Coulombic term, given by
@ -399,16 +433,18 @@ Restrictions
""""""""""""
The *coul/long*, *coul/msm*, *coul/streitz*, and *tip4p/long* styles are
part of the KSPACE package. The *coul/cut/global*, *coul/exclude* styles are
part of the EXTRA-PAIR package. The *tip4p/cut* style is part of the MOLECULE
package. A pair style is only enabled if LAMMPS was built with its
corresponding package. See the :doc:`Build package <Build_package>`
doc page for more info.
part of the KSPACE package. The *coul/cut/global*, *coul/exclude*, and
*coul/ctip* styles are part of the EXTRA-PAIR package. The *tip4p/cut*
style is part of the MOLECULE package. A pair style is only enabled if
LAMMPS was built with its corresponding package. See the
:doc:`Build package <Build_package>` page for more info.
Related commands
""""""""""""""""
:doc:`pair_coeff <pair_coeff>`, :doc:`pair_style, hybrid/overlay <pair_hybrid>`, :doc:`kspace_style <kspace_style>`
:doc:`pair_coeff <pair_coeff>`,
:doc:`pair_style hybrid/overlay <pair_hybrid>`,
:doc:`kspace_style <kspace_style>`
Default
"""""""
@ -432,6 +468,11 @@ Phys, 110, 8254 (1999).
**(Streitz)** F. H. Streitz, J. W. Mintmire, Phys Rev B, 50, 11996-12003
(1994).
.. _Plummer1:
**(Plummer)** G. Plummer, J. P. Tavenner, M. I. Mendelev, Z. Wu, J. W. Lawson,
in preparation
.. _Jorgensen3:
**(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem

View File

@ -71,6 +71,10 @@ The global cutoff (:math:`r_c`) specified in the pair_style command is used.
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -77,6 +77,10 @@ The global decay length of the charge (:math:`\lambda`) specified in the pair_st
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -741,10 +741,6 @@ atom types.
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -287,6 +287,10 @@ concentration profiles of the two chemical species as
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -62,6 +62,10 @@ cutoff specified in the pair_style command is used.
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -39,6 +39,10 @@ above.
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -43,6 +43,10 @@ above.
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -52,6 +52,10 @@ above.
----------
.. include:: accel_styles.rst
----------
Mixing, shift, table, tail correction, restart, rRESPA info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -151,6 +151,7 @@ accelerated styles exist.
* :doc:`comb <pair_comb>` - charge-optimized many-body (COMB) potential
* :doc:`comb3 <pair_comb>` - charge-optimized many-body (COMB3) potential
* :doc:`cosine/squared <pair_cosine_squared>` - Cooke-Kremer-Deserno membrane model potential
* :doc:`coul/ctip <pair_coul>` - Charge Transfer Interatomic (Coulomb) Potential
* :doc:`coul/cut <pair_coul>` - cutoff Coulomb potential
* :doc:`coul/cut/dielectric <pair_dielectric>` -
* :doc:`coul/cut/global <pair_coul>` - cutoff Coulomb potential

View File

@ -1,8 +0,0 @@
Pair Styles
###########
.. toctree::
:maxdepth: 1
:glob:
pair_*

View File

@ -115,10 +115,11 @@ to tell LAMMPS how many parallel files exist, via its specified
The format of the dump file is selected through the *format* keyword.
If specified, it must be the last keyword used, since all remaining
arguments are passed on to the dump reader. The *native* format is
for native LAMMPS dump files, written with a :doc:`dump atom <dump>`
or :doc:`dump custom <dump>` command. The *xyz* format is for generic XYZ
formatted dump files. These formats take no additional values.
arguments are passed on to the dump reader. The *native* format is for
native LAMMPS dump files, written with a :doc:`dump atom <dump>` or
:doc:`dump custom <dump>` command. The *xyz* format is for generic XYZ
formatted dump files (see details below). These formats take no
additional values.
The *molfile* format supports reading data through using the `VMD <vmd_>`_
molfile plugin interface. This dump reader format is only available,
@ -230,23 +231,39 @@ will then have a label corresponding to the fix-ID rather than "x" or
"xs". The *label* keyword can also be used to specify new column
labels for fields *id* and *type*\ .
For dump files in *xyz* format, only the *x*, *y*, and *z* fields are
supported. The dump file does not store atom IDs, so these are
assigned consecutively to the atoms as they appear in the dump file,
starting from 1. Thus you should ensure that order of atoms is
consistent from snapshot to snapshot in the XYZ dump file. See
the :doc:`dump_modify sort <dump_modify>` command if the XYZ dump file
was written by LAMMPS.
For dump files in *xyz* format, only the *type*, *x*, *y*, and *z*
fields are supported. There are many variants of the XYZ file format.
LAMMPS will read the number of atoms from the first line of each frame,
ignore the second (title) line, and then read one line for each atom in the format:
.. parsed-literal::
<label> <x coordinate> <y coordinate> <z coordinate>
If the atom label is a numeric integer (like with XYZ files created by
created with default settings by :doc:`dump style <dump>` *xyz*), that
number will be used as the atom type. If the atom label is a string,
then a type map must be created using the :doc:`labelmap command
<labelmap>`. This map needs to associate each (numeric) atom type with
a string label. The numeric atom type is stored internally.
The xyz format dump file does not store atom IDs, so these are assigned
consecutively to the atoms as they appear in the dump file, starting
from 1. Thus you should ensure that the order of atoms is consistent
from snapshot to snapshot in the XYZ dump file. See the
:doc:`dump_modify sort <dump_modify>` command if the XYZ dump file was
written by LAMMPS.
For dump files in *molfile* format, the *x*, *y*, *z*, *vx*, *vy*, and
*vz* fields can be specified. However, not all molfile formats store
velocities, or their respective plugins may not support reading of
velocities. The molfile dump files do not store atom IDs, so these
are assigned consecutively to the atoms as they appear in the dump
file, starting from 1. Thus you should ensure that order of atoms are
consistent from snapshot to snapshot in the molfile dump file.
See the :doc:`dump_modify sort <dump_modify>` command if the dump file
was written by LAMMPS.
velocities. The molfile dump files do not store atom IDs, so these are
assigned consecutively to the atoms as they appear in the dump file,
starting from 1. Thus you should ensure that the order of atoms are
consistent from snapshot to snapshot in the molfile dump file. See the
:doc:`dump_modify sort <dump_modify>` command if the dump file was
written by LAMMPS.
The *adios* format supports all fields that the *native* format supports
except for the *q* charge field.

View File

@ -61,16 +61,51 @@ region = {}
total = 0
index_pattern = re.compile(r"^.. index:: (compute|fix|pair_style|angle_style|bond_style|dihedral_style|improper_style|kspace_style|dump)\s+([a-zA-Z0-9/_]+)$")
accel_pattern = re.compile(r"^.. include::\s+accel_styles.rst$")
style_pattern = re.compile(r"(.+)Style\((.+),(.+)\)")
cmd_pattern = re.compile(r"^.. index:: ([a-zA-Z0-9/_]+)$")
upper = re.compile("[A-Z]+")
gpu = re.compile("(.+)/gpu$")
intel = re.compile("(.+)/intel$")
kokkos = re.compile("(.+)/kk$")
kokkos_skip = re.compile("(.+)/kk/(host|device)$")
omp = re.compile("(.+)/omp$")
opt = re.compile("(.+)/opt$")
gpu = re.compile("(.+)/gpu\\s*$")
intel = re.compile("(.+)/intel\\s*$")
kokkos = re.compile("(.+)/kk$\\s*")
kokkos_skip = re.compile("(.+)/kk/(host|device)\\s*$")
omp = re.compile("(.+)/omp\\s*$")
opt = re.compile("(.+)/opt\\s*$")
removed = re.compile("(.*)Deprecated$")
accel_pattern = re.compile(r"^.. include::\s+accel_styles.rst$")
def require_accel_include(path):
found = False
needs = False
# handle exceptions
if path == "src/min_style.rst" : needs = True
if path == "src/atom_style.rst" : needs = True
if path == "src/region.rst" : needs = True
# check file
with open(path, 'r') as reader:
for line in reader:
m = accel_pattern.match(line)
if m: found = True
m = index_pattern.match(line)
if m:
if gpu.match(line): needs = True
if omp.match(line): needs = True
if kokkos.match(line): needs = True
if intel.match(line): needs = True
if opt.match(line): needs = True
m = cmd_pattern.match(line)
if m:
if gpu.match(line): needs = True
if omp.match(line): needs = True
if kokkos.match(line): needs = True
if intel.match(line): needs = True
if opt.match(line): needs = True
if needs and not found:
print("Missing '.. include:: accel_style.rst' in file ", path)
if not needs and found:
print("Have '.. include:: accel_style.rst' without accelerated styles in file ", path)
def load_index_entries_in_file(path):
entries = []
with open(path, 'r') as reader:
@ -82,6 +117,11 @@ def load_index_entries_in_file(path):
entries.append((command_type, style))
return entries
def check_accel_includes():
rst_files = glob(os.path.join(doc_dir, '*.rst'))
for f in rst_files:
require_accel_include(f)
def load_index_entries():
index = {'compute': set(), 'fix': set(), 'pair_style': set(), 'angle_style': set(),
'bond_style': set(), 'dihedral_style': set(), 'improper_style': set(),
@ -249,6 +289,8 @@ Total number of styles (including suffixes): %d""" \
len(fix), len(improper), len(integrate), len(kspace), \
len(minimize), len(pair), len(reader), len(region), total))
check_accel_includes()
index = load_index_entries()
total_index = 0

View File

@ -1 +1,2 @@
*.egg-info
/build

View File

@ -0,0 +1,120 @@
#!/usr/bin/env python3
"""
Script to emulate globbed toctrees with the added feature
to avoid adding files that are already included elsewhere.
"""
import os, re
import filecmp
import tempfile
import shutil
from glob import glob
from argparse import ArgumentParser
LAMMPS_DIR = os.path.realpath(os.path.join(os.path.dirname(__file__), '..', '..'))
parser = ArgumentParser(prog='make-globbed-tocs.py',
description="Create toctree files from patterns with exclusions")
parser.add_argument("-v", "--verbose", action='store_true', help="Enable verbose output")
parser.add_argument("-d", "--doc", help="Path to LAMMPS documentation sources")
args = parser.parse_args()
verbose = args.verbose
if args.doc:
docsrc = os.path.realpath(args.doc)
else:
docsrc = os.path.join(LAMMPS_DIR, 'doc', 'src')
if not os.path.isdir(docsrc):
sys.exit(f"LAMMPS manual source dir {docsrc} does not exist")
def glob_tocfile(style, name, head, exclude):
newname = None
exclude_re = re.compile(exclude)
if verbose: print("Processing style ", style)
with tempfile.NamedTemporaryFile(prefix=style + '.', delete=False) as f:
newname = f.name
if verbose: print("Temporary file: ", newname)
f.write(head.encode('utf-8'))
for doc in sorted(glob(os.path.join(docsrc, style + '_*.rst'))):
d,e = os.path.splitext(os.path.basename(doc))
if exclude_re.match(d):
if verbose: print("skipping file ", d)
continue
if verbose: print("processing file ", d)
f.write((" " + d + "\n").encode('utf-8'))
oldname = os.path.join(docsrc, name)
if os.path.exists(oldname) and filecmp.cmp(newname, oldname, shallow=False):
print("File ", name, " is unchanged")
os.remove(newname)
else:
print("Overwriting file ", name, " with new version")
shutil.move(newname, os.path.join(docsrc, name))
##################################
pair_head = """Pair Styles
###########
.. toctree::
:maxdepth: 1
"""
glob_tocfile('pair', 'pairs.rst', pair_head, r"pair_(coeff|modify|style|write)")
bond_head = """Bond Styles
###########
.. toctree::
:maxdepth: 1
"""
glob_tocfile('bond', 'bonds.rst', bond_head, r"bond_(coeff|modify|style|write)")
angle_head = """Angle Styles
############
.. toctree::
:maxdepth: 1
"""
glob_tocfile('angle', 'angles.rst', angle_head, r"angle_(coeff|modify|style|write)")
dihedral_head = """Dihedral Styles
###############
.. toctree::
:maxdepth: 1
"""
glob_tocfile('dihedral', 'dihedrals.rst', dihedral_head, r"dihedral_(coeff|modify|style|write)")
improper_head = """Improper Styles
###############
.. toctree::
:maxdepth: 1
"""
glob_tocfile('improper', 'impropers.rst', improper_head, r"improper_(coeff|modify|style|write)")
compute_head = """Compute Styles
###############
.. toctree::
:maxdepth: 1
"""
glob_tocfile('compute', 'computes.rst', compute_head, r"compute_modify")
fix_head = """Fix Styles
##########
.. toctree::
:maxdepth: 1
"""
glob_tocfile('fix', 'fixes.rst', fix_head, r"fix_modify(|_atc_commands)")

View File

@ -1,4 +1,4 @@
Sphinx >= 5.3.0, <7.5
Sphinx >= 5.3.0, <8.2.0
sphinxcontrib-spelling
sphinxcontrib-jquery
sphinx-design

View File

@ -639,6 +639,7 @@ cstyle
csvr
ctest
ctilde
ctip
ctrl
ctrn
ctypes
@ -1285,6 +1286,7 @@ gcc
gcmc
gdot
GeC
Geesthacht
Geier
gencode
Geocomputing
@ -3664,6 +3666,7 @@ Tanmoy
Tartakovsky
taskset
taubi
Tavenner
taylor
tb
tchain
@ -4217,6 +4220,7 @@ zeeman
Zeeman
Zemer
zenodo
Zentrum
Zepeda
zflag
Zhang

View File

@ -13,11 +13,11 @@ neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra all
pair_style line/lj 2.5
pair_coeff * * 1.0 1.0 1.0 0.25 2.5
pair_coeff * * 0.25 0.25 1.0 0.25 2.5
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
fix 3 all deform 1 x scale 0.3 y scale 0.3
fix 3 all deform 5 x scale 0.8 y scale 0.8
fix 4 all enforce2d
compute 10 all property/atom end1x end1y end2x end2y
@ -26,7 +26,7 @@ compute 10 all property/atom end1x end1y end2x end2y
#dump 2 all custom 500 dump1.line id type &
# c_10[1] c_10[2] c_10[3] c_10[4]
timestep 0.004
timestep 0.001
compute 1 all erotate/asphere
compute 2 all ke

View File

@ -21,10 +21,10 @@ set group small mass 0.01
# delete overlaps
# must set 1-2 cutoff to non-zero value
pair_style lj/cut 1.5
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 0.0 1.0
pair_coeff 1 2 1.0 1.0
delete_atoms overlap 1.5 small big
@ -34,7 +34,7 @@ reset_timestep 0
velocity small create 1.44 87287 loop geom
neighbor 0.3 multi
neighbor 0.8 multi
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra big include big
@ -44,21 +44,21 @@ neigh_modify include big
# no pairwise interactions with small particles
pair_style line/lj 2.5
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
pair_coeff 1 2 1.0 0.0 0.0 1.0 0.0
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
# use fix SRD to push small particles out from inside big ones
# if comment out, big particles won't see SRD particles
timestep 0.001
timestep 0.0001
fix 1 big rigid molecule
fix 2 small srd 20 big 1.0 0.25 49894 &
search 0.2 cubic warn 0.0001 shift yes 49829 &
overlap yes collision noslip
fix 3 all deform 1 x scale 0.35 y scale 0.35
fix 3 all deform 1 x scale 1.25 y scale 1.25
fix 4 all enforce2d
# diagnostics
@ -96,12 +96,12 @@ change_box all triclinic
fix 2 small srd 20 big 1.0 0.25 49894 &
search 0.2 cubic warn 0.0001 shift yes 49829 &
overlap yes collision noslip tstat yes
overlap yes collision noslip #tstat yes
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.line.srd id type &
# c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.05 units box remap v
fix 3 all deform 1 xy erate 0.0002 units box remap v
run 40000
run 30000

View File

@ -1,213 +0,0 @@
LAMMPS (1 Feb 2014)
# Aspherical shear demo - 2d line box and triangle mixture, implicit solvent
units lj
atom_style line
dimension 2
read_data data.line
orthogonal box = (-22.5539 -22.5539 -0.5) to (22.5539 22.5539 0.5)
4 by 2 by 1 MPI processor grid
reading atoms ...
350 atoms
350 lines
velocity all create 1.44 320984 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule all
pair_style line/lj 2.5
pair_coeff * * 1.0 0.25
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
100 rigid bodies with 350 atoms
fix 3 all deform 1 x scale 0.3 y scale 0.3
fix 4 all enforce2d
compute 10 all property/atom end1x end1y end2x end2y
#dump 1 all custom 500 dump1.atom id type x y z ix iy iz
#dump 2 all custom 500 dump1.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
timestep 0.004
compute 1 all erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 1000
thermo_style custom step temp f_2 pe ke c_1 c_2 c_3 v_toteng
run 10000
Memory usage per processor = 2.6072 Mbytes
Step Temp 2 PotEng KinEng 1 2 3 toteng
0 0 1.2780105 0 -0 0.037823677 0.50989511 0 0.54771879
1000 0 1.9896906 -0.13333756 -0 0.12630626 0.72641827 -0.13333756 0.71938697
2000 0 2.0408541 -0.24906647 -0 0.13199238 0.74265938 -0.24906647 0.62558529
3000 0 1.9921323 -0.39759798 -0 0.11671173 0.73705927 -0.39759798 0.45617302
4000 0 2.1392159 -0.36475197 -0 0.11923802 0.7975688 -0.36475197 0.55205485
5000 0 2.139715 -0.52582091 -0 0.15846417 0.75855653 -0.52582091 0.39119979
6000 0 2.1313904 -0.65532027 -0 0.11090422 0.80254883 -0.65532027 0.25813278
7000 0 1.9416614 -0.81322598 -0 0.11722471 0.71491587 -0.81322598 0.018914608
8000 0 1.9388183 -1.0581149 -0 0.10142762 0.72949452 -1.0581149 -0.22719275
9000 0 2.2830265 -1.583347 -0 0.14583927 0.83260066 -1.583347 -0.60490709
10000 0 4.1416666 -2.6034045 -0 0.18839177 1.5866082 -2.6034045 -0.82840455
Loop time of 2.84713 on 8 procs for 10000 steps with 350 atoms
Pair time (%) = 1.26607 (44.4682)
Neigh time (%) = 0.0163046 (0.572669)
Comm time (%) = 0.786148 (27.612)
Outpt time (%) = 0.000368953 (0.0129588)
Other time (%) = 0.778241 (27.3342)
Nlocal: 43.75 ave 51 max 39 min
Histogram: 1 2 0 2 0 1 1 0 0 1
Nghost: 170.25 ave 180 max 160 min
Histogram: 2 1 0 0 0 0 2 0 1 2
Neighs: 963.125 ave 1209 max 767 min
Histogram: 2 0 2 0 1 0 1 0 1 1
Total # of neighbors = 7705
Ave neighs/atom = 22.0143
Neighbor list builds = 987
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
triclinic box = (-6.76616 -6.76616 -0.5) to (6.76616 6.76616 0.5) with tilt (0 0 0)
#dump 1 all custom 500 dump2.atom id type x y z ix iy iz
#dump 2 all custom 500 dump2.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.01 units box
run 100000
Memory usage per processor = 2.75978 Mbytes
Step Temp 2 PotEng KinEng 1 2 3 toteng
10000 0 4.1416666 -2.6024092 -0 0.18839177 1.5866082 -2.6024092 -0.82740923
11000 0 1.8408319 -3.1031477 -0 0.12073234 0.66819561 -3.1031477 -2.3142198
12000 0 2.0793172 -3.0329681 -0 0.086927592 0.80420833 -3.0329681 -2.1418322
13000 0 2.2022136 -2.99776 -0 0.14309291 0.8007129 -2.99776 -2.0539542
14000 0 1.9510757 -3.094649 -0 0.09482969 0.74134559 -3.094649 -2.2584737
15000 0 1.9874689 -3.1431753 -0 0.1083061 0.7434663 -3.1431753 -2.2914029
16000 0 1.8484778 -2.9491537 -0 0.079102883 0.71310191 -2.9491537 -2.1569489
17000 0 2.1978438 -2.9675694 -0 0.11677634 0.82515673 -2.9675694 -2.0256363
18000 0 2.0293397 -2.9860257 -0 0.1287845 0.7409325 -2.9860257 -2.1163087
19000 0 2.0077219 -3.005622 -0 0.12697603 0.7334762 -3.005622 -2.1451698
20000 0 2.1806369 -3.0622132 -0 0.11066657 0.82389212 -3.0622132 -2.1276545
21000 0 1.8156509 -3.1031481 -0 0.10227614 0.67585994 -3.1031481 -2.325012
22000 0 2.1028516 -3.0861182 -0 0.098877162 0.80234493 -3.0861182 -2.1848961
23000 0 1.8994891 -3.0110243 -0 0.10961187 0.70445488 -3.0110243 -2.1969576
24000 0 1.9305389 -3.0057136 -0 0.11735151 0.7100223 -3.0057136 -2.1783398
25000 0 1.9553918 -3.0848948 -0 0.13217467 0.70585039 -3.0848948 -2.2468697
26000 0 1.8903754 -2.9543658 -0 0.099925113 0.71023579 -2.9543658 -2.1442049
27000 0 2.2624684 -3.2416154 -0 0.11398815 0.85564117 -3.2416154 -2.2719861
28000 0 2.0335234 -3.1795174 -0 0.10291986 0.76859015 -3.1795174 -2.3080074
29000 0 1.7056403 -3.1198739 -0 0.076174496 0.65481419 -3.1198739 -2.3888853
30000 0 2.1203465 -3.0863113 -0 0.11355683 0.79516311 -3.0863113 -2.1775914
31000 0 1.8446708 -3.2764357 -0 0.11006455 0.68050865 -3.2764357 -2.4858625
32000 0 1.7947968 -3.081031 -0 0.087540776 0.68165784 -3.081031 -2.3118324
33000 0 2.2576228 -3.1042222 -0 0.15666855 0.81088407 -3.1042222 -2.1366696
34000 0 1.8522306 -3.0037311 -0 0.08276626 0.71104684 -3.0037311 -2.209918
35000 0 2.0611686 -2.9877406 -0 0.10822003 0.77513794 -2.9877406 -2.1043826
36000 0 2.0739798 -2.981184 -0 0.11784198 0.77100651 -2.981184 -2.0923355
37000 0 2.2120215 -2.8961216 -0 0.13172943 0.8162798 -2.8961216 -1.9481124
38000 0 2.1097357 -2.9746777 -0 0.11881736 0.78535507 -2.9746777 -2.0705053
39000 0 1.8928127 -2.9482169 -0 0.10915752 0.70204792 -2.9482169 -2.1370115
40000 0 1.8515483 -3.003524 -0 0.096981256 0.69653943 -3.003524 -2.2100033
41000 0 1.8569065 -3.0834675 -0 0.10562739 0.6901897 -3.0834675 -2.2876504
42000 0 2.2638459 -3.0577224 -0 0.10896442 0.86125524 -3.0577224 -2.0875027
43000 0 2.0992151 -3.1219185 -0 0.13280434 0.76685929 -3.1219185 -2.2222548
44000 0 2.3479986 -3.0702445 -0 0.14438131 0.86190379 -3.0702445 -2.0639594
45000 0 2.0295235 -2.9619688 -0 0.13726365 0.73253213 -2.9619688 -2.092173
46000 0 2.0597998 -3.1282569 -0 0.10139093 0.7813804 -3.1282569 -2.2454856
47000 0 1.8173541 -3.1122647 -0 0.10380346 0.67506259 -3.1122647 -2.3333986
48000 0 1.9650208 -3.22153 -0 0.10115952 0.74099226 -3.22153 -2.3793782
49000 0 1.8836303 -3.0781944 -0 0.10561306 0.70165705 -3.0781944 -2.2709243
50000 0 1.7799289 -3.1090208 -0 0.10522105 0.65760561 -3.1090208 -2.3461941
51000 0 1.7270244 -2.894789 -0 0.079316066 0.66083727 -2.894789 -2.1546357
52000 0 2.1036512 -3.0708266 -0 0.11762021 0.7839446 -3.0708266 -2.1692618
53000 0 2.1749106 -3.043193 -0 0.11908953 0.81301499 -3.043193 -2.1110885
54000 0 1.7245018 -3.1528646 -0 0.11118993 0.62788226 -3.1528646 -2.4137924
55000 0 1.7599209 -3.0543405 -0 0.098996756 0.65525507 -3.0543405 -2.3000886
56000 0 1.9085953 -3.1072383 -0 0.10931083 0.70865859 -3.1072383 -2.2892689
57000 0 1.9682028 -3.131335 -0 0.094973379 0.74854212 -3.131335 -2.2878195
58000 0 1.7813545 -3.167275 -0 0.085523136 0.6779145 -3.167275 -2.4038374
59000 0 2.0324497 -3.1103534 -0 0.13343285 0.73761703 -3.1103534 -2.2393035
60000 0 1.697349 -3.152831 -0 0.086035815 0.64139945 -3.152831 -2.4253957
61000 0 2.061537 -3.0730484 -0 0.12753143 0.75598441 -3.0730484 -2.1895325
62000 0 1.8186587 -3.1590894 -0 0.096701457 0.68272371 -3.1590894 -2.3796643
63000 0 1.9692063 -3.1053354 -0 0.094864849 0.7490807 -3.1053354 -2.2613899
64000 0 2.0113722 -3.0898117 -0 0.12640828 0.73560838 -3.0898117 -2.227795
65000 0 1.9350085 -3.2290712 -0 0.11850297 0.71078638 -3.2290712 -2.3997819
66000 0 2.0569306 -3.0489252 -0 0.12731012 0.75423156 -3.0489252 -2.1673835
67000 0 2.0119071 -3.10894 -0 0.099142151 0.76310375 -3.10894 -2.2466941
68000 0 2.0615321 -3.167552 -0 0.11066625 0.77284751 -3.167552 -2.2840383
69000 0 1.8731077 -3.1864825 -0 0.12982742 0.672933 -3.1864825 -2.3837221
70000 0 2.109088 -3.1787326 -0 0.13107619 0.77281866 -3.1787326 -2.2748377
71000 0 1.9764202 -3.0731116 -0 0.12035585 0.72668137 -3.0731116 -2.2260744
72000 0 1.6460591 -3.0865952 -0 0.09486718 0.61058673 -3.0865952 -2.3811413
73000 0 1.9756864 -3.0431747 -0 0.1041775 0.74254526 -3.0431747 -2.196452
74000 0 2.0553658 -3.1290715 -0 0.12267262 0.75819842 -3.1290715 -2.2482004
75000 0 1.550997 -2.9813403 -0 0.094350599 0.57036238 -2.9813403 -2.3166273
76000 0 1.9824851 -3.0057088 -0 0.11621875 0.73341774 -3.0057088 -2.1560723
77000 0 1.8451505 -3.0063772 -0 0.12602143 0.66475735 -3.0063772 -2.2155984
78000 0 1.934755 -3.0603773 -0 0.11800375 0.71117696 -3.0603773 -2.2311966
79000 0 2.1982093 -3.095224 -0 0.12840585 0.81368383 -3.095224 -2.1531343
80000 0 1.7547828 -3.0620364 -0 0.092552269 0.65949751 -3.0620364 -2.3099866
81000 0 2.1064588 -3.1631358 -0 0.11415036 0.78861768 -3.1631358 -2.2603677
82000 0 2.0039288 -3.1190532 -0 0.13374009 0.72508654 -3.1190532 -2.2602266
83000 0 1.7749465 -3.2172309 -0 0.11017601 0.65051537 -3.2172309 -2.4565396
84000 0 1.7865147 -3.1433093 -0 0.086859958 0.67878922 -3.1433093 -2.3776602
85000 0 1.4541199 -3.0123872 -0 0.096301993 0.52689225 -3.0123872 -2.3891929
86000 0 2.0345567 -2.9577061 -0 0.11756878 0.7543841 -2.9577061 -2.0857532
87000 0 1.9655671 -3.0235755 -0 0.13068174 0.71170417 -3.0235755 -2.1811896
88000 0 2.1238733 -3.0972095 -0 0.15660293 0.75362848 -3.0972095 -2.1869781
89000 0 1.93413 -3.0018414 -0 0.11736651 0.71154634 -3.0018414 -2.1729285
90000 0 2.0106701 -3.0778989 -0 0.1150105 0.74670527 -3.0778989 -2.2161831
91000 0 1.9700224 -3.0072749 -0 0.1200151 0.72428023 -3.0072749 -2.1629796
92000 0 2.3062898 -3.1245149 -0 0.16045862 0.82795128 -3.1245149 -2.136105
93000 0 1.9977984 -3.1072212 -0 0.098381856 0.75781746 -3.1072212 -2.2510219
94000 0 1.9684844 -3.0923519 -0 0.11228362 0.73135255 -3.0923519 -2.2487157
95000 0 1.8913269 -3.1044766 -0 0.088944817 0.72162386 -3.1044766 -2.293908
96000 0 2.139258 -2.9032081 -0 0.12122357 0.7956013 -2.9032081 -1.9863833
97000 0 2.1549839 -3.0073823 -0 0.14177897 0.78178555 -3.0073823 -2.0838178
98000 0 2.001084 -3.0411655 -0 0.16549603 0.69211139 -3.0411655 -2.1835581
99000 0 2.269108 -3.0749812 -0 0.11370514 0.85876972 -3.0749812 -2.1025064
100000 0 2.0270482 -3.0802101 -0 0.098599302 0.77013563 -3.0802101 -2.2114752
101000 0 1.9412796 -3.1543623 -0 0.11953004 0.71244692 -3.1543623 -2.3223853
102000 0 2.0146461 -3.0140006 -0 0.10152606 0.7618937 -3.0140006 -2.1505808
103000 0 1.7377282 -3.1862597 -0 0.082111131 0.66262952 -3.1862597 -2.441519
104000 0 1.7973897 -3.1055088 -0 0.093370304 0.67693958 -3.1055088 -2.3351989
105000 0 2.2615194 -2.9636424 -0 0.12584102 0.84338157 -2.9636424 -1.9944198
106000 0 1.8974182 -2.9505576 -0 0.085928679 0.72725057 -2.9505576 -2.1373783
107000 0 2.0691161 -3.0804349 -0 0.12411017 0.76265389 -3.0804349 -2.1936708
108000 0 2.0457472 -2.981702 -0 0.09308074 0.78366806 -2.981702 -2.1049532
109000 0 1.6610604 -3.1463569 -0 0.066318676 0.64556436 -3.1463569 -2.4344738
110000 0 1.9606721 -3.080013 -0 0.13164067 0.70864736 -3.080013 -2.2397249
Loop time of 62.2251 on 8 procs for 100000 steps with 350 atoms
Pair time (%) = 43.4946 (69.8987)
Neigh time (%) = 0.395421 (0.635469)
Comm time (%) = 10.3551 (16.6414)
Outpt time (%) = 0.00358662 (0.00576394)
Other time (%) = 7.97644 (12.8187)
Nlocal: 43.75 ave 51 max 33 min
Histogram: 1 0 1 0 0 2 0 1 2 1
Nghost: 168.375 ave 180 max 155 min
Histogram: 1 1 0 0 1 0 2 2 0 1
Neighs: 971 ave 1278 max 631 min
Histogram: 1 1 0 1 0 1 2 1 0 1
Total # of neighbors = 7768
Ave neighs/atom = 22.1943
Neighbor list builds = 7621
Dangerous builds = 0

View File

@ -1,244 +0,0 @@
LAMMPS (1 Feb 2014)
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
units lj
atom_style line
atom_modify first big
dimension 2
read_data data.line.srd
orthogonal box = (-28.7968 -28.7968 -0.5) to (28.7968 28.7968 0.5)
4 by 2 by 1 MPI processor grid
reading atoms ...
400 atoms
400 lines
# add small particles as hi density lattice
lattice sq 0.4
Lattice spacing in x,y,z = 1.58114 1.58114 1.58114
region plane block INF INF INF INF -0.001 0.001
lattice sq 10.0
Lattice spacing in x,y,z = 0.316228 0.316228 0.316228
create_atoms 2 region plane
Created 33489 atoms
group big type 1
400 atoms in group big
group small type 2
33489 atoms in group small
set group small mass 0.01
33489 settings made for mass
# delete overlaps
# must set 1-2 cutoff to non-zero value
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 0.0 1.0
delete_atoms overlap 1.5 small big
Deleted 13605 atoms, new total = 20284
# SRD run
reset_timestep 0
velocity small create 1.44 87287 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule big include big
communicate multi group big vel yes
neigh_modify include big
# no pairwise interactions with small particles
pair_style line/lj 2.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 0.0 1.0 0.0
# use fix SRD to push small particles out from inside big ones
# if comment out, big particles won't see SRD particles
timestep 0.001
fix 1 big rigid molecule
100 rigid bodies with 400 atoms
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
fix 3 all deform 1 x scale 0.35 y scale 0.35
fix 4 all enforce2d
# diagnostics
compute tsmall small temp/deform
compute tbig big temp
variable pebig equal pe*atoms/count(big)
variable ebig equal etotal*atoms/count(big)
compute 1 big erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 1000
thermo_style custom step temp c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
thermo_modify temp tbig
WARNING: Temperature for thermo pressure is not for group all (../thermo.cpp:439)
compute 10 big property/atom end1x end1y end2x end2y
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
run 10000
WARNING: Using fix srd with box deformation but no SRD thermostat (../fix_srd.cpp:385)
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.99882 0.503306
SRD temperature & lamda = 1 0.2
SRD max distance & max velocity = 0.8 40
SRD grid counts: 230 230 1
SRD grid size: request, actual (xyz) = 0.25, 0.250407 0.250407 1
SRD per actual grid cell = 0.444963
SRD viscosity = 4.2356
big/SRD mass density ratio = 14.0918
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2853)
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875)
# of rescaled SRD velocities = 0
ave/max small velocity = 15.906 29.1054
ave/max big velocity = 0 0
WARNING: Using compute temp/deform with inconsistent fix deform remap option (../compute_temp_deform.cpp:76)
Memory usage per processor = 7.79007 Mbytes
Step Temp tsmall 2[9] 1 TotEng pebig ebig Press
0 0 1.4528554 0 0 0 0 0 0
1000 0 1.1122612 1.1071958 0.00058011072 0 0 0 0.32625408
2000 0 1.0254475 1.0231236 0.00072347646 -2.3144253e-06 -0.00011736451 -0.00011736451 0.44526308
3000 0 1.0089214 0.99966408 0.00061511441 -0.00023298189 -0.011814512 -0.011814512 0.87208025
4000 0 1.0066185 0.99391102 0.00079065587 -0.0021630644 -0.10968899 -0.10968899 1.3901494
5000 0 1.0109003 1.0009124 0.00071588733 -0.0040023493 -0.20295913 -0.20295913 1.2736445
6000 0 1.0119642 1.0105049 0.00080741361 -0.0067908165 -0.34436231 -0.34436231 2.5492857
7000 0 1.0048989 0.98912274 0.00098851463 -0.010933999 -0.55446309 -0.55446309 3.5707613
8000 0 1.0021597 0.99377939 0.0008405671 -0.015690841 -0.79568252 -0.79568252 6.685381
9000 0 1.0197546 1.00114 0.0012645557 -0.021124602 -1.0712286 -1.0712286 18.907993
10000 0 1.0401079 1.0184189 0.0036111452 0.0099395852 0.50403637 0.50403637 96.909257
Loop time of 3.93391 on 8 procs for 10000 steps with 20284 atoms
Pair time (%) = 0.110261 (2.80284)
Neigh time (%) = 0.32853 (8.35124)
Comm time (%) = 0.199613 (5.07416)
Outpt time (%) = 0.00108692 (0.0276295)
Other time (%) = 3.29442 (83.7441)
Nlocal: 2535.5 ave 2850 max 2226 min
Histogram: 1 0 1 1 1 1 1 0 1 1
Nghost: 109.25 ave 117 max 102 min
Histogram: 1 0 2 0 1 1 1 1 0 1
Neighs: 526 ave 665 max 407 min
Histogram: 1 2 0 1 0 1 1 1 0 1
Total # of neighbors = 4208
Ave neighs/atom = 0.207454
Neighbor list builds = 522
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
triclinic box = (-10.0789 -10.0789 -0.5) to (10.0789 10.0789 0.5) with tilt (0 0 0)
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip tstat yes
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.05 units box remap v
run 40000
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.99882 0.503306
SRD temperature & lamda = 1 0.2
SRD max distance & max velocity = 0.8 40
SRD grid counts: 81 81 1
SRD grid size: request, actual (xyz) = 0.25, 0.248861 0.248861 1
SRD per actual grid cell = -11.3331
SRD viscosity = -1920.36
big/SRD mass density ratio = -0.546468
WARNING: SRD bin size for fix srd differs from user request (../fix_srd.cpp:2853)
WARNING: Fix srd grid size > 1/4 of big particle diameter (../fix_srd.cpp:2875)
WARNING: Fix srd viscosity < 0.0 due to low SRD density (../fix_srd.cpp:2877)
# of rescaled SRD velocities = 1
ave/max small velocity = 12.724 40
ave/max big velocity = 1.54523 5.36901
Memory usage per processor = 4.23847 Mbytes
Step Temp tsmall 2[9] 1 TotEng pebig ebig Press
10000 0 1.0277413 0 0.0036111452 0.010135973 0.51399517 0.51399517 60.794865
11000 0 1.0024742 1 0.00040482851 -0.031643325 -1.604633 -1.604633 55.531632
12000 0 1.0036177 1 0.00036416993 -0.030844063 -1.5641024 -1.5641024 56.694788
13000 0 1.0043067 1 0.00068862721 -0.030673787 -1.5554677 -1.5554677 56.852537
14000 0 1.0042533 1 0.00050997053 -0.035967153 -1.8238943 -1.8238943 51.254109
15000 0 1.003956 1 0.00048458218 -0.038060147 -1.9300301 -1.9300301 50.346943
16000 0 1.0059929 1 0.0004740426 -0.037433402 -1.8982478 -1.8982478 49.82532
17000 0 1.0042401 1 0.00039855238 -0.034314446 -1.7400855 -1.7400855 48.430648
18000 0 1.0025952 1 0.00046207703 -0.034166102 -1.732563 -1.732563 53.883613
19000 0 1.0025881 1 0.00034818943 -0.037341367 -1.8935807 -1.8935807 48.90662
20000 0 1.0009932 1 0.00031244041 -0.035274728 -1.7887814 -1.7887814 47.665935
21000 0 1.0025603 1 0.0005514826 -0.034350221 -1.7418997 -1.7418997 63.290704
22000 0 1.0038575 1 0.00034453716 -0.03576596 -1.8136918 -1.8136918 49.805726
23000 0 1.0030321 1 0.00049535709 -0.035873083 -1.819124 -1.819124 48.973244
24000 0 1.0048593 1 0.00034225992 -0.03322158 -1.6846663 -1.6846663 52.557383
25000 0 1.0024423 1 0.00059157362 -0.030152319 -1.5290241 -1.5290241 56.733821
26000 0 1.0022703 1 0.00047512976 -0.029563064 -1.499143 -1.499143 56.271943
27000 0 1.0024537 1 0.00054158319 -0.02957039 -1.4995145 -1.4995145 55.246787
28000 0 1.0023325 1 0.00051129428 -0.035115211 -1.7806924 -1.7806924 49.718172
29000 0 1.002865 1 0.00056728135 -0.035484703 -1.7994293 -1.7994293 48.387401
30000 0 1.0022693 1 0.00040284402 -0.033844303 -1.7162446 -1.7162446 50.486676
31000 0 1.0037106 1 0.00056291948 -0.036529699 -1.852421 -1.852421 52.011803
32000 0 1.0022542 1 0.00041877447 -0.036903458 -1.8713743 -1.8713743 52.712289
33000 0 1.0021364 1 0.00040871451 -0.033616728 -1.7047043 -1.7047043 55.199593
34000 0 1.003779 1 0.00040667148 -0.031745412 -1.6098098 -1.6098098 51.055261
35000 0 1.0015547 1 0.00042509365 -0.033603064 -1.7040114 -1.7040114 53.887389
36000 0 1.0024849 1 0.00040589851 -0.032151258 -1.6303903 -1.6303903 55.673615
37000 0 1.0038204 1 0.00040542177 -0.033643242 -1.7060488 -1.7060488 51.834694
38000 0 1.0031777 1 0.00040237126 -0.034711811 -1.7602359 -1.7602359 56.275778
39000 0 1.002777 1 0.00051021239 -0.034375104 -1.7431615 -1.7431615 48.461145
40000 0 1.0053762 1 0.00041566465 -0.036016384 -1.8263908 -1.8263908 48.937456
41000 0 1.0039078 1 0.00049726673 -0.036481888 -1.8499966 -1.8499966 49.290465
42000 0 1.0033408 1 0.00045236191 -0.034254524 -1.7370469 -1.7370469 52.146603
43000 0 1.0039893 1 0.00048362351 -0.032519474 -1.6490625 -1.6490625 53.320599
44000 0 1.0036667 1 0.00046834006 -0.031099875 -1.5770747 -1.5770747 55.907531
45000 0 1.0035765 1 0.0005195031 -0.029559708 -1.4989728 -1.4989728 56.191165
46000 0 1.004514 1 0.00050134348 -0.028852909 -1.463131 -1.463131 57.547696
47000 0 1.003864 1 0.00038963389 -0.031339229 -1.5892123 -1.5892123 55.775764
48000 0 1.003145 1 0.00035436452 -0.032390682 -1.6425315 -1.6425315 55.233354
49000 0 1.0042615 1 0.00053161075 -0.029960468 -1.5192953 -1.5192953 54.611685
50000 0 1.0037096 1 0.00031191389 -0.02942011 -1.4918938 -1.4918938 58.653762
Loop time of 27.1275 on 8 procs for 40000 steps with 20284 atoms
Pair time (%) = 1.54277 (5.68709)
Neigh time (%) = 1.26864 (4.67658)
Comm time (%) = 1.19871 (4.4188)
Outpt time (%) = 0.00421953 (0.0155544)
Other time (%) = 23.1132 (85.202)
Nlocal: 2535.5 ave 2670 max 2406 min
Histogram: 1 1 1 0 0 2 1 1 0 1
Nghost: 114.5 ave 124 max 103 min
Histogram: 1 0 1 0 2 1 0 1 0 2
Neighs: 521.5 ave 692 max 442 min
Histogram: 3 1 1 1 0 0 0 1 0 1
Total # of neighbors = 4172
Ave neighs/atom = 0.205679
Neighbor list builds = 2002
Dangerous builds = 0
Please see the log.cite file for references relevant to this simulation

View File

@ -0,0 +1,189 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
using 1 OpenMP thread(s) per MPI task
# Aspherical shear demo - 2d line box and triangle mixture, implicit solvent
units lj
atom_style line
dimension 2
read_data data.line
Reading data file ...
orthogonal box = (-22.553882 -22.553882 -0.5) to (22.553882 22.553882 0.5)
1 by 1 by 1 MPI processor grid
reading atoms ...
350 atoms
350 lines
read_data CPU = 0.003 seconds
velocity all create 1.44 320984 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra all
pair_style line/lj 2.5
pair_coeff * * 0.25 0.25 1.0 0.25 2.5
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
100 rigid bodies with 350 atoms
fix 3 all deform 5 x scale 0.8 y scale 0.8
fix 4 all enforce2d
compute 10 all property/atom end1x end1y end2x end2y
#dump 1 all custom 500 dump1.atom id type x y z ix iy iz
#dump 2 all custom 500 dump1.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
timestep 0.001
compute 1 all erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
compute_modify thermo_temp extra/dof -350
thermo 1000
thermo_style custom step f_2 pe ke c_1 c_2 c_3 v_toteng
run 10000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 33 33 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.742 | 4.742 | 4.742 Mbytes
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
0 1.1872976 0 0.46543528 0.03617212 0.46543528 0 0.5016074
1000 1.9084412 -0.001043719 0.71003395 0.089891202 0.71003395 -0.001043719 0.79888143
2000 2.31668 -0.020711665 0.83611544 0.13062287 0.83611544 -0.020711665 0.94602664
3000 2.3094506 -0.062018072 0.80584123 0.15326943 0.80584123 -0.062018072 0.8970926
4000 2.4383442 -0.053659995 0.86864073 0.14696993 0.86864073 -0.053659995 0.96195067
5000 2.5885917 -0.15612821 0.90351683 0.17156633 0.90351683 -0.15612821 0.91895495
6000 2.1187379 -0.072041135 0.76933527 0.11557939 0.76933527 -0.072041135 0.81287353
7000 2.1407592 -0.057727294 0.75154343 0.13827066 0.75154343 -0.057727294 0.8320868
8000 2.0661844 -0.097529608 0.71093839 0.14547433 0.71093839 -0.097529608 0.75888311
9000 2.1574445 -0.052890857 0.78826145 0.11363136 0.78826145 -0.052890857 0.84900195
10000 2.473097 -0.092376489 0.85756337 0.16861278 0.85756337 -0.092376489 0.93379965
Loop time of 1.16704 on 1 procs for 10000 steps with 350 atoms
Performance: 740334.372 tau/day, 8568.685 timesteps/s, 2.999 Matom-step/s
99.7% 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.80757 | 0.80757 | 0.80757 | 0.0 | 69.20
Neigh | 0.0090046 | 0.0090046 | 0.0090046 | 0.0 | 0.77
Comm | 0.011808 | 0.011808 | 0.011808 | 0.0 | 1.01
Output | 0.000194 | 0.000194 | 0.000194 | 0.0 | 0.02
Modify | 0.3317 | 0.3317 | 0.3317 | 0.0 | 28.42
Other | | 0.006768 | | | 0.58
Nlocal: 350 ave 350 max 350 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 101 ave 101 max 101 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 853 ave 853 max 853 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 853
Ave neighs/atom = 2.4371429
Neighbor list builds = 274
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
Changing box ...
triclinic box = (-18.043106 -18.043106 -0.5) to (18.043106 18.043106 0.5) with tilt (0 0 0)
#dump 1 all custom 500 dump2.atom id type x y z ix iy iz
#dump 2 all custom 500 dump2.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.01 units box
run 10000
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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 26 26 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.756 | 4.756 | 4.756 Mbytes
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
10000 2.473097 -0.092380532 0.85753671 0.16863499 0.85753671 -0.092380532 0.93379117
11000 2.5185915 -0.1015737 0.84230876 0.197573 0.84230876 -0.1015737 0.93830806
12000 2.5971728 -0.13087195 0.90608898 0.17248755 0.90608898 -0.13087195 0.94770458
13000 2.5065714 -0.14666584 0.83804307 0.19683483 0.83804307 -0.14666584 0.88821206
14000 2.1672357 -0.10720878 0.79713452 0.10973398 0.79713452 -0.10720878 0.79965972
15000 2.3444438 -0.14780285 0.81642139 0.15695019 0.81642139 -0.14780285 0.82556873
16000 2.2672973 -0.12590007 0.76672668 0.17081014 0.76672668 -0.12590007 0.81163675
17000 2.3999651 -0.15464102 0.85708567 0.14289234 0.85708567 -0.15464102 0.84533699
18000 2.2024356 -0.14077779 0.76727873 0.14718521 0.76727873 -0.14077779 0.77368615
19000 2.5411572 -0.092014576 0.85750101 0.19297197 0.85750101 -0.092014576 0.95845841
20000 2.2113691 -0.11944862 0.77295445 0.14564597 0.77295445 -0.11944862 0.79915181
Loop time of 1.76388 on 1 procs for 10000 steps with 350 atoms
Performance: 489827.896 tau/day, 5669.304 timesteps/s, 1.984 Matom-step/s
99.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 | 1.3668 | 1.3668 | 1.3668 | 0.0 | 77.49
Neigh | 0.018849 | 0.018849 | 0.018849 | 0.0 | 1.07
Comm | 0.013338 | 0.013338 | 0.013338 | 0.0 | 0.76
Output | 0.00020434 | 0.00020434 | 0.00020434 | 0.0 | 0.01
Modify | 0.35698 | 0.35698 | 0.35698 | 0.0 | 20.24
Other | | 0.007667 | | | 0.43
Nlocal: 350 ave 350 max 350 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 119 ave 119 max 119 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 997 ave 997 max 997 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 997
Ave neighs/atom = 2.8485714
Neighbor list builds = 283
Dangerous builds = 0
Total wall time: 0:00:02

View File

@ -0,0 +1,189 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
using 1 OpenMP thread(s) per MPI task
# Aspherical shear demo - 2d line box and triangle mixture, implicit solvent
units lj
atom_style line
dimension 2
read_data data.line
Reading data file ...
orthogonal box = (-22.553882 -22.553882 -0.5) to (22.553882 22.553882 0.5)
2 by 2 by 1 MPI processor grid
reading atoms ...
350 atoms
350 lines
read_data CPU = 0.003 seconds
velocity all create 1.44 320984 loop geom
neighbor 0.3 bin
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra all
pair_style line/lj 2.5
pair_coeff * * 0.25 0.25 1.0 0.25 2.5
fix 2 all rigid molecule langevin 2.0 2.0 1.0 492983
100 rigid bodies with 350 atoms
fix 3 all deform 5 x scale 0.8 y scale 0.8
fix 4 all enforce2d
compute 10 all property/atom end1x end1y end2x end2y
#dump 1 all custom 500 dump1.atom id type x y z ix iy iz
#dump 2 all custom 500 dump1.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
timestep 0.001
compute 1 all erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
compute_modify thermo_temp extra/dof -350
thermo 1000
thermo_style custom step f_2 pe ke c_1 c_2 c_3 v_toteng
run 10000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 33 33 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.736 | 4.736 | 4.736 Mbytes
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
0 1.1872976 0 0.46543528 0.03617212 0.46543528 0 0.5016074
1000 1.9084412 -0.001043719 0.71003395 0.089891202 0.71003395 -0.001043719 0.79888143
2000 2.31668 -0.020711665 0.83611544 0.13062287 0.83611544 -0.020711665 0.94602664
3000 2.3094506 -0.062018072 0.80584123 0.15326943 0.80584123 -0.062018072 0.8970926
4000 2.4383442 -0.053659995 0.86864073 0.14696993 0.86864073 -0.053659995 0.96195067
5000 2.5885917 -0.15612821 0.90351683 0.17156633 0.90351683 -0.15612821 0.91895494
6000 2.118738 -0.072041141 0.76933528 0.1155794 0.76933528 -0.072041141 0.81287354
7000 2.1407609 -0.057727453 0.75154404 0.13827078 0.75154404 -0.057727453 0.83208737
8000 2.066348 -0.097639137 0.71096217 0.14551295 0.71096217 -0.097639137 0.75883597
9000 2.1969096 -0.050133795 0.8028133 0.11559948 0.8028133 -0.050133795 0.86827899
10000 2.3932442 -0.098008752 0.83753779 0.15678193 0.83753779 -0.098008752 0.89631097
Loop time of 0.596624 on 4 procs for 10000 steps with 350 atoms
Performance: 1448149.372 tau/day, 16760.988 timesteps/s, 5.866 Matom-step/s
98.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.17419 | 0.21073 | 0.27006 | 7.8 | 35.32
Neigh | 0.0015899 | 0.0018079 | 0.0020932 | 0.5 | 0.30
Comm | 0.041688 | 0.101 | 0.13805 | 11.3 | 16.93
Output | 0.00011945 | 0.0001262 | 0.000143 | 0.0 | 0.02
Modify | 0.26906 | 0.27183 | 0.27467 | 0.4 | 45.56
Other | | 0.01113 | | | 1.87
Nlocal: 87.5 ave 94 max 80 min
Histogram: 1 1 0 0 0 0 0 0 0 2
Nghost: 54.5 ave 67 max 42 min
Histogram: 1 0 1 0 0 0 0 1 0 1
Neighs: 212.75 ave 286 max 122 min
Histogram: 1 0 0 1 0 0 0 0 1 1
Total # of neighbors = 851
Ave neighs/atom = 2.4314286
Neighbor list builds = 273
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
Changing box ...
triclinic box = (-18.043106 -18.043106 -0.5) to (18.043106 18.043106 0.5) with tilt (0 0 0)
#dump 1 all custom 500 dump2.atom id type x y z ix iy iz
#dump 2 all custom 500 dump2.line id type # c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.01 units box
run 10000
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 = 2.8
ghost atom cutoff = 2.8
binsize = 1.4, bins = 26 26 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 4.752 | 4.752 | 4.752 Mbytes
Step f_2 PotEng KinEng c_1 c_2 c_3 v_toteng
10000 2.3932442 -0.098029446 0.83751359 0.1568021 0.83751359 -0.098029446 0.89628624
11000 2.4541893 -0.15538223 0.82053681 0.19271549 0.82053681 -0.15538223 0.85787007
12000 2.4124449 -0.14024177 0.84559598 0.15692416 0.84559598 -0.14024177 0.86227837
13000 2.2095814 -0.10822636 0.73930104 0.173052 0.73930104 -0.10822636 0.80412668
14000 2.0946831 -0.087303541 0.77743494 0.10023865 0.77743494 -0.087303541 0.79037005
15000 2.0911016 -0.11524594 0.74044758 0.12978235 0.74044758 -0.11524594 0.75498398
16000 1.9736428 -0.17259563 0.67852978 0.13943094 0.67852978 -0.17259563 0.64536509
17000 2.3284367 -0.17673537 0.77018991 0.1897596 0.77018991 -0.17673537 0.78321414
18000 2.3178564 -0.16634746 0.81488323 0.1487365 0.81488323 -0.16634746 0.79727227
19000 2.7497251 -0.18254513 1.0041125 0.14528424 1.0041125 -0.18254513 0.96685165
20000 2.3897059 -0.12664177 0.8390411 0.15426546 0.8390411 -0.12664177 0.86666479
Loop time of 0.79519 on 4 procs for 10000 steps with 350 atoms
Performance: 1086533.223 tau/day, 12575.616 timesteps/s, 4.401 Matom-step/s
98.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.26601 | 0.35051 | 0.443 | 12.3 | 44.08
Neigh | 0.0029891 | 0.0036725 | 0.0040631 | 0.7 | 0.46
Comm | 0.049744 | 0.14268 | 0.22734 | 19.3 | 17.94
Output | 0.00013783 | 0.00014503 | 0.00016304 | 0.0 | 0.02
Modify | 0.27963 | 0.28446 | 0.29049 | 0.8 | 35.77
Other | | 0.01372 | | | 1.73
Nlocal: 87.5 ave 101 max 75 min
Histogram: 1 0 1 0 0 0 1 0 0 1
Nghost: 61.5 ave 67 max 50 min
Histogram: 1 0 0 0 0 0 0 0 2 1
Neighs: 244.75 ave 268 max 198 min
Histogram: 1 0 0 0 0 0 0 1 0 2
Total # of neighbors = 979
Ave neighs/atom = 2.7971429
Neighbor list builds = 289
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -0,0 +1,363 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
using 1 OpenMP thread(s) per MPI task
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
units lj
atom_style line
atom_modify first big
dimension 2
read_data data.line.srd
Reading data file ...
orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
1 by 1 by 1 MPI processor grid
reading atoms ...
400 atoms
400 lines
read_data CPU = 0.003 seconds
# add small particles as hi density lattice
lattice sq 0.4
Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
region plane block INF INF INF INF -0.001 0.001
lattice sq 10.0
Lattice spacing in x,y,z = 0.31622777 0.31622777 0.31622777
create_atoms 2 region plane
Created 33489 atoms
using lattice units in orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
create_atoms CPU = 0.003 seconds
group big type 1
400 atoms in group big
group small type 2
33489 atoms in group small
set group small mass 0.01
Setting atom values ...
33489 settings made for mass
# delete overlaps
# must set 1-2 cutoff to non-zero value
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 1.0 1.0
delete_atoms overlap 1.5 small big
System init for delete_atoms ...
Generated 0 of 1 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 = 1.8
ghost atom cutoff = 1.8
binsize = 0.9, bins = 64 64 2
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:313)
Deleted 13605 atoms, new total = 20284
# SRD run
reset_timestep 0
velocity small create 1.44 87287 loop geom
neighbor 0.8 multi
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra big include big
comm_modify mode multi group big vel yes
neigh_modify include big
# no pairwise interactions with small particles
pair_style line/lj 2.5
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
# use fix SRD to push small particles out from inside big ones
# if comment out, big particles won't see SRD particles
timestep 0.0001
fix 1 big rigid molecule
100 rigid bodies with 400 atoms
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
fix 3 all deform 1 x scale 1.25 y scale 1.25
fix 4 all enforce2d
# diagnostics
compute tsmall small temp/deform
compute tbig big temp
variable pebig equal pe*atoms/count(big)
variable ebig equal etotal*atoms/count(big)
compute_modify tbig extra/dof -350
compute 1 big erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 1000
thermo_style custom step c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
thermo_modify temp tbig
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:533)
compute 10 big property/atom end1x end1y end2x end2y
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
run 10000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
@Article{Intveld08,
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
title = {Accurate and Efficient Methods for Modeling Colloidal
Mixtures in an Explicit Solvent using Molecular Dynamics},
journal = {Comput.\ Phys.\ Commut.},
year = 2008,
volume = 179,
pages = {320--329}
}
@article{Shire2020,
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
Detection Applied to Investigate the Quasi-Static Limit},
journal = {Computational Particle Mechanics},
year = {2020}
@article{Monti2022,
author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava,
Ishan and Silbert, Leonardo E. and Grest, Gary S.
and Lechman, Jeremy B.},
title = {Large-scale frictionless jamming with power-law particle
size distributions},
journal = {Phys. Rev. E},
volume = {106}
issue = {3}
year = {2022}
}
- fix srd command: doi:10.1063/1.3419070
@Article{Petersen10,
author = {M. K. Petersen and J. B. Lechman and S. J. Plimpton and
G. S. Grest and in 't Veld, P. J. and P. R. Schunk},
title = {Mesoscale Hydrodynamics via Stochastic Rotation
Dynamics: Comparison with {L}ennard-{J}ones Fluid},
journal = {J.~Chem.\ Phys.},
year = 2010,
volume = 132,
pages = 174106
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
WARNING: Using compute temp/deform with inconsistent fix deform remap option (src/compute_temp_deform.cpp:71)
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.9988171 0.50330564
SRD temperature & lamda = 1 0.02
SRD max distance & max velocity = 0.08 40
SRD grid counts: 230 230 1
SRD grid size: request, actual (xyz) = 0.25, 0.25040659 0.25040659 1
SRD per actual grid cell = 0.45503978
SRD viscosity = 0.92062623
big/SRD mass density ratio = 12.298053
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
# of rescaled SRD velocities = 0
ave/max small velocity = 15.906001 29.105426
ave/max big velocity = 0 0
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.3
ghost atom cutoff = 3.3
binsize = 1.65, bins = 35 35 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/multi/atomonly/newton
stencil: half/multi/2d
bin: multi
Per MPI rank memory allocation (min/avg/max) = 43.18 | 43.18 | 43.18 Mbytes
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
0 1.6084386 0 0 0 0 0 0
1000 1.4566787 1.2042825 0.00015900089 0.0011955837 0 0.060628048 0.75322967
2000 1.3561018 1.2092936 0.00026739313 0.0020783306 0 0.10539215 0.53247025
3000 1.3327447 1.1696777 0.0003215116 0.0024935719 0 0.12644903 0.32024668
4000 1.3031273 1.1385596 0.00037337107 0.0031214473 0 0.15828859 0.64066244
5000 1.28204 1.0983763 0.00047966362 0.0033295434 0 0.16884114 0.32103666
6000 1.2654396 1.0969562 0.00049917373 0.0037382387 0 0.18956609 0.16211614
7000 1.2401503 1.1232046 0.00045137168 0.0037522201 0 0.19027508 0.014071672
8000 1.2349025 1.059008 0.00056648801 0.0039664742 0 0.20113991 0.24483817
9000 1.2272907 1.0371006 0.00056271544 0.0037847074 0 0.19192251 0.032968056
10000 1.2153817 1.0209113 0.00053291164 0.0037197691 0 0.18862949 0.3237698
Loop time of 6.0346 on 1 procs for 10000 steps with 20284 atoms
Performance: 14317.424 tau/day, 1657.109 timesteps/s, 33.613 Matom-step/s
96.2% 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.10636 | 0.10636 | 0.10636 | 0.0 | 1.76
Neigh | 0.01905 | 0.01905 | 0.01905 | 0.0 | 0.32
Comm | 0.041223 | 0.041223 | 0.041223 | 0.0 | 0.68
Output | 0.0017015 | 0.0017015 | 0.0017015 | 0.0 | 0.03
Modify | 5.8165 | 5.8165 | 5.8165 | 0.0 | 96.39
Other | | 0.04976 | | | 0.82
Nlocal: 20284 ave 20284 max 20284 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 84 ave 84 max 84 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 0 ave 0 max 0 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 0
Ave neighs/atom = 0
Neighbor list builds = 500
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
Changing box ...
triclinic box = (-35.995947 -35.995947 -0.5) to (35.995947 35.995947 0.5) with tilt (0 0 0)
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip #tstat yes
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.0002 units box remap v
run 30000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.9988171 0.50330564
SRD temperature & lamda = 1 0.02
SRD max distance & max velocity = 0.08 40
SRD grid counts: 288 288 1
SRD grid size: request, actual (xyz) = 0.25, 0.24997185 0.24997185 1
SRD per actual grid cell = 0.26976265
SRD viscosity = 1.0312189
big/SRD mass density ratio = 20.672578
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
# of rescaled SRD velocities = 0
ave/max small velocity = 12.805429 40
ave/max big velocity = 0.50400801 2.1697856
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.3
ghost atom cutoff = 3.3
binsize = 1.65, bins = 44 44 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/multi/atomonly/newton/tri
stencil: half/multi/2d/tri
bin: multi
Per MPI rank memory allocation (min/avg/max) = 58.85 | 58.85 | 58.85 Mbytes
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
10000 1.0423767 0 0.00053289774 0.0037197858 0 0.18863034 0.014558088
11000 1.0333923 1.0309908 0.00058283908 0.0042336078 0 0.21468625 0.13036048
12000 1.0268543 1.0290122 0.00055294944 0.0044278861 0 0.2245381 0.53275676
13000 1.0257856 1.0140434 0.00051520803 0.0042888387 0 0.21748701 0.2066835
14000 1.0239497 1.0321558 0.00054742053 0.004259664 0 0.21600756 0.24430097
15000 1.0194475 1.0119806 0.00053619565 0.0041113765 0 0.2084879 0.18420434
16000 1.016421 1.0309991 0.00049553642 0.0041338645 0 0.20962827 0.18298406
17000 1.0088527 0.99723694 0.00049824173 0.0044777581 0 0.22706711 0.65557023
18000 1.0073877 1.0136962 0.00058327835 0.0045355884 0 0.22999969 0.13700737
19000 1.0026916 1.0253129 0.00056760151 0.0045138437 0 0.22889701 0.16443344
20000 1.0024042 0.98988084 0.00057568118 0.0048644983 0 0.24667871 0.060864322
21000 0.99500641 0.99075324 0.00062187543 0.0050480594 0 0.25598709 0.18428384
22000 0.99286446 0.98642266 0.00061024492 0.0050497174 0 0.25607117 0.18499738
23000 0.99204086 0.98869005 0.00064013575 0.0052921112 0 0.26836296 0.046987646
24000 0.98768375 1.0110613 0.00065868636 0.0049285304 0 0.24992578 0.22623751
25000 0.98763308 0.98752678 0.00067070463 0.0049364253 0 0.25032613 0.022819382
26000 0.9844889 1.0059918 0.00075364589 0.0053381778 0 0.270699 0.089735771
27000 0.98574608 0.99094039 0.00080711088 0.0054137233 0 0.27452991 0.14477885
28000 0.98139419 0.97487219 0.00071242405 0.0053315389 0 0.27036234 -0.016357088
29000 0.98458705 0.98600894 0.00068355573 0.0050157315 0 0.25434775 0.015749835
30000 0.98440759 1.0010793 0.00067594666 0.0048121267 0 0.24402295 0.20422918
31000 0.98060632 0.9825933 0.00069529947 0.0050649881 -0.00010700206 0.25684555 0.0014601267
32000 0.97616624 0.94976641 0.00067682494 0.0052111319 -0.00013230279 0.2642565 0.013738873
33000 0.97926122 0.95756794 0.00071774059 0.0053716513 -0.00024804252 0.27239644 0.10643895
34000 0.97227771 0.94365547 0.00080885359 0.0055744144 -0.00063217879 0.28267856 0.12472959
35000 0.97295679 0.98103625 0.0008130852 0.0057598371 -0.00097218501 0.29208134 0.88422099
36000 0.97131919 0.97164636 0.0008345433 0.0062212675 -0.001543055 0.31548048 0.22389401
37000 0.96988732 0.98589058 0.00083271625 0.0062999411 -0.0026064482 0.31947001 0.11797226
38000 0.97135512 0.96486494 0.00076943974 0.0057397763 -0.0041174109 0.29106406 0.072790492
39000 0.97386738 0.95218062 0.00079594844 0.0056308358 -0.0069006312 0.28553968 0.12417837
40000 0.97914045 1.0033941 0.000830798 0.0055952714 -0.0086705514 0.28373621 0.1976663
Loop time of 15.944 on 1 procs for 30000 steps with 20284 atoms
Performance: 16256.931 tau/day, 1881.589 timesteps/s, 38.166 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.31871 | 0.31871 | 0.31871 | 0.0 | 2.00
Neigh | 0.082974 | 0.082974 | 0.082974 | 0.0 | 0.52
Comm | 0.16092 | 0.16092 | 0.16092 | 0.0 | 1.01
Output | 0.0047257 | 0.0047257 | 0.0047257 | 0.0 | 0.03
Modify | 15.189 | 15.189 | 15.189 | 0.0 | 95.27
Other | | 0.1871 | | | 1.17
Nlocal: 20284 ave 20284 max 20284 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 76 ave 76 max 76 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 38 ave 38 max 38 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 38
Ave neighs/atom = 0.0018733978
Neighbor list builds = 1500
Dangerous builds = 0
Total wall time: 0:00:22

View File

@ -0,0 +1,363 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
using 1 OpenMP thread(s) per MPI task
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
units lj
atom_style line
atom_modify first big
dimension 2
read_data data.line.srd
Reading data file ...
orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
2 by 2 by 1 MPI processor grid
reading atoms ...
400 atoms
400 lines
read_data CPU = 0.003 seconds
# add small particles as hi density lattice
lattice sq 0.4
Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
region plane block INF INF INF INF -0.001 0.001
lattice sq 10.0
Lattice spacing in x,y,z = 0.31622777 0.31622777 0.31622777
create_atoms 2 region plane
Created 33489 atoms
using lattice units in orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
create_atoms CPU = 0.001 seconds
group big type 1
400 atoms in group big
group small type 2
33489 atoms in group small
set group small mass 0.01
Setting atom values ...
33489 settings made for mass
# delete overlaps
# must set 1-2 cutoff to non-zero value
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 1.0 1.0
delete_atoms overlap 1.5 small big
System init for delete_atoms ...
Generated 0 of 1 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 = 1.8
ghost atom cutoff = 1.8
binsize = 0.9, bins = 64 64 2
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:313)
Deleted 13605 atoms, new total = 20284
# SRD run
reset_timestep 0
velocity small create 1.44 87287 loop geom
neighbor 0.8 multi
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra big include big
comm_modify mode multi group big vel yes
neigh_modify include big
# no pairwise interactions with small particles
pair_style line/lj 2.5
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
# use fix SRD to push small particles out from inside big ones
# if comment out, big particles won't see SRD particles
timestep 0.0001
fix 1 big rigid molecule
100 rigid bodies with 400 atoms
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
fix 3 all deform 1 x scale 1.25 y scale 1.25
fix 4 all enforce2d
# diagnostics
compute tsmall small temp/deform
compute tbig big temp
variable pebig equal pe*atoms/count(big)
variable ebig equal etotal*atoms/count(big)
compute_modify tbig extra/dof -350
compute 1 big erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 1000
thermo_style custom step c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
thermo_modify temp tbig
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:533)
compute 10 big property/atom end1x end1y end2x end2y
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
run 10000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
@Article{Intveld08,
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
title = {Accurate and Efficient Methods for Modeling Colloidal
Mixtures in an Explicit Solvent using Molecular Dynamics},
journal = {Comput.\ Phys.\ Commut.},
year = 2008,
volume = 179,
pages = {320--329}
}
@article{Shire2020,
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
Detection Applied to Investigate the Quasi-Static Limit},
journal = {Computational Particle Mechanics},
year = {2020}
@article{Monti2022,
author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava,
Ishan and Silbert, Leonardo E. and Grest, Gary S.
and Lechman, Jeremy B.},
title = {Large-scale frictionless jamming with power-law particle
size distributions},
journal = {Phys. Rev. E},
volume = {106}
issue = {3}
year = {2022}
}
- fix srd command: doi:10.1063/1.3419070
@Article{Petersen10,
author = {M. K. Petersen and J. B. Lechman and S. J. Plimpton and
G. S. Grest and in 't Veld, P. J. and P. R. Schunk},
title = {Mesoscale Hydrodynamics via Stochastic Rotation
Dynamics: Comparison with {L}ennard-{J}ones Fluid},
journal = {J.~Chem.\ Phys.},
year = 2010,
volume = 132,
pages = 174106
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
WARNING: Using compute temp/deform with inconsistent fix deform remap option (src/compute_temp_deform.cpp:71)
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.9988171 0.50330564
SRD temperature & lamda = 1 0.02
SRD max distance & max velocity = 0.08 40
SRD grid counts: 230 230 1
SRD grid size: request, actual (xyz) = 0.25, 0.25040659 0.25040659 1
SRD per actual grid cell = 0.45503978
SRD viscosity = 0.92062623
big/SRD mass density ratio = 12.298053
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
# of rescaled SRD velocities = 0
ave/max small velocity = 15.906001 29.105426
ave/max big velocity = 0 0
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.3
ghost atom cutoff = 3.3
binsize = 1.65, bins = 35 35 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/multi/atomonly/newton
stencil: half/multi/2d
bin: multi
Per MPI rank memory allocation (min/avg/max) = 13.44 | 13.45 | 13.47 Mbytes
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
0 1.6084386 0 0 0 0 0 0
1000 1.4539924 1.2578325 0.0001679809 0.0010497614 0 0.053233399 0.69841607
2000 1.3516746 1.1693535 0.00031932331 0.0021450754 0 0.10877677 0.058141137
3000 1.3294093 1.1539986 0.00032558495 0.0022345521 0 0.11331414 0.085892255
4000 1.3049311 1.1174444 0.00039637116 0.0026520968 0 0.13448783 0.10574422
5000 1.2790124 1.1209176 0.0004519172 0.0032635257 0 0.16549339 0.59225702
6000 1.2631214 1.0868777 0.00052274216 0.003527049 0 0.17885666 0.26093936
7000 1.2520054 1.0780954 0.00051683183 0.0038111141 0 0.1932616 -0.0014733978
8000 1.2412037 1.0587149 0.00056620143 0.0038329297 0 0.19436786 0.31576462
9000 1.2242125 1.0699712 0.00065335672 0.0039948578 0 0.20257924 0.19755012
10000 1.2155758 1.0279682 0.00059730828 0.004142635 0 0.21007302 0.30022953
Loop time of 1.92412 on 4 procs for 10000 steps with 20284 atoms
Performance: 44903.607 tau/day, 5197.177 timesteps/s, 105.420 Matom-step/s
97.6% 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.026855 | 0.027529 | 0.028377 | 0.4 | 1.43
Neigh | 0.0073723 | 0.007433 | 0.0075693 | 0.1 | 0.39
Comm | 0.062837 | 0.065574 | 0.066747 | 0.6 | 3.41
Output | 0.00072894 | 0.00076558 | 0.00083361 | 0.0 | 0.04
Modify | 1.7861 | 1.7926 | 1.8 | 0.4 | 93.16
Other | | 0.03026 | | | 1.57
Nlocal: 5071 ave 5096 max 5051 min
Histogram: 1 0 1 0 0 1 0 0 0 1
Nghost: 44 ave 51 max 40 min
Histogram: 2 0 0 1 0 0 0 0 0 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
Neighbor list builds = 500
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
Changing box ...
triclinic box = (-35.995947 -35.995947 -0.5) to (35.995947 35.995947 0.5) with tilt (0 0 0)
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip #tstat yes
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.0002 units box remap v
run 30000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.9988171 0.50330564
SRD temperature & lamda = 1 0.02
SRD max distance & max velocity = 0.08 40
SRD grid counts: 288 288 1
SRD grid size: request, actual (xyz) = 0.25, 0.24997185 0.24997185 1
SRD per actual grid cell = 0.26976265
SRD viscosity = 1.0312189
big/SRD mass density ratio = 20.672578
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
# of rescaled SRD velocities = 0
ave/max small velocity = 12.826666 40
ave/max big velocity = 0.53469722 1.7415554
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.3
ghost atom cutoff = 3.3
binsize = 1.65, bins = 44 44 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/multi/atomonly/newton/tri
stencil: half/multi/2d/tri
bin: multi
Per MPI rank memory allocation (min/avg/max) = 17.6 | 17.6 | 17.61 Mbytes
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
10000 1.0416233 0 0.0005972922 0.0041426543 0 0.210074 0.016213064
11000 1.0366852 1.0236717 0.00066926382 0.004404743 0 0.22336452 0.097686059
12000 1.028695 1.0023004 0.00065323121 0.0043971164 0 0.22297777 0.30007875
13000 1.0223214 1.0296267 0.00060201395 0.0041815724 0 0.21204754 0.17307062
14000 1.0210601 1.0092227 0.00057020066 0.0041936718 0 0.2126611 0.13379405
15000 1.0169223 1.003359 0.00060818329 0.0046120335 0 0.23387622 0.39144341
16000 1.012222 0.99937463 0.00060471571 0.004533278 0 0.22988253 0.16026051
17000 1.0087993 0.98937449 0.00061843646 0.0048888197 0 0.24791205 0.095507016
18000 1.0030288 0.94092316 0.00054252694 0.0046740839 0 0.2370228 -0.070838649
19000 1.0010739 0.99759814 0.00054041829 0.0045481798 0 0.2306382 0.1944996
20000 1.004189 1.0157285 0.00053330893 0.0044999261 0 0.22819125 0.14452619
21000 0.99601133 1.003771 0.00053282188 0.0048954851 0 0.24825005 0.20196263
22000 0.99445408 1.0163465 0.00059954941 0.0051668276 0 0.26200983 0.21332194
23000 0.99663947 0.94920707 0.00057729723 0.0051052499 0 0.25888722 0.19282224
24000 0.99500015 1.0021742 0.00064312956 0.0053430656 0 0.27094686 0.18044164
25000 0.99388189 0.98446723 0.00060150964 0.0054017824 0 0.27392438 0.18844037
26000 0.99632932 0.94670024 0.00052479857 0.004905147 0 0.24874 0.17961314
27000 0.99112962 1.0247118 0.00053159824 0.004752248 0 0.2409865 0.12037737
28000 0.98887153 0.97734068 0.00052255365 0.0050199491 0 0.25456162 0.29110866
29000 0.98938025 0.99467239 0.00053095044 0.0050303107 0 0.25508706 0.59776339
30000 0.99081592 0.98822122 0.00056693985 0.0052452228 0 0.26598525 0.0150843
31000 0.99050903 1.0184912 0.00056742049 0.0056515686 0 0.28659104 0.07877756
32000 0.98929926 0.99257634 0.00058111732 0.005740055 0 0.29107819 0.19146041
33000 0.98698723 0.94872564 0.00056547335 0.0057628447 0 0.29223385 0.076755599
34000 0.98967998 0.98777081 0.00056045905 0.0055645603 0 0.28217885 0.095025284
35000 0.98777734 0.95746323 0.00050104756 0.0055630681 -4.7847642e-05 0.28210318 0.25667997
36000 0.98661597 0.98801246 0.00047074618 0.0054500805 -5.8956193e-05 0.27637358 0.18221607
37000 0.98390111 0.9837894 0.00044581144 0.0054703357 -7.4197741e-05 0.27740072 0.11959303
38000 0.98092646 1.0142057 0.0004945556 0.0056372628 -8.6736668e-05 0.2858656 0.017325263
39000 0.98125957 0.94219822 0.00059691168 0.0060914156 -9.9726556e-05 0.30889569 0.0081217281
40000 0.98362942 0.9649582 0.00062286697 0.0063736358 -0.00010700337 0.32320707 0.293121
Loop time of 5.08621 on 4 procs for 30000 steps with 20284 atoms
Performance: 50961.296 tau/day, 5898.298 timesteps/s, 119.641 Matom-step/s
98.8% 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.084321 | 0.084948 | 0.086233 | 0.3 | 1.67
Neigh | 0.027521 | 0.029247 | 0.030632 | 0.7 | 0.58
Comm | 0.19101 | 0.20262 | 0.2068 | 1.5 | 3.98
Output | 0.0019581 | 0.0020369 | 0.0022544 | 0.3 | 0.04
Modify | 4.681 | 4.6884 | 4.7051 | 0.4 | 92.18
Other | | 0.07891 | | | 1.55
Nlocal: 5071 ave 5197 max 4951 min
Histogram: 1 0 0 1 0 0 1 0 0 1
Nghost: 44 ave 50 max 41 min
Histogram: 2 0 0 1 0 0 0 0 0 1
Neighs: 5.75 ave 12 max 0 min
Histogram: 1 0 0 1 0 1 0 0 0 1
Total # of neighbors = 23
Ave neighs/atom = 0.0011338986
Neighbor list builds = 1500
Dangerous builds = 0
Total wall time: 0:00:07

View File

@ -0,0 +1,323 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-296-g061c80104a-modified)
using 1 OpenMP thread(s) per MPI task
# Aspherical shear demo - 2d line boxes, solvated by SRD particles
units lj
atom_style line
atom_modify first big
dimension 2
read_data data.line.srd
Reading data file ...
orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
4 by 2 by 1 MPI processor grid
reading atoms ...
400 atoms
400 lines
read_data CPU = 0.002 seconds
# add small particles as hi density lattice
lattice sq 0.4
Lattice spacing in x,y,z = 1.5811388 1.5811388 1.5811388
region plane block INF INF INF INF -0.001 0.001
lattice sq 10.0
Lattice spacing in x,y,z = 0.31622777 0.31622777 0.31622777
create_atoms 2 region plane
Created 33489 atoms
using lattice units in orthogonal box = (-28.796757 -28.796757 -0.5) to (28.796757 28.796757 0.5)
create_atoms CPU = 0.001 seconds
group big type 1
400 atoms in group big
group small type 2
33489 atoms in group small
set group small mass 0.01
Setting atom values ...
33489 settings made for mass
# delete overlaps
# must set 1-2 cutoff to non-zero value
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0
pair_coeff 2 2 0.0 1.0 0.0
pair_coeff 1 2 1.0 1.0
delete_atoms overlap 1.5 small big
System init for delete_atoms ...
Generated 0 of 1 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 = 1.8
ghost atom cutoff = 1.8
binsize = 0.9, bins = 64 64 2
2 neighbor lists, perpetual/occasional/extra = 1 1 0
(1) command delete_atoms, occasional
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/2d
bin: standard
(2) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/2d
bin: standard
WARNING: Delete_atoms cutoff > minimum neighbor cutoff (src/delete_atoms.cpp:313)
Deleted 13605 atoms, new total = 20284
# SRD run
reset_timestep 0
velocity small create 1.44 87287 loop geom
neighbor 0.8 multi
neigh_modify delay 0 every 1 check yes
neigh_modify exclude molecule/intra big include big
comm_modify mode multi group big vel yes
neigh_modify include big
# no pairwise interactions with small particles
pair_style line/lj 2.5
pair_coeff 1 1 1.0 1.0 1.0 1.0 2.5
pair_coeff 2 2 0.0 0.0 0.0 1.0 0.0
pair_coeff 1 2 1.0 0.2 1.0 0.2 2.5
# use fix SRD to push small particles out from inside big ones
# if comment out, big particles won't see SRD particles
timestep 0.0002
fix 1 big rigid molecule
100 rigid bodies with 400 atoms
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip
fix 3 all deform 1 x scale 1.25 y scale 1.25
fix 4 all enforce2d
# diagnostics
compute tsmall small temp/deform
compute tbig big temp
variable pebig equal pe*atoms/count(big)
variable ebig equal etotal*atoms/count(big)
compute_modify tbig extra/dof -350
compute 1 big erotate/asphere
compute 2 all ke
compute 3 all pe
variable toteng equal (c_1+c_2+c_3)/atoms
thermo 1000
thermo_style custom step c_tsmall f_2[9] c_1 etotal v_pebig v_ebig press
thermo_modify temp tbig
WARNING: Temperature for thermo pressure is not for group all (src/thermo.cpp:533)
compute 10 big property/atom end1x end1y end2x end2y
#dump 1 all custom 500 dump1.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump1.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
run 10000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
- neighbor multi command: doi:10.1016/j.cpc.2008.03.005, doi:10.1007/s40571-020-00361-2
@Article{Intveld08,
author = {in 't Veld, P. J. and S. J.~Plimpton and G. S. Grest},
title = {Accurate and Efficient Methods for Modeling Colloidal
Mixtures in an Explicit Solvent using Molecular Dynamics},
journal = {Comput.\ Phys.\ Commut.},
year = 2008,
volume = 179,
pages = {320--329}
}
@article{Shire2020,
author = {Shire, Tom and Hanley, Kevin J. and Stratford, Kevin},
title = {{DEM} Simulations of Polydisperse Media: Efficient Contact
Detection Applied to Investigate the Quasi-Static Limit},
journal = {Computational Particle Mechanics},
year = {2020}
@article{Monti2022,
author = {Monti, Joseph M. and Clemmer, Joel T. and Srivastava,
Ishan and Silbert, Leonardo E. and Grest, Gary S.
and Lechman, Jeremy B.},
title = {Large-scale frictionless jamming with power-law particle
size distributions},
journal = {Phys. Rev. E},
volume = {106}
issue = {3}
year = {2022}
}
- fix srd command: doi:10.1063/1.3419070
@Article{Petersen10,
author = {M. K. Petersen and J. B. Lechman and S. J. Plimpton and
G. S. Grest and in 't Veld, P. J. and P. R. Schunk},
title = {Mesoscale Hydrodynamics via Stochastic Rotation
Dynamics: Comparison with {L}ennard-{J}ones Fluid},
journal = {J.~Chem.\ Phys.},
year = 2010,
volume = 132,
pages = 174106
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
WARNING: Using compute temp/deform with inconsistent fix deform remap option (src/compute_temp_deform.cpp:71)
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.9988171 0.50330564
SRD temperature & lamda = 1 0.04
SRD max distance & max velocity = 0.16 40
SRD grid counts: 230 230 1
SRD grid size: request, actual (xyz) = 0.25, 0.25040659 0.25040659 1
SRD per actual grid cell = 0.45503978
SRD viscosity = 1.0732692
big/SRD mass density ratio = 12.298053
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
# of rescaled SRD velocities = 0
ave/max small velocity = 15.906001 29.105426
ave/max big velocity = 0 0
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.3
ghost atom cutoff = 3.3
binsize = 1.65, bins = 35 35 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/multi/atomonly/newton
stencil: half/multi/2d
bin: multi
Per MPI rank memory allocation (min/avg/max) = 9.752 | 9.762 | 9.781 Mbytes
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
0 1.4809886 0 0 0 0 0 0
1000 1.2265081 1.1522909 0.00027866069 0.0022427232 0 0.1137285 0.58262976
2000 1.1757141 1.1251323 0.00040597152 0.003287261 0 0.16669701 0.27109853
3000 1.126304 1.0646585 0.00050542958 0.0040748897 0 0.20663766 0.36959653
4000 1.1140297 1.0761435 0.00060430927 0.0052863645 0 0.26807154 0.35099205
5000 1.0823307 1.0256814 0.00066557681 0.0051213284 0 0.25970256 0.28491631
6000 1.0656188 1.0387091 0.00066454105 0.005213537 0 0.26437846 0.2150581
7000 1.0600108 1.0099931 0.0007238719 0.005470459 0 0.27740698 0.21846568
8000 1.0464374 1.0049819 0.00061068366 0.0053702582 0 0.27232579 0.1326171
9000 1.0381097 1.0126049 0.00057318728 0.0055976321 0 0.28385592 0.16797796
10000 1.0312982 1.0018962 0.00050597007 0.0051153126 0 0.2593975 0.15281043
Loop time of 1.2997 on 8 procs for 10000 steps with 20284 atoms
Performance: 132953.355 tau/day, 7694.060 timesteps/s, 156.066 Matom-step/s
96.7% CPU use with 8 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.01406 | 0.014495 | 0.01532 | 0.3 | 1.12
Neigh | 0.0051916 | 0.0053424 | 0.0054386 | 0.1 | 0.41
Comm | 0.062053 | 0.065305 | 0.069014 | 0.9 | 5.02
Output | 0.00062289 | 0.00065254 | 0.00077243 | 0.0 | 0.05
Modify | 1.169 | 1.178 | 1.1905 | 0.6 | 90.64
Other | | 0.03589 | | | 2.76
Nlocal: 2535.5 ave 2637 max 2476 min
Histogram: 1 3 1 1 0 0 0 0 1 1
Nghost: 31.125 ave 42 max 25 min
Histogram: 3 0 1 2 0 0 0 0 1 1
Neighs: 0 ave 0 max 0 min
Histogram: 8 0 0 0 0 0 0 0 0 0
Total # of neighbors = 0
Ave neighs/atom = 0
Neighbor list builds = 500
Dangerous builds = 0
#undump 1
#undump 2
unfix 3
change_box all triclinic
Changing box ...
triclinic box = (-35.995947 -35.995947 -0.5) to (35.995947 35.995947 0.5) with tilt (0 0 0)
fix 2 small srd 20 big 1.0 0.25 49894 search 0.2 cubic warn 0.0001 shift yes 49829 overlap yes collision noslip #tstat yes
#dump 1 all custom 500 dump2.atom.srd id type x y z ix iy iz
#dump 2 all custom 500 dump2.line.srd id type # c_10[1] c_10[2] c_10[3] c_10[4]
fix 3 all deform 1 xy erate 0.0002 units box remap v
run 40000
Generated 0 of 1 mixed pair_coeff terms from geometric mixing rule
WARNING: Using fix srd with box deformation but no SRD thermostat (src/SRD/fix_srd.cpp:405)
SRD info:
SRD/big particles = 19884 400
big particle diameter max/min = 1.9988171 0.50330564
SRD temperature & lamda = 1 0.04
SRD max distance & max velocity = 0.16 40
SRD grid counts: 288 288 1
SRD grid size: request, actual (xyz) = 0.25, 0.24997185 0.24997185 1
SRD per actual grid cell = 0.26976265
SRD viscosity = 1.5799049
big/SRD mass density ratio = 20.672578
WARNING: SRD bin size for fix srd differs from user request (src/SRD/fix_srd.cpp:2809)
WARNING: Fix srd grid size > 1/4 of big particle diameter (src/SRD/fix_srd.cpp:2830)
# of rescaled SRD velocities = 1
ave/max small velocity = 12.481632 40
ave/max big velocity = 0.58815233 1.5489134
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 3.3
ghost atom cutoff = 3.3
binsize = 1.65, bins = 44 44 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair line/lj, perpetual
attributes: half, newton on
pair build: half/multi/atomonly/newton/tri
stencil: half/multi/2d/tri
bin: multi
Per MPI rank memory allocation (min/avg/max) = 11.95 | 11.95 | 11.95 Mbytes
Step c_tsmall f_2[9] c_1 TotEng v_pebig v_ebig Press
10000 0.98889306 0 0.00050595647 0.0051153289 0 0.25939833 0.020019811
11000 0.98995417 0.99721412 0.0005166709 0.0054320552 0 0.27545952 0.03376188
12000 0.99401168 0.95502319 0.00053659416 0.0054974426 0 0.27877531 0.056856034
13000 0.98790692 0.96488357 0.00061076364 0.0053196554 0 0.26975972 0.2677228
14000 0.98939233 0.98809694 0.00052317779 0.0050536922 0 0.25627273 0.20381427
15000 0.99046365 0.97048828 0.00056914402 0.0053274908 0 0.27015706 0.082163088
16000 0.99743447 1.0111983 0.00053706165 0.0048068384 0 0.24375478 0.06429569
17000 0.99622359 1.0124982 0.0005905197 0.0055966416 -7.4541903e-05 0.2838057 0.25418037
18000 0.99283929 0.99581721 0.00061730878 0.0059098964 -0.00014754106 0.29969084 0.12701702
19000 0.99175517 1.0115581 0.0005128714 0.0059214809 -0.00046203987 0.30027829 0.2640506
20000 0.98895811 0.97731528 0.00052294314 0.0055670021 -0.0016029702 0.28230268 0.26239209
21000 0.98904093 0.98120258 0.00054169978 0.0052762731 -0.0026834879 0.26755981 0.15432481
22000 0.98773149 0.99217218 0.00056091602 0.0052754729 -0.0044093345 0.26751923 0.2208051
23000 0.98802862 0.96564549 0.00062226338 0.0053263454 -0.008790914 0.27009898 0.18058977
24000 0.98754002 1.024015 0.00057178953 0.0054083382 -0.0094859317 0.27425683 0.01598147
25000 0.98656341 0.94647246 0.00066215791 0.0053555849 -0.014877058 0.27158171 0.28794628
26000 0.98750471 1.0077626 0.00058955769 0.0057081639 -0.013151869 0.28946099 0.20814911
27

View File

@ -81,6 +81,7 @@ liblammpsplugin_t *liblammpsplugin_load(const char *lib)
ADDSYM(python_finalize);
ADDSYM(error);
ADDSYM(expand);
ADDSYM(file);
ADDSYM(command);

View File

@ -126,6 +126,7 @@ struct _liblammpsplugin {
void (*python_finalize)();
void (*error)(void *, int, const char *);
char *(*expand)(void *, const char *);
void (*file)(void *, const char *);
char *(*command)(void *, const char *);

View File

@ -45,7 +45,7 @@ thermo 100
thermo_modify lost ignore lost/bond ignore
#dump 1 all custom 100 atomDump id radius x y z c_nbond
dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
dump_modify 2 header no
#dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
#dump_modify 2 header no
run 7500

View File

@ -47,7 +47,7 @@ thermo 100
thermo_modify lost ignore lost/bond ignore
#dump 1 all custom 100 atomDump id x y z c_nbond
dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
dump_modify 2 header no
#dump 2 all local 100 brokenDump f_brkbond[1] f_brkbond[2] f_brkbond[3]
#dump_modify 2 header no
run 7500

View File

@ -1,8 +1,8 @@
To run Baske's test, do
To run this test, do
lmp -in in.msmeam
Then
Then:
diff dump.msmeam dump.msmeam.bu

View File

@ -3,22 +3,22 @@ ITEM: TIMESTEP
ITEM: NUMBER OF ATOMS
3
ITEM: BOX BOUNDS pp pp pp
-4 4
-4 4
-4 4
ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0
2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0
3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0
-4.0000000000000000e+00 4.0000000000000000e+00
-4.0000000000000000e+00 4.0000000000000000e+00
-4.0000000000000000e+00 4.0000000000000000e+00
ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
1 0 0 0 -131.977 -88.3322 0 22.9236 -2.14786e+08 -1.62719e+08 -0 -2.05378e+07 -0 -0
2 2.2 0 0 120.857 -0.482171 0 14.7745 -2.12113e+08 -0 -0 403352 -0 -0
3 0.3 2.3 0 11.1201 88.8144 0 8.61773 -2.67245e+06 -1.62719e+08 -0 -2.09411e+07 -0 -0
ITEM: TIMESTEP
1
ITEM: NUMBER OF ATOMS
3
ITEM: BOX BOUNDS pp pp pp
-4 4
-4 4
-4 4
ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
1 0 0 0 -131.925 -88.3005 0 22.9153 -2.147e+08 -1.62661e+08 -0 -2.05301e+07 -0 -0
2 2.2 0 0 120.809 -0.482171 0 14.7692 -2.12028e+08 -0 -0 403352 -0 -0
3 0.3 2.3 0 11.1159 88.7827 0 8.61478 -2.67145e+06 -1.62661e+08 -0 -2.09335e+07 -0 -0
-4.0000000000000000e+00 4.0000000000000000e+00
-4.0000000000000000e+00 4.0000000000000000e+00
-4.0000000000000000e+00 4.0000000000000000e+00
ITEM: ATOMS id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
1 0 0 0 -131.977 -88.3322 0 22.9236 -2.14786e+08 -1.62719e+08 -0 -2.05378e+07 -0 -0
2 2.2 0 0 120.857 -0.482171 0 14.7745 -2.12113e+08 -0 -0 403352 -0 -0
3 0.3 2.3 0 11.1201 88.8144 0 8.61773 -2.67245e+06 -1.62719e+08 -0 -2.09411e+07 -0 -0

View File

@ -1,4 +1,4 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified)
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-372-g51d104975a)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Test of MEAM potential for HGa
@ -67,7 +67,7 @@ Created 1 atoms
variable teng equal "c_eatoms"
compute pot_energy all pe/atom
compute stress all stress/atom NULL
# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
run 1
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
Neighbor list info ...
@ -89,22 +89,22 @@ Neighbor list info ...
bin: none
Per MPI rank memory allocation (min/avg/max) = 8.587 | 8.587 | 8.587 Mbytes
Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms
0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
Loop time of 4.4446e-05 on 1 procs for 1 steps with 3 atoms
0 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
1 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
Loop time of 0.000144827 on 1 procs for 1 steps with 3 atoms
Performance: 1943.932 ns/day, 0.012 hours/ns, 22499.213 timesteps/s, 67.498 katom-step/s
31.5% CPU use with 1 MPI tasks x 1 OpenMP threads
Performance: 596.574 ns/day, 0.040 hours/ns, 6904.790 timesteps/s, 20.714 katom-step/s
21.4% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 2.9908e-05 | 2.9908e-05 | 2.9908e-05 | 0.0 | 67.29
Pair | 9.2136e-05 | 9.2136e-05 | 9.2136e-05 | 0.0 | 63.62
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.033e-06 | 1.033e-06 | 1.033e-06 | 0.0 | 2.32
Output | 9.347e-06 | 9.347e-06 | 9.347e-06 | 0.0 | 21.03
Modify | 2.02e-07 | 2.02e-07 | 2.02e-07 | 0.0 | 0.45
Other | | 3.956e-06 | | | 8.90
Comm | 4.389e-06 | 4.389e-06 | 4.389e-06 | 0.0 | 3.03
Output | 3.9556e-05 | 3.9556e-05 | 3.9556e-05 | 0.0 | 27.31
Modify | 9.92e-07 | 9.92e-07 | 9.92e-07 | 0.0 | 0.68
Other | | 7.754e-06 | | | 5.35
Nlocal: 3 ave 3 max 3 min
Histogram: 1 0 0 0 0 0 0 0 0 0

View File

@ -1,4 +1,4 @@
LAMMPS (7 Feb 2024 - Development - patch_7Feb2024_update1-182-g93942f2013-modified)
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-372-g51d104975a)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# Test of MEAM potential for HGa
@ -67,7 +67,7 @@ Created 1 atoms
variable teng equal "c_eatoms"
compute pot_energy all pe/atom
compute stress all stress/atom NULL
# dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
dump 1 all custom 1 dump.msmeam id x y z fx fy fz c_pot_energy c_stress[1] c_stress[2] c_stress[3] c_stress[4] c_stress[5] c_stress[6]
run 1
WARNING: No fixes with time integration, atoms won't move (src/verlet.cpp:60)
Neighbor list info ...
@ -89,22 +89,22 @@ Neighbor list info ...
bin: none
Per MPI rank memory allocation (min/avg/max) = 7.965 | 8.123 | 8.594 Mbytes
Step Temp TotEng Press Pxx Pyy Pzz Pxy Pxz Pyz Lx Ly Lz Volume c_eatoms
0 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
1 0 15.433079 491354.7 838670.96 635393.15 0 80195.797 0 0 8 8 8 512 15.433079
Loop time of 8.70645e-05 on 4 procs for 1 steps with 3 atoms
0 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
1 0 15.438614 491542.52 839006.02 635621.55 0 80225.587 0 0 8 8 8 512 15.438614
Loop time of 0.000328503 on 4 procs for 1 steps with 3 atoms
Performance: 992.368 ns/day, 0.024 hours/ns, 11485.738 timesteps/s, 34.457 katom-step/s
29.0% CPU use with 4 MPI tasks x 1 OpenMP threads
Performance: 263.011 ns/day, 0.091 hours/ns, 3044.110 timesteps/s, 9.132 katom-step/s
75.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 | 4.3957e-05 | 4.67e-05 | 5.1056e-05 | 0.0 | 53.64
Pair | 0.0001419 | 0.0001471 | 0.00015891 | 0.0 | 44.78
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 1.105e-05 | 1.3822e-05 | 1.7033e-05 | 0.0 | 15.88
Output | 1.5765e-05 | 1.9045e-05 | 2.5216e-05 | 0.0 | 21.87
Modify | 2.58e-07 | 3.465e-07 | 3.81e-07 | 0.0 | 0.40
Other | | 7.151e-06 | | | 8.21
Comm | 2.2092e-05 | 2.8424e-05 | 3.667e-05 | 0.0 | 8.65
Output | 8.6275e-05 | 0.00010558 | 0.0001422 | 0.0 | 32.14
Modify | 1.093e-06 | 2.4148e-06 | 5.651e-06 | 0.0 | 0.74
Other | | 4.498e-05 | | | 13.69
Nlocal: 0.75 ave 3 max 0 min
Histogram: 3 0 0 0 0 0 0 0 0 1

View File

@ -1,37 +1,37 @@
# 2d NEMD simulation
units lj
atom_style atomic
dimension 2
units lj
atom_style atomic
dimension 2
lattice sq2 0.8442
region box prism 0 10 0 8 -0.5 0.5 0 0 0
create_box 2 box
create_atoms 1 box
mass * 1.0
lattice sq2 0.8442
region box prism 0 10 0 8 -0.5 0.5 0 0 0
create_box 2 box
create_atoms 1 box
mass * 1.0
velocity all create 1.44 87287 loop geom
velocity all create 1.44 87287 loop geom
region slice block 4 6 INF INF INF INF
set region slice type 2
region slice block 4 6 INF INF INF INF
set region slice type 2
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 1.0
pair_style lj/cut 4.0
pair_coeff * * 1.0 1.0
neighbor 0.3 bin
neigh_modify delay 0 every 1
neighbor 0.3 bin
neigh_modify delay 0 every 1
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
fix 2 all deform 1 xy erate 0.01 remap v
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
fix 2 all deform 1 xy erate 0.01 remap v
#dump 1 all custom 5000 dump.nemd id type x y z
#dump 1 all custom 500 dump.nemd id type x y z
#dump 2 all image 1000 image.*.jpg type type adiam 1.2
#dump_modify 2 pad 5
#dump 2 all image 100 image.*.jpg type type adiam 1.2
#dump_modify 2 pad 5
#dump 3 all movie 1000 movie.mpg type type adiam 1.2
#dump_modify 3 pad 5
#dump 3 all movie 100 movie.mpg type type adiam 1.2
#dump_modify 3 pad 5
thermo 1000
thermo 50
run 50000
run 1000

View File

@ -1,137 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 2d NEMD simulation
units lj
atom_style atomic
dimension 2
lattice sq2 0.8442
Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
region box prism 0 10 0 8 -0.5 0.5 0 0 0
create_box 2 box
Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 160 atoms
Time spent = 0.000332355 secs
mass * 1.0
velocity all create 1.44 87287 loop geom
region slice block 4 6 INF INF INF INF
set region slice type 2
40 settings made for type
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 1.0
neighbor 0.3 bin
neigh_modify delay 0 every 1
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
fix 2 all deform 1 xy erate 0.01 remap v
#dump 1 all custom 5000 dump.nemd id type x y z
#dump 2 all image 1000 image.*.jpg type type adiam 1.2
#dump_modify 2 pad 5
#dump 3 all movie 1000 movie.mpg type type adiam 1.2
#dump_modify 3 pad 5
thermo 1000
run 50000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.3
ghost atom cutoff = 1.3
binsize = 0.65, bins = 24 19 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton/tri
stencil: half/bin/2d/newton/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 1.44 0 0 1.431 1.2080502 189.52855
1000 1.1326992 0.25863754 0 1.3842573 6.0588079 189.52855
2000 0.99104643 0.37634349 0 1.3611959 7.8993387 189.52855
3000 1.0749743 0.21908728 0 1.2873429 6.2659517 189.52855
4000 1.0986742 0.27147022 0 1.3632777 5.8778262 189.52855
5000 1.071838 0.23413372 0 1.2992728 5.9120887 189.52855
6000 1.0013194 0.26923671 0 1.2642979 6.2802759 189.52855
7000 0.94110685 0.3224557 0 1.2576806 6.1864166 189.52855
8000 0.97391513 0.28793383 0 1.255762 6.5071893 189.52855
9000 0.95346063 0.31050593 0 1.2580074 6.3321512 189.52855
10000 0.96236447 0.26298203 0 1.2193317 6.4083918 189.52855
11000 0.9511149 0.27571527 0 1.2208857 6.0949768 189.52855
12000 1.0186935 0.18134918 0 1.1936758 5.1269128 189.52855
13000 0.96350682 0.23171507 0 1.1892 5.7367267 189.52855
14000 0.94740402 0.27357945 0 1.2150622 6.0156532 189.52855
15000 0.87951545 0.27745111 0 1.1514696 6.297405 189.52855
16000 0.93216196 0.27020559 0 1.1965415 6.6188833 189.52855
17000 0.94109936 0.24756193 0 1.1827794 5.8993088 189.52855
18000 0.97325239 0.27996398 0 1.2471335 6.1486561 189.52855
19000 1.0494686 0.27132686 0 1.3142363 6.6757065 189.52855
20000 1.0391862 0.25195457 0 1.2846459 6.143235 189.52855
21000 0.96407137 0.27359166 0 1.2316376 5.9577116 189.52855
22000 0.97954534 0.31920255 0 1.2926257 6.5320163 189.52855
23000 0.97585473 0.24154424 0 1.2112999 6.0839179 189.52855
24000 1.0522109 0.1646952 0 1.2103298 5.0388687 189.52855
25000 0.93707172 0.25655806 0 1.1877731 5.819887 189.52855
26000 0.89798775 0.26629627 0 1.1586716 6.0393558 189.52855
27000 0.93259926 0.24542428 0 1.1721948 5.3560986 189.52855
28000 0.8428223 0.20784302 0 1.0453977 4.956911 189.52855
29000 0.81653505 0.21924932 0 1.030681 5.271501 189.52855
30000 0.90157811 0.15070734 0 1.0466506 4.476142 189.52855
31000 0.86580039 0.21115151 0 1.0715407 5.0056915 189.52855
32000 0.89768096 0.28377249 0 1.1758429 5.8449711 189.52855
33000 1.0504011 0.29009694 0 1.333933 6.1319155 189.52855
34000 1.2009765 0.19137934 0 1.3848498 4.9643885 189.52855
35000 1.208705 0.27071222 0 1.4718628 6.2162389 189.52855
36000 1.2211309 0.28389521 0 1.497394 6.5090715 189.52855
37000 1.1384381 0.42795547 0 1.5592783 8.5129272 189.52855
38000 1.2198334 0.34335732 0 1.5555668 7.2940883 189.52855
39000 1.1562045 0.35783089 0 1.5068091 7.340999 189.52855
40000 1.2145924 0.28410558 0 1.4911068 6.234986 189.52855
41000 1.1240878 0.34663237 0 1.4636946 7.1720193 189.52855
42000 1.2491422 0.26815889 0 1.509494 6.1390803 189.52855
43000 1.1387564 0.33755832 0 1.4691975 7.0577597 189.52855
44000 1.0031598 0.4081807 0 1.4050708 8.2732113 189.52855
45000 1.0166213 0.29131017 0 1.3015776 6.1907807 189.52855
46000 0.96251302 0.31483519 0 1.2713325 6.6987235 189.52855
47000 0.89809294 0.30909884 0 1.2015787 6.3997583 189.52855
48000 0.86736217 0.31917648 0 1.1811176 7.1584774 189.52855
49000 0.91979053 0.21099403 0 1.1250359 5.4968259 189.52855
50000 0.87079959 0.24059333 0 1.1059504 5.6039305 189.52855
Loop time of 1.54353 on 1 procs for 50000 steps with 160 atoms
Performance: 13993916.675 tau/day, 32393.326 timesteps/s
99.7% 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.20172 | 0.20172 | 0.20172 | 0.0 | 13.07
Neigh | 0.16634 | 0.16634 | 0.16634 | 0.0 | 10.78
Comm | 0.068928 | 0.068928 | 0.068928 | 0.0 | 4.47
Output | 0.00059891 | 0.00059891 | 0.00059891 | 0.0 | 0.04
Modify | 1.0123 | 1.0123 | 1.0123 | 0.0 | 65.59
Other | | 0.09361 | | | 6.06
Nlocal: 160 ave 160 max 160 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 73 ave 73 max 73 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 353 ave 353 max 353 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 353
Ave neighs/atom = 2.20625
Neighbor list builds = 5273
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -1,137 +0,0 @@
LAMMPS (27 Nov 2018)
using 1 OpenMP thread(s) per MPI task
# 2d NEMD simulation
units lj
atom_style atomic
dimension 2
lattice sq2 0.8442
Lattice spacing in x,y,z = 1.53919 1.53919 1.53919
region box prism 0 10 0 8 -0.5 0.5 0 0 0
create_box 2 box
Created triclinic box = (0 0 -0.769595) to (15.3919 12.3135 0.769595) with tilt (0 0 0)
2 by 2 by 1 MPI processor grid
create_atoms 1 box
Created 160 atoms
Time spent = 0.000308275 secs
mass * 1.0
velocity all create 1.44 87287 loop geom
region slice block 4 6 INF INF INF INF
set region slice type 2
40 settings made for type
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 1.0
neighbor 0.3 bin
neigh_modify delay 0 every 1
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
fix 2 all deform 1 xy erate 0.01 remap v
#dump 1 all custom 5000 dump.nemd id type x y z
#dump 2 all image 1000 image.*.jpg type type adiam 1.2
#dump_modify 2 pad 5
#dump 3 all movie 1000 movie.mpg type type adiam 1.2
#dump_modify 3 pad 5
thermo 1000
run 50000
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 1.3
ghost atom cutoff = 1.3
binsize = 0.65, bins = 24 19 3
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/newton/tri
stencil: half/bin/2d/newton/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.062 | 3.062 | 3.062 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 1.44 0 0 1.431 1.2080502 189.52855
1000 1.1682693 0.24486562 0 1.4058332 5.8092954 189.52855
2000 1.0928734 0.27609364 0 1.3621366 6.2237017 189.52855
3000 1.09088 0.24816112 0 1.3322231 5.7001547 189.52855
4000 1.0110684 0.29868377 0 1.303433 7.3312319 189.52855
5000 0.91033678 0.28330698 0 1.1879542 6.1840352 189.52855
6000 0.93416074 0.22661127 0 1.1549335 5.3619735 189.52855
7000 0.93305734 0.19203739 0 1.1192631 5.2497547 189.52855
8000 0.88944438 0.19421381 0 1.0780992 4.9733446 189.52855
9000 0.86949257 0.21207681 0 1.0761351 5.4687076 189.52855
10000 0.80088203 0.24071142 0 1.0365879 5.334545 189.52855
11000 0.88899727 0.19972767 0 1.0831687 4.8832207 189.52855
12000 0.93045817 0.17883252 0 1.1034753 4.9081709 189.52855
13000 0.9724196 0.19089684 0 1.1572388 5.3460903 189.52855
14000 0.93902186 0.25513773 0 1.1882907 6.3338337 189.52855
15000 0.91879903 0.31605547 0 1.229112 6.2085671 189.52855
16000 0.9860058 0.26863362 0 1.2484769 6.514688 189.52855
17000 1.0354756 0.23445357 0 1.2634574 6.1519296 189.52855
18000 1.0244774 0.27511827 0 1.2931927 6.2230002 189.52855
19000 1.1581216 0.21558936 0 1.3664727 5.5458237 189.52855
20000 1.0552168 0.29344488 0 1.3420666 6.4880315 189.52855
21000 0.97925435 0.31583414 0 1.2889681 6.7584093 189.52855
22000 1.0112494 0.26246834 0 1.2673974 5.4112008 189.52855
23000 1.0463332 0.26049752 0 1.3002911 6.1359606 189.52855
24000 1.1130319 0.19848564 0 1.3045611 5.7088487 189.52855
25000 1.0355662 0.28048951 0 1.3095834 6.4596476 189.52855
26000 1.0823932 0.21784218 0 1.2934704 5.106334 189.52855
27000 0.99719525 0.32679678 0 1.3177596 6.7399277 189.52855
28000 1.0665868 0.25002709 0 1.3099477 6.2732557 189.52855
29000 1.0312798 0.30650087 0 1.3313351 7.0581024 189.52855
30000 1.0388277 0.29812912 0 1.3304641 6.2533028 189.52855
31000 1.0461658 0.21344416 0 1.2530714 5.3631154 189.52855
32000 1.0233681 0.27545017 0 1.2924222 5.9612896 189.52855
33000 1.1353086 0.20278244 0 1.3309953 5.7619128 189.52855
34000 1.0374791 0.29661216 0 1.327607 6.5124409 189.52855
35000 1.0752783 0.21684443 0 1.2854022 5.4759171 189.52855
36000 1.0383445 0.27068641 0 1.3025412 6.8367218 189.52855
37000 0.97341144 0.24034988 0 1.2076775 6.1335996 189.52855
38000 0.9285918 0.2737544 0 1.1965425 5.8750327 189.52855
39000 0.84869423 0.30079207 0 1.144182 6.8909326 189.52855
40000 0.88237131 0.26049171 0 1.1373482 6.3932981 189.52855
41000 0.90368591 0.21064132 0 1.1086792 5.5627232 189.52855
42000 0.93436749 0.20367569 0 1.1322034 5.1420052 189.52855
43000 0.91378588 0.26155533 0 1.16963 6.366756 189.52855
44000 0.91673608 0.25967314 0 1.1706796 6.0846334 189.52855
45000 1.0233334 0.25463562 0 1.2715732 6.0924255 189.52855
46000 0.96184729 0.35422095 0 1.3100567 7.0249175 189.52855
47000 1.134079 0.26196034 0 1.3889514 6.3476756 189.52855
48000 1.0552136 0.303812 0 1.3524305 6.6968927 189.52855
49000 1.1282184 0.2100955 0 1.3312626 5.8658659 189.52855
50000 1.0493816 0.31540438 0 1.3582274 6.6348173 189.52855
Loop time of 1.09903 on 4 procs for 50000 steps with 160 atoms
Performance: 19653623.953 tau/day, 45494.500 timesteps/s
94.4% 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.057854 | 0.05974 | 0.062726 | 0.7 | 5.44
Neigh | 0.047791 | 0.049863 | 0.054819 | 1.3 | 4.54
Comm | 0.3581 | 0.38553 | 0.39784 | 2.6 | 35.08
Output | 0.001116 | 0.0014414 | 0.0023859 | 1.4 | 0.13
Modify | 0.41102 | 0.42642 | 0.4493 | 2.3 | 38.80
Other | | 0.176 | | | 16.02
Nlocal: 40 ave 42 max 39 min
Histogram: 2 0 0 1 0 0 0 0 0 1
Nghost: 36.5 ave 37 max 36 min
Histogram: 2 0 0 0 0 0 0 0 0 2
Neighs: 87.5 ave 94 max 81 min
Histogram: 1 1 0 0 0 0 0 0 1 1
Total # of neighbors = 350
Ave neighs/atom = 2.1875
Neighbor list builds = 5276
Dangerous builds = 0
Total wall time: 0:00:01

View File

@ -0,0 +1,111 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-394-g75f86a68a7-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# 2d NEMD simulation
units lj
atom_style atomic
dimension 2
lattice sq2 0.8442
Lattice spacing in x,y,z = 1.5391903 1.5391903 1.5391903
region box prism 0 10 0 8 -0.5 0.5 0 0 0
create_box 2 box
Created triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
1 by 1 by 1 MPI processor grid
create_atoms 1 box
Created 160 atoms
using lattice units in triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
create_atoms CPU = 0.000 seconds
mass * 1.0
velocity all create 1.44 87287 loop geom
region slice block 4 6 INF INF INF INF
set region slice type 2
Setting atom values ...
40 settings made for type
pair_style lj/cut 4.0
pair_coeff * * 1.0 1.0
neighbor 0.3 bin
neigh_modify delay 0 every 1
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
fix 2 all deform 1 xy erate 0.01 remap v
#dump 1 all custom 500 dump.nemd id type x y z
#dump 2 all image 100 image.*.jpg type type adiam 1.2
#dump_modify 2 pad 5
#dump 3 all movie 100 movie.mpg type type adiam 1.2
#dump_modify 3 pad 5
thermo 50
run 1000
Generated 0 of 1 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 = 4.3
ghost atom cutoff = 4.3
binsize = 2.15, bins = 8 6 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.065 | 3.065 | 3.065 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 1.44 -2.6548731 0 -1.2238731 1.9354912 189.52855
50 0.97904822 -2.1934929 0 -1.2205637 5.0001562 189.52855
100 0.96423603 -2.1711413 0 -1.2129318 5.3040025 189.52855
150 0.96430794 -2.153062 0 -1.194781 5.3988945 189.52855
200 1.056585 -2.2379316 0 -1.1879503 5.0007883 189.52855
250 1.0183256 -2.1921531 0 -1.1801921 5.5370076 189.52855
300 0.96855552 -2.140465 0 -1.177963 5.7188412 189.52855
350 1.0115567 -2.1883272 0 -1.1830927 5.4437104 189.52855
400 0.93743103 -2.1230826 0 -1.1915105 5.7059909 189.52855
450 1.1120368 -2.3041274 0 -1.1990408 4.646396 189.52855
500 0.99611106 -2.2039016 0 -1.2140162 5.1526658 189.52855
550 1.1075519 -2.3349751 0 -1.2343453 4.0671355 189.52855
600 1.0550783 -2.3126484 0 -1.2641644 4.5423735 189.52855
650 0.98516169 -2.2664919 0 -1.2874875 4.8365475 189.52855
700 0.97899201 -2.2815136 0 -1.3086403 4.5415389 189.52855
750 1.0107776 -2.3375258 0 -1.3330656 4.3655082 189.52855
800 0.97711804 -2.3221241 0 -1.3511131 4.2153988 189.52855
850 0.8984454 -2.258341 0 -1.3655108 4.6759265 189.52855
900 0.85409237 -2.2157566 0 -1.3670024 5.0180073 189.52855
950 0.90195434 -2.2500988 0 -1.3537817 4.8189466 189.52855
1000 1.0047283 -2.3359434 0 -1.3374947 4.0788763 189.52855
Loop time of 0.0331477 on 1 procs for 1000 steps with 160 atoms
Performance: 13032596.122 tau/day, 30168.047 timesteps/s, 4.827 Matom-step/s
99.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.017584 | 0.017584 | 0.017584 | 0.0 | 53.05
Neigh | 0.0080996 | 0.0080996 | 0.0080996 | 0.0 | 24.43
Comm | 0.0010864 | 0.0010864 | 0.0010864 | 0.0 | 3.28
Output | 9.9819e-05 | 9.9819e-05 | 9.9819e-05 | 0.0 | 0.30
Modify | 0.0057062 | 0.0057062 | 0.0057062 | 0.0 | 17.21
Other | | 0.0005715 | | | 1.72
Nlocal: 160 ave 160 max 160 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 271 ave 271 max 271 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 3881 ave 3881 max 3881 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 3881
Ave neighs/atom = 24.25625
Neighbor list builds = 106
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -0,0 +1,111 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-394-g75f86a68a7-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# 2d NEMD simulation
units lj
atom_style atomic
dimension 2
lattice sq2 0.8442
Lattice spacing in x,y,z = 1.5391903 1.5391903 1.5391903
region box prism 0 10 0 8 -0.5 0.5 0 0 0
create_box 2 box
Created triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
2 by 2 by 1 MPI processor grid
create_atoms 1 box
Created 160 atoms
using lattice units in triclinic box = (0 0 -0.76959516) to (15.391903 12.313523 0.76959516) with tilt (0 0 0)
create_atoms CPU = 0.001 seconds
mass * 1.0
velocity all create 1.44 87287 loop geom
region slice block 4 6 INF INF INF INF
set region slice type 2
Setting atom values ...
40 settings made for type
pair_style lj/cut 4.0
pair_coeff * * 1.0 1.0
neighbor 0.3 bin
neigh_modify delay 0 every 1
fix 1 all nvt/sllod temp 1.0 1.0 1.0 tchain 1
fix 2 all deform 1 xy erate 0.01 remap v
#dump 1 all custom 500 dump.nemd id type x y z
#dump 2 all image 100 image.*.jpg type type adiam 1.2
#dump_modify 2 pad 5
#dump 3 all movie 100 movie.mpg type type adiam 1.2
#dump_modify 3 pad 5
thermo 50
run 1000
Generated 0 of 1 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 = 4.3
ghost atom cutoff = 4.3
binsize = 2.15, bins = 8 6 1
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair lj/cut, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton/tri
stencil: half/bin/2d/tri
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.064 | 3.064 | 3.064 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
0 1.44 -2.6548731 0 -1.2238731 1.9354912 189.52855
50 0.97904822 -2.1934929 0 -1.2205637 5.0001562 189.52855
100 0.96423603 -2.1711413 0 -1.2129318 5.3040025 189.52855
150 0.96430794 -2.153062 0 -1.194781 5.3988945 189.52855
200 1.056585 -2.2379316 0 -1.1879503 5.0007883 189.52855
250 1.0183256 -2.1921531 0 -1.1801921 5.5370076 189.52855
300 0.96855552 -2.140465 0 -1.177963 5.7188412 189.52855
350 1.0115567 -2.1883272 0 -1.1830927 5.4437104 189.52855
400 0.93743103 -2.1230826 0 -1.1915105 5.7059909 189.52855
450 1.1120368 -2.3041274 0 -1.1990408 4.646396 189.52855
500 0.99611106 -2.2039016 0 -1.2140162 5.1526658 189.52855
550 1.1075519 -2.3349751 0 -1.2343453 4.0671355 189.52855
600 1.0550783 -2.3126484 0 -1.2641644 4.5423735 189.52855
650 0.98516169 -2.2664919 0 -1.2874875 4.8365475 189.52855
700 0.97899201 -2.2815136 0 -1.3086403 4.5415389 189.52855
750 1.0107776 -2.3375258 0 -1.3330656 4.3655082 189.52855
800 0.97711804 -2.3221241 0 -1.3511131 4.2153988 189.52855
850 0.8984454 -2.258341 0 -1.3655108 4.6759265 189.52855
900 0.85409237 -2.2157566 0 -1.3670024 5.0180073 189.52855
950 0.90195434 -2.2500988 0 -1.3537817 4.8189466 189.52855
1000 1.0047283 -2.3359434 0 -1.3374947 4.0788763 189.52855
Loop time of 0.0158907 on 4 procs for 1000 steps with 160 atoms
Performance: 27185684.597 tau/day, 62929.825 timesteps/s, 10.069 Matom-step/s
98.0% 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.0044606 | 0.004562 | 0.0047619 | 0.2 | 28.71
Neigh | 0.0023154 | 0.0023979 | 0.002494 | 0.1 | 15.09
Comm | 0.0051743 | 0.0054807 | 0.0056638 | 0.3 | 34.49
Output | 7.5535e-05 | 8.9889e-05 | 0.00012988 | 0.0 | 0.57
Modify | 0.002223 | 0.0023624 | 0.0026372 | 0.3 | 14.87
Other | | 0.0009979 | | | 6.28
Nlocal: 40 ave 42 max 38 min
Histogram: 1 0 1 0 0 0 0 1 0 1
Nghost: 163.5 ave 166 max 162 min
Histogram: 2 0 0 0 0 1 0 0 0 1
Neighs: 970.25 ave 1016 max 942 min
Histogram: 1 1 0 0 1 0 0 0 0 1
Total # of neighbors = 3881
Ave neighs/atom = 24.25625
Neighbor list builds = 106
Dangerous builds = 0
Total wall time: 0:00:00

View File

@ -42,8 +42,28 @@ else()
endif()
endif()
# C++11 is required
set(CMAKE_CXX_STANDARD 11)
# we *require* C++11 without extensions but prefer C++17.
# Kokkos requires at least C++17 (currently)
if(NOT CMAKE_CXX_STANDARD)
if(cxx_std_17 IN_LIST CMAKE_CXX_COMPILE_FEATURES)
set(CMAKE_CXX_STANDARD 17)
else()
set(CMAKE_CXX_STANDARD 11)
endif()
endif()
if(CMAKE_CXX_STANDARD LESS 11)
message(FATAL_ERROR "C++ standard must be set to at least 11")
endif()
if(CMAKE_CXX_STANDARD LESS 17)
message(WARNING "Selecting C++17 standard is preferred over C++${CMAKE_CXX_STANDARD}")
endif()
if(PKG_KOKKOS AND (CMAKE_CXX_STANDARD LESS 17))
set(CMAKE_CXX_STANDARD 17)
endif()
# turn off C++17 check in lmptype.h
if(LAMMPS_CXX11)
add_compile_definitions(LAMMPS_CXX11)
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Need -restrict with Intel compilers

1
examples/streitz/NiO.ctip Symbolic link
View File

@ -0,0 +1 @@
../../potentials/NiO.ctip

1
examples/streitz/NiO.eam.fs Symbolic link
View File

@ -0,0 +1 @@
../../potentials/NiO.eam.fs

1745
examples/streitz/data.ctip Normal file

File diff suppressed because it is too large Load Diff

43
examples/streitz/in.ctip Normal file
View File

@ -0,0 +1,43 @@
#CTIP potential for NiO
#Contributing author: Gabriel Plummer (NASA)
#Initialize
units metal
atom_style charge
dimension 3
boundary p p p
#Create Structure
read_data data.ctip
#Define Charges
group type1 type 1
compute charge1 type1 property/atom q
compute q1 type1 reduce ave c_charge1
group type2 type 2
compute charge2 type2 property/atom q
compute q2 type2 reduce ave c_charge2
#Define Potential
pair_style hybrid/overlay eam/fs coul/ctip 0.30 12.0
pair_coeff * * eam/fs NiO.eam.fs Ni O
pair_coeff * * coul/ctip NiO.ctip Ni O
fix qeq all qeq/ctip 1 12.0 1.0e-8 100 coul/ctip cdamp 0.30 maxrepeat 10
#Setup
timestep 0.001
thermo 100
thermo_style custom step temp pe lx ly lz pxx pyy pzz c_q1 c_q2
#Minimization
fix relax all box/relax iso 0
minimize 1e-10 1e-10 100000 100000
unfix relax
#Dynamics
reset_timestep 0
variable T equal 1000
variable rnd equal round(random(0,999,${T}))
velocity all create ${T} ${rnd} mom yes rot yes
fix npt all npt temp ${T} ${T} 0.1 iso 0 0 1
run 1000

View File

@ -0,0 +1,186 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-269-g5a12c762f3-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
#CTIP potential for NiO
#Contributing author: Gabriel Plummer (NASA)
#Initialize
units metal
atom_style charge
dimension 3
boundary p p p
#Create Structure
read_data data.ctip
Reading data file ...
orthogonal box = (0 0 0) to (24.719478 24.719478 24.719478)
1 by 1 by 1 MPI processor grid
reading atoms ...
1728 atoms
read_data CPU = 0.004 seconds
#Define Charges
group type1 type 1
864 atoms in group type1
compute charge1 type1 property/atom q
compute q1 type1 reduce ave c_charge1
group type2 type 2
864 atoms in group type2
compute charge2 type2 property/atom q
compute q2 type2 reduce ave c_charge2
#Define Potential
pair_style hybrid/overlay eam/fs coul/ctip 0.30 12.0
pair_coeff * * eam/fs NiO.eam.fs Ni O
Reading eam/fs potential file NiO.eam.fs with DATE: 2024-04-29
pair_coeff * * coul/ctip NiO.ctip Ni O
Reading coul/ctip potential file NiO.ctip with DATE: 2024-09-11
fix qeq all qeq/ctip 1 12.0 1.0e-8 100 coul/ctip cdamp 0.30 maxrepeat 10
#Setup
timestep 0.001
thermo 100
thermo_style custom step temp pe lx ly lz pxx pyy pzz c_q1 c_q2
#Minimization
fix relax all box/relax iso 0
minimize 1e-10 1e-10 100000 100000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 14
ghost atom cutoff = 14
binsize = 7, bins = 4 4 4
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair eam/fs, perpetual, trim from (2)
attributes: half, newton on, cut 8
pair build: trim
stencil: none
bin: none
(2) pair coul/ctip, perpetual, half/full from (3)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(3) fix qeq/ctip, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies
(src/min.cpp:219)
Per MPI rank memory allocation (min/avg/max) = 55.22 | 55.22 | 55.22 Mbytes
Step Temp PotEng Lx Ly Lz Pxx Pyy Pzz c_q1 c_q2
0 0 -9633.183 24.719478 24.719478 24.719478 -1491.273 -1491.273 -1491.273 1.2374666 -1.2374666
6 0 -9633.1929 24.707505 24.707505 24.707505 0.0050470506 0.0050470504 0.0050470502 1.2410908 -1.2410908
Loop time of 1.04745 on 1 procs for 6 steps with 1728 atoms
99.8% CPU use with 1 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = energy tolerance
Energy initial, next-to-last, final =
-9633.18301850704 -9633.19294329023 -9633.19294333485
Force two-norm initial, final = 42.177998 0.00014264694
Force max component initial, final = 42.177998 0.00014260857
Final line search alpha, max atom move = 0.0079490417 1.1336014e-06
Iterations, force evaluations = 6 8
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.3534 | 0.3534 | 0.3534 | 0.0 | 33.74
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.0004205 | 0.0004205 | 0.0004205 | 0.0 | 0.04
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0.69216 | 0.69216 | 0.69216 | 0.0 | 66.08
Other | | 0.001461 | | | 0.14
Nlocal: 1728 ave 1728 max 1728 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 13897 ave 13897 max 13897 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 216000 ave 216000 max 216000 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 2.34317e+06 ave 2.34317e+06 max 2.34317e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 2343168
Ave neighs/atom = 1356
Neighbor list builds = 0
Dangerous builds = 0
unfix relax
#Dynamics
reset_timestep 0
variable T equal 1000
variable rnd equal round(random(0,999,${T}))
variable rnd equal round(random(0,999,1000))
velocity all create ${T} ${rnd} mom yes rot yes
velocity all create 1000 ${rnd} mom yes rot yes
velocity all create 1000 233 mom yes rot yes
fix npt all npt temp ${T} ${T} 0.1 iso 0 0 1
fix npt all npt temp 1000 ${T} 0.1 iso 0 0 1
fix npt all npt temp 1000 1000 0.1 iso 0 0 1
run 1000
Per MPI rank memory allocation (min/avg/max) = 54.35 | 54.35 | 54.35 Mbytes
Step Temp PotEng Lx Ly Lz Pxx Pyy Pzz c_q1 c_q2
0 1000 -9633.1929 24.707505 24.707505 24.707505 15934.991 15754.787 15735.602 1.2410908 -1.2410908
100 600.77874 -9528.0602 24.816519 24.816519 24.816519 -16709.313 -15443.072 -17750.832 1.2181988 -1.2181988
200 578.84295 -9490.9794 24.812627 24.812627 24.812627 -5879.8769 -4851.4601 -6722.107 1.2254363 -1.2254363
300 694.7973 -9478.5512 24.764285 24.764285 24.764285 14639.415 13827.989 13766.766 1.2372201 -1.2372201
400 803.93731 -9462.2542 24.866629 24.866629 24.866629 -4644.2854 -6017.2884 -7744.2567 1.2086229 -1.2086229
500 893.70492 -9441.0072 24.891756 24.891756 24.891756 -5784.2232 -8219.1644 -4187.392 1.2001224 -1.2001224
600 947.21728 -9416.7532 24.863623 24.863623 24.863623 11265.076 12952.469 11331.883 1.2115124 -1.2115124
700 1040.4874 -9409.8397 24.933859 24.933859 24.933859 -6570.5927 -8532.7457 -3284.7317 1.1902794 -1.1902794
800 1037.9366 -9398.4828 24.935138 24.935138 24.935138 -4681.8676 -2576.4998 -7160.562 1.1880324 -1.1880324
900 1049.4211 -9411.115 24.899733 24.899733 24.899733 3250.2695 8121.9271 5945.0542 1.2024086 -1.2024086
1000 964.18789 -9412.4405 24.926442 24.926442 24.926442 -7652.603 -5142.9259 -8351.8835 1.1908935 -1.1908935
Loop time of 183.932 on 1 procs for 1000 steps with 1728 atoms
Performance: 0.470 ns/day, 51.092 hours/ns, 5.437 timesteps/s, 9.395 katom-step/s
99.7% CPU use with 1 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 37.347 | 37.347 | 37.347 | 0.0 | 20.30
Neigh | 0.22667 | 0.22667 | 0.22667 | 0.0 | 0.12
Comm | 0.052514 | 0.052514 | 0.052514 | 0.0 | 0.03
Output | 0.00053967 | 0.00053967 | 0.00053967 | 0.0 | 0.00
Modify | 146.29 | 146.29 | 146.29 | 0.0 | 79.53
Other | | 0.01552 | | | 0.01
Nlocal: 1728 ave 1728 max 1728 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Nghost: 13901 ave 13901 max 13901 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Neighs: 210388 ave 210388 max 210388 min
Histogram: 1 0 0 0 0 0 0 0 0 0
FullNghs: 2.23448e+06 ave 2.23448e+06 max 2.23448e+06 min
Histogram: 1 0 0 0 0 0 0 0 0 0
Total # of neighbors = 2234476
Ave neighs/atom = 1293.0995
Neighbor list builds = 5
Dangerous builds = 0
Total wall time: 0:03:05

View File

@ -0,0 +1,186 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-269-g5a12c762f3-modified)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
#CTIP potential for NiO
#Contributing author: Gabriel Plummer (NASA)
#Initialize
units metal
atom_style charge
dimension 3
boundary p p p
#Create Structure
read_data data.ctip
Reading data file ...
orthogonal box = (0 0 0) to (24.719478 24.719478 24.719478)
1 by 2 by 2 MPI processor grid
reading atoms ...
1728 atoms
read_data CPU = 0.007 seconds
#Define Charges
group type1 type 1
864 atoms in group type1
compute charge1 type1 property/atom q
compute q1 type1 reduce ave c_charge1
group type2 type 2
864 atoms in group type2
compute charge2 type2 property/atom q
compute q2 type2 reduce ave c_charge2
#Define Potential
pair_style hybrid/overlay eam/fs coul/ctip 0.30 12.0
pair_coeff * * eam/fs NiO.eam.fs Ni O
Reading eam/fs potential file NiO.eam.fs with DATE: 2024-04-29
pair_coeff * * coul/ctip NiO.ctip Ni O
Reading coul/ctip potential file NiO.ctip with DATE: 2024-09-11
fix qeq all qeq/ctip 1 12.0 1.0e-8 100 coul/ctip cdamp 0.30 maxrepeat 10
#Setup
timestep 0.001
thermo 100
thermo_style custom step temp pe lx ly lz pxx pyy pzz c_q1 c_q2
#Minimization
fix relax all box/relax iso 0
minimize 1e-10 1e-10 100000 100000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
@Article{Gissinger24,
author = {Jacob R. Gissinger, Ilia Nikiforov, Yaser Afshar, Brendon Waters, Moon-ki Choi, Daniel S. Karls, Alexander Stukowski, Wonpil Im, Hendrik Heinz, Axel Kohlmeyer, and Ellad B. Tadmor},
title = {Type Label Framework for Bonded Force Fields in LAMMPS},
journal = {J. Phys. Chem. B},
year = 2024,
volume = 128,
number = 13,
pages = {3282-3297}
}
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 14
ghost atom cutoff = 14
binsize = 7, bins = 4 4 4
3 neighbor lists, perpetual/occasional/extra = 3 0 0
(1) pair eam/fs, perpetual, trim from (2)
attributes: half, newton on, cut 8
pair build: trim
stencil: none
bin: none
(2) pair coul/ctip, perpetual, half/full from (3)
attributes: half, newton on
pair build: halffull/newton
stencil: none
bin: none
(3) fix qeq/ctip, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
WARNING: Energy due to 1 extra global DOFs will be included in minimizer energies
(src/min.cpp:219)
Per MPI rank memory allocation (min/avg/max) = 19.71 | 19.71 | 19.71 Mbytes
Step Temp PotEng Lx Ly Lz Pxx Pyy Pzz c_q1 c_q2
0 0 -9633.183 24.719478 24.719478 24.719478 -1491.273 -1491.273 -1491.273 1.2374666 -1.2374666
6 0 -9633.1929 24.707505 24.707505 24.707505 0.0050498849 0.0050498856 0.0050498855 1.2410908 -1.2410908
Loop time of 0.288818 on 4 procs for 6 steps with 1728 atoms
99.6% CPU use with 4 MPI tasks x 1 OpenMP threads
Minimization stats:
Stopping criterion = energy tolerance
Energy initial, next-to-last, final =
-9633.18301849946 -9633.19294329957 -9633.19294333066
Force two-norm initial, final = 42.177998 0.00014286398
Force max component initial, final = 42.177998 0.00014268867
Final line search alpha, max atom move = 0.0079490643 1.1342414e-06
Iterations, force evaluations = 6 8
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 0.09401 | 0.095886 | 0.097631 | 0.4 | 33.20
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.0024298 | 0.004185 | 0.0060676 | 2.1 | 1.45
Output | 0 | 0 | 0 | 0.0 | 0.00
Modify | 0.18779 | 0.1878 | 0.18781 | 0.0 | 65.02
Other | | 0.000945 | | | 0.33
Nlocal: 432 ave 432 max 432 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Nghost: 8593 ave 8593 max 8593 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Neighs: 54000 ave 54000 max 54000 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 585792 ave 585792 max 585792 min
Histogram: 4 0 0 0 0 0 0 0 0 0
Total # of neighbors = 2343168
Ave neighs/atom = 1356
Neighbor list builds = 0
Dangerous builds = 0
unfix relax
#Dynamics
reset_timestep 0
variable T equal 1000
variable rnd equal round(random(0,999,${T}))
variable rnd equal round(random(0,999,1000))
velocity all create ${T} ${rnd} mom yes rot yes
velocity all create 1000 ${rnd} mom yes rot yes
velocity all create 1000 233 mom yes rot yes
fix npt all npt temp ${T} ${T} 0.1 iso 0 0 1
fix npt all npt temp 1000 ${T} 0.1 iso 0 0 1
fix npt all npt temp 1000 1000 0.1 iso 0 0 1
run 1000
Per MPI rank memory allocation (min/avg/max) = 18.83 | 18.83 | 18.83 Mbytes
Step Temp PotEng Lx Ly Lz Pxx Pyy Pzz c_q1 c_q2
0 1000 -9633.1929 24.707505 24.707505 24.707505 15934.991 15754.787 15735.602 1.2410908 -1.2410908
100 600.77874 -9528.0602 24.816519 24.816519 24.816519 -16709.313 -15443.072 -17750.832 1.2181988 -1.2181988
200 578.84295 -9490.9794 24.812627 24.812627 24.812627 -5879.8769 -4851.4601 -6722.107 1.2254363 -1.2254363
300 694.7973 -9478.5512 24.764285 24.764285 24.764285 14639.415 13827.989 13766.766 1.2372201 -1.2372201
400 803.93731 -9462.2542 24.866629 24.866629 24.866629 -4644.2853 -6017.2884 -7744.2567 1.2086229 -1.2086229
500 893.70492 -9441.0072 24.891756 24.891756 24.891756 -5784.2232 -8219.1644 -4187.392 1.2001224 -1.2001224
600 947.21728 -9416.7532 24.863623 24.863623 24.863623 11265.076 12952.469 11331.883 1.2115124 -1.2115124
700 1040.4874 -9409.8397 24.933859 24.933859 24.933859 -6570.5926 -8532.7456 -3284.7317 1.1902794 -1.1902794
800 1037.9366 -9398.4828 24.935138 24.935138 24.935138 -4681.8675 -2576.5001 -7160.5622 1.1880324 -1.1880324
900 1049.4211 -9411.115 24.899733 24.899733 24.899733 3250.2695 8121.9274 5945.0541 1.2024086 -1.2024086
1000 964.18789 -9412.4405 24.926442 24.926442 24.926442 -7652.603 -5142.926 -8351.8839 1.1908935 -1.1908935
Loop time of 63.5378 on 4 procs for 1000 steps with 1728 atoms
Performance: 1.360 ns/day, 17.649 hours/ns, 15.739 timesteps/s, 27.196 katom-step/s
99.5% CPU use with 4 MPI tasks x 1 OpenMP threads
MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total
---------------------------------------------------------------
Pair | 12.737 | 12.782 | 12.839 | 1.1 | 20.12
Neigh | 0.082989 | 0.083627 | 0.084898 | 0.3 | 0.13
Comm | 0.39773 | 0.45431 | 0.49896 | 5.5 | 0.72
Output | 0.00038299 | 0.0004067 | 0.00047658 | 0.0 | 0.00
Modify | 50.207 | 50.207 | 50.208 | 0.0 | 79.02
Other | | 0.01047 | | | 0.02
Nlocal: 432 ave 446 max 421 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Nghost: 8594.5 ave 8608 max 8579 min
Histogram: 1 0 0 0 0 1 1 0 0 1
Neighs: 52597 ave 54466 max 51209 min
Histogram: 1 0 1 0 1 0 0 0 0 1
FullNghs: 558619 ave 576961 max 544134 min
Histogram: 1 0 1 0 1 0 0 0 0 1
Total # of neighbors = 2234476
Ave neighs/atom = 1293.0995
Neighbor list builds = 5
Dangerous builds = 0
Total wall time: 0:01:04

View File

@ -0,0 +1,102 @@
LAMMPS (29 Aug 2024 - Development - patch_29Aug2024-512-g13c57ab9b5)
OMP_NUM_THREADS environment is not set. Defaulting to 1 thread. (src/comm.cpp:98)
using 1 OpenMP thread(s) per MPI task
# monolayer MoS2
units metal
boundary p p f
processors * * 1
atom_style atomic
read_data single_layer_MoS2.data
Reading data file ...
triclinic box = (0 0 -100) to (51.15232 44.299209 100) with tilt (25.57616 0 0)
WARNING: Triclinic box skew is large. LAMMPS will run inefficiently. (src/domain.cpp:221)
2 by 2 by 1 MPI processor grid
reading atoms ...
768 atoms
read_data CPU = 0.003 seconds
mass * 32.065 # mass of sulphur atom , uint: a.u.=1.66X10^(-27)kg
mass 1 95.94 # mass of molebdenum atom , uint: a.u.=1.66X10^(-27)kg
########################## Define potentials ################################
pair_style sw/mod maxdelcs 0.25 0.35
pair_coeff * * tmd.sw.mod Mo S S
Reading sw potential file tmd.sw.mod with DATE: 2018-03-26
#########################################################################
### Simulation settings ####
timestep 0.001
velocity all create 300.0 12345
############################
# Output
thermo 500
thermo_style custom step etotal pe ke temp
thermo_modify lost warn
###### Run molecular dynamics ######
fix thermostat all nve
run 5000
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Your simulation uses code contributions which should be cited:
- Type Label Framework: https://doi.org/10.1021/acs.jpcb.3c08419
CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE-CITE
Neighbor list info ...
update: every = 1 steps, delay = 0 steps, check = yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 5.158796
ghost atom cutoff = 5.158796
binsize = 2.579398, bins = 30 18 78
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair sw/mod, perpetual
attributes: full, newton on
pair build: full/bin/atomonly
stencil: full/bin/3d
bin: standard
Per MPI rank memory allocation (min/avg/max) = 3.165 | 3.165 | 3.165 Mbytes
Step TotEng PotEng KinEng Temp
0 -899.28605 -929.02881 29.742759 300
500 -899.28626 -922.45519 23.168929 233.69313
1000 -899.29247 -925.86547 26.573002 268.02828
1500 -899.27957 -916.95478 17.675214 178.28084
2000 -899.28171 -918.38728 19.105573 192.70814
2500 -899.28732 -922.50423 23.21691 234.17709
3000 -899.28195 -918.74112 19.459174 196.27473
3500 -899.27944 -918.03105 18.751604 189.13784
4000 -899.28397 -920.50737 21.223397 214.06955
4500 -899.28386 -919.79154 20.507685 206.85053
5000 -899.28077 -918.78947 19.508698 196.77425
Loop time of 0.595509 on 4 procs for 5000 steps with 768 atoms
Performance: 725.430 ns/day, 0.033 hours/ns, 8396.182 timesteps/s, 6.448 Matom-step/s
99.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.4603 | 0.49732 | 0.54269 | 4.2 | 83.51
Neigh | 0 | 0 | 0 | 0.0 | 0.00
Comm | 0.03293 | 0.078347 | 0.11558 | 10.6 | 13.16
Output | 0.00010079 | 0.00010935 | 0.00012827 | 0.0 | 0.02
Modify | 0.0073413 | 0.0082665 | 0.0091767 | 0.7 | 1.39
Other | | 0.01146 | | | 1.92
Nlocal: 192 ave 194 max 190 min
Histogram: 1 0 0 0 0 2 0 0 0 1
Nghost: 194 ave 196 max 192 min
Histogram: 1 0 0 0 0 2 0 0 0 1
Neighs: 0 ave 0 max 0 min
Histogram: 4 0 0 0 0 0 0 0 0 0
FullNghs: 5120 ave 5170 max 5070 min
Histogram: 1 0 0 0 0 2 0 0 0 1
Total # of neighbors = 20480
Ave neighs/atom = 26.666667
Neighbor list builds = 0
Dangerous builds = 0
Total wall time: 0:00:00

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