fixing merge conflicts
This commit is contained in:
6
.github/workflows/compile-msvc.yml
vendored
6
.github/workflows/compile-msvc.yml
vendored
@ -3,9 +3,11 @@ name: "Native Windows Compilation and Unit Tests"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ develop ]
|
branches:
|
||||||
|
- develop
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ $default-branch ]
|
branches:
|
||||||
|
- develop
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|||||||
6
.github/workflows/unittest-macos.yml
vendored
6
.github/workflows/unittest-macos.yml
vendored
@ -3,9 +3,11 @@ name: "Unittest for MacOS"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ develop ]
|
branches:
|
||||||
|
- develop
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ $default-branch ]
|
branches:
|
||||||
|
- develop
|
||||||
|
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|||||||
@ -376,6 +376,7 @@ pkg_depends(DIELECTRIC EXTRA-PAIR)
|
|||||||
pkg_depends(CG-DNA MOLECULE)
|
pkg_depends(CG-DNA MOLECULE)
|
||||||
pkg_depends(CG-DNA ASPHERE)
|
pkg_depends(CG-DNA ASPHERE)
|
||||||
pkg_depends(ELECTRODE KSPACE)
|
pkg_depends(ELECTRODE KSPACE)
|
||||||
|
pkg_depends(EXTRA-MOLECULE MOLECULE)
|
||||||
|
|
||||||
# detect if we may enable OpenMP support by default
|
# detect if we may enable OpenMP support by default
|
||||||
set(BUILD_OMP_DEFAULT OFF)
|
set(BUILD_OMP_DEFAULT OFF)
|
||||||
|
|||||||
@ -110,14 +110,16 @@ function(FetchPotentials pkgfolder potfolder)
|
|||||||
math(EXPR plusone "${blank}+1")
|
math(EXPR plusone "${blank}+1")
|
||||||
string(SUBSTRING ${line} 0 ${blank} pot)
|
string(SUBSTRING ${line} 0 ${blank} pot)
|
||||||
string(SUBSTRING ${line} ${plusone} -1 sum)
|
string(SUBSTRING ${line} ${plusone} -1 sum)
|
||||||
if(EXISTS ${LAMMPS_POTENTIALS_DIR}/${pot})
|
if(EXISTS "${LAMMPS_POTENTIALS_DIR}/${pot}")
|
||||||
file(MD5 "${LAMMPS_POTENTIALS_DIR}/${pot}" oldsum)
|
file(MD5 "${LAMMPS_POTENTIALS_DIR}/${pot}" oldsum)
|
||||||
endif()
|
endif()
|
||||||
if(NOT sum STREQUAL oldsum)
|
if(NOT sum STREQUAL oldsum)
|
||||||
message(STATUS "Checking external potential ${pot} from ${LAMMPS_POTENTIALS_URL}")
|
message(STATUS "Downloading external potential ${pot} from ${LAMMPS_POTENTIALS_URL}")
|
||||||
file(DOWNLOAD "${LAMMPS_POTENTIALS_URL}/${pot}.${sum}" "${CMAKE_BINARY_DIR}/${pot}"
|
string(MD5 TMP_EXT "${CMAKE_BINARY_DIR}")
|
||||||
|
file(DOWNLOAD "${LAMMPS_POTENTIALS_URL}/${pot}.${sum}" "${CMAKE_BINARY_DIR}/${pot}.${TMP_EXT}"
|
||||||
EXPECTED_HASH MD5=${sum} SHOW_PROGRESS)
|
EXPECTED_HASH MD5=${sum} SHOW_PROGRESS)
|
||||||
file(COPY "${CMAKE_BINARY_DIR}/${pot}" DESTINATION ${LAMMPS_POTENTIALS_DIR})
|
file(COPY "${CMAKE_BINARY_DIR}/${pot}.${TMP_EXT}" DESTINATION "${LAMMPS_POTENTIALS_DIR}")
|
||||||
|
file(RENAME "${LAMMPS_POTENTIALS_DIR}/${pot}.${TMP_EXT}" "${LAMMPS_POTENTIALS_DIR}/${pot}")
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@ -8,8 +8,8 @@ option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an al
|
|||||||
|
|
||||||
if(DOWNLOAD_MDI)
|
if(DOWNLOAD_MDI)
|
||||||
message(STATUS "MDI download requested - we will build our own")
|
message(STATUS "MDI download requested - we will build our own")
|
||||||
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.1.tar.gz" CACHE STRING "URL for MDI tarball")
|
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.11.tar.gz" CACHE STRING "URL for MDI tarball")
|
||||||
set(MDI_MD5 "f9505fccd4c79301a619f6452dad4ad9" CACHE STRING "MD5 checksum for MDI tarball")
|
set(MDI_MD5 "3791fe5081405c14aac07d4687f1cc58" CACHE STRING "MD5 checksum for MDI tarball")
|
||||||
mark_as_advanced(MDI_URL)
|
mark_as_advanced(MDI_URL)
|
||||||
mark_as_advanced(MDI_MD5)
|
mark_as_advanced(MDI_MD5)
|
||||||
enable_language(C)
|
enable_language(C)
|
||||||
|
|||||||
@ -3,6 +3,13 @@
|
|||||||
# prefer flang over gfortran, if available
|
# prefer flang over gfortran, if available
|
||||||
find_program(CLANG_FORTRAN NAMES flang gfortran f95)
|
find_program(CLANG_FORTRAN NAMES flang gfortran f95)
|
||||||
set(ENV{OMPI_FC} ${CLANG_FORTRAN})
|
set(ENV{OMPI_FC} ${CLANG_FORTRAN})
|
||||||
|
get_filename_component(_tmp_fc ${CLANG_FORTRAN} NAME)
|
||||||
|
if (_tmp_fc STREQUAL "flang")
|
||||||
|
set(FC_STD_VERSION "-std=f2018")
|
||||||
|
set(BUILD_MPI OFF)
|
||||||
|
else()
|
||||||
|
set(FC_STD_VERSION "-std=f2003")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE)
|
set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE)
|
set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE)
|
||||||
@ -10,9 +17,9 @@ set(CMAKE_Fortran_COMPILER ${CLANG_FORTRAN} CACHE STRING "" FORCE)
|
|||||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -Wextra -g" 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_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f2003" CACHE STRING "" FORCE)
|
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g ${FC_STD_VERSION}" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
|
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG ${FC_STD_VERSION}" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
|
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG ${FC_STD_VERSION}" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wextra -g" 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_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
.TH LAMMPS "1" "3 August 2022" "2022-8-3"
|
.TH LAMMPS "1" "15 September 2022" "2022-9-15"
|
||||||
.SH NAME
|
.SH NAME
|
||||||
.B LAMMPS
|
.B LAMMPS
|
||||||
\- Molecular Dynamics Simulator. Version 3 August 2022
|
\- Molecular Dynamics Simulator. Version 15 September 2022
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B lmp
|
.B lmp
|
||||||
|
|||||||
@ -1373,7 +1373,7 @@ Bibliography
|
|||||||
Zhu, Tajkhorshid, and Schulten, Biophys. J. 83, 154 (2002).
|
Zhu, Tajkhorshid, and Schulten, Biophys. J. 83, 154 (2002).
|
||||||
|
|
||||||
**(Ziegler)**
|
**(Ziegler)**
|
||||||
J.F. Ziegler, J. P. Biersack and U. Littmark, "The Stopping and Range of Ions in Matter," Volume 1, Pergamon, 1985.
|
J.F. Ziegler, J. P. Biersack and U. Littmark, "The Stopping and Range of Ions in Matter", Volume 1, Pergamon, 1985.
|
||||||
|
|
||||||
**(Zimmerman2004)**
|
**(Zimmerman2004)**
|
||||||
Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004),12:S319.
|
Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004),12:S319.
|
||||||
|
|||||||
@ -15,7 +15,9 @@
|
|||||||
General commands
|
General commands
|
||||||
================
|
================
|
||||||
|
|
||||||
An alphabetic list of general LAMMPS commands.
|
An alphabetic list of general LAMMPS commands. Note that style
|
||||||
|
commands with many variants, can be more easily accessed via the small
|
||||||
|
table above.
|
||||||
|
|
||||||
.. table_from_list::
|
.. table_from_list::
|
||||||
:columns: 5
|
:columns: 5
|
||||||
@ -61,6 +63,7 @@ An alphabetic list of general LAMMPS commands.
|
|||||||
* :doc:`kspace_modify <kspace_modify>`
|
* :doc:`kspace_modify <kspace_modify>`
|
||||||
* :doc:`kspace_style <kspace_style>`
|
* :doc:`kspace_style <kspace_style>`
|
||||||
* :doc:`label <label>`
|
* :doc:`label <label>`
|
||||||
|
* :doc:`labelmap <labelmap>`
|
||||||
* :doc:`lattice <lattice>`
|
* :doc:`lattice <lattice>`
|
||||||
* :doc:`log <log>`
|
* :doc:`log <log>`
|
||||||
* :doc:`mass <mass>`
|
* :doc:`mass <mass>`
|
||||||
|
|||||||
@ -165,6 +165,7 @@ OPT.
|
|||||||
* :doc:`orient/fcc <fix_orient>`
|
* :doc:`orient/fcc <fix_orient>`
|
||||||
* :doc:`orient/eco <fix_orient_eco>`
|
* :doc:`orient/eco <fix_orient_eco>`
|
||||||
* :doc:`pafi <fix_pafi>`
|
* :doc:`pafi <fix_pafi>`
|
||||||
|
* :doc:`pair <fix_pair>`
|
||||||
* :doc:`phonon <fix_phonon>`
|
* :doc:`phonon <fix_phonon>`
|
||||||
* :doc:`pimd <fix_pimd>`
|
* :doc:`pimd <fix_pimd>`
|
||||||
* :doc:`planeforce <fix_planeforce>`
|
* :doc:`planeforce <fix_planeforce>`
|
||||||
|
|||||||
@ -328,7 +328,7 @@ removed so this update is **required** to avoid compilation failure.
|
|||||||
Split of fix STORE into fix STORE/GLOBAL and fix STORE/PERATOM
|
Split of fix STORE into fix STORE/GLOBAL and fix STORE/PERATOM
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
.. versionchanged:: TBD
|
.. versionchanged:: 15Sep2022
|
||||||
|
|
||||||
This change splits the GLOBAL and PERATOM modes of fix STORE into two
|
This change splits the GLOBAL and PERATOM modes of fix STORE into two
|
||||||
separate fixes STORE/GLOBAL and STORE/PERATOM. There was very little
|
separate fixes STORE/GLOBAL and STORE/PERATOM. There was very little
|
||||||
@ -387,7 +387,7 @@ This change is **required** or else the code will not compile.
|
|||||||
Use Output::get_dump_by_id() instead of Output::find_dump()
|
Use Output::get_dump_by_id() instead of Output::find_dump()
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
.. versionchanged:: TBD
|
.. versionchanged:: 15Sep2022
|
||||||
|
|
||||||
The accessor function to individual dump style instances has been changed
|
The accessor function to individual dump style instances has been changed
|
||||||
from ``Output::find_dump()`` returning the index of the dump instance in
|
from ``Output::find_dump()`` returning the index of the dump instance in
|
||||||
|
|||||||
@ -175,6 +175,12 @@ and parsing files or arguments.
|
|||||||
.. doxygenfunction:: is_double
|
.. doxygenfunction:: is_double
|
||||||
:project: progguide
|
:project: progguide
|
||||||
|
|
||||||
|
.. doxygenfunction:: is_id
|
||||||
|
:project: progguide
|
||||||
|
|
||||||
|
.. doxygenfunction:: is_type
|
||||||
|
:project: progguide
|
||||||
|
|
||||||
Potential file functions
|
Potential file functions
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
@ -205,6 +211,9 @@ Argument processing
|
|||||||
.. doxygenfunction:: expand_args
|
.. doxygenfunction:: expand_args
|
||||||
:project: progguide
|
:project: progguide
|
||||||
|
|
||||||
|
.. doxygenfunction:: expand_type
|
||||||
|
:project: progguide
|
||||||
|
|
||||||
Convenience functions
|
Convenience functions
|
||||||
^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
|||||||
@ -5453,6 +5453,11 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
|
|||||||
Mass command must set a type from 1-N where N is the number of atom
|
Mass command must set a type from 1-N where N is the number of atom
|
||||||
types.
|
types.
|
||||||
|
|
||||||
|
*Invalid label2type() function syntax in variable formula*
|
||||||
|
The first argument must be a label map kind (atom, bond, angle,
|
||||||
|
dihedral, or improper) and the second argument must be a valid type
|
||||||
|
label that has been assigned to a numeric type.
|
||||||
|
|
||||||
*Invalid use of library file() function*
|
*Invalid use of library file() function*
|
||||||
This function is called through the library interface. This
|
This function is called through the library interface. This
|
||||||
error should not occur. Contact the developers if it does.
|
error should not occur. Contact the developers if it does.
|
||||||
@ -5585,9 +5590,18 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
|
|||||||
*LJ6 off not supported in pair_style buck/long/coul/long*
|
*LJ6 off not supported in pair_style buck/long/coul/long*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
|
*Label map is incomplete: all types must be assigned a unique type label*
|
||||||
|
For a given type-kind (atom types, bond types, etc.) to be written to
|
||||||
|
the data file, all associated types must be assigned a type label, and
|
||||||
|
each type label can be assigned to only one numeric type.
|
||||||
|
|
||||||
*Label wasn't found in input script*
|
*Label wasn't found in input script*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
|
*Labelmap command before simulation box is defined*
|
||||||
|
The labelmap command cannot be used before a read_data,
|
||||||
|
read_restart, or create_box command.
|
||||||
|
|
||||||
*Lattice orient vectors are not orthogonal*
|
*Lattice orient vectors are not orthogonal*
|
||||||
The three specified lattice orientation vectors must be mutually
|
The three specified lattice orientation vectors must be mutually
|
||||||
orthogonal.
|
orthogonal.
|
||||||
@ -5863,6 +5877,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
|
|||||||
*Must not have multiple fixes change box parameter ...*
|
*Must not have multiple fixes change box parameter ...*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
|
*Must read Angle Type Labels before Angles*
|
||||||
|
An Angle Type Labels section of a data file must come before the Angles section.
|
||||||
|
|
||||||
|
*Must read Atom Type Labels before Atoms*
|
||||||
|
An Atom Type Labels section of a data file must come before the Atoms section.
|
||||||
|
|
||||||
*Must read Atoms before Angles*
|
*Must read Atoms before Angles*
|
||||||
The Atoms section of a data file must come before an Angles section.
|
The Atoms section of a data file must come before an Angles section.
|
||||||
|
|
||||||
@ -5893,6 +5913,15 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
|
|||||||
The Atoms section of a data file must come before a Velocities
|
The Atoms section of a data file must come before a Velocities
|
||||||
section.
|
section.
|
||||||
|
|
||||||
|
*Must read Bond Type Labels before Bonds*
|
||||||
|
A Bond Type Labels section of a data file must come before the Bonds section.
|
||||||
|
|
||||||
|
*Must read Dihedral Type Labels before Dihedrals*
|
||||||
|
An Dihedral Type Labels section of a data file must come before the Dihedrals section.
|
||||||
|
|
||||||
|
*Must read Improper Type Labels before Impropers*
|
||||||
|
An Improper Type Labels section of a data file must come before the Impropers section.
|
||||||
|
|
||||||
*Must re-specify non-restarted pair style (xxx) after read_restart*
|
*Must re-specify non-restarted pair style (xxx) after read_restart*
|
||||||
For pair styles, that do not store their settings in a restart file,
|
For pair styles, that do not store their settings in a restart file,
|
||||||
it must be defined with a new 'pair_style' command after read_restart.
|
it must be defined with a new 'pair_style' command after read_restart.
|
||||||
@ -7849,6 +7878,10 @@ keyword to allow for additional bonds to be formed
|
|||||||
Number of local atoms times number of columns must fit in a 32-bit
|
Number of local atoms times number of columns must fit in a 32-bit
|
||||||
integer for dump.
|
integer for dump.
|
||||||
|
|
||||||
|
*Topology type exceeds system topology type*
|
||||||
|
The number of bond, angle, etc types exceeds the system setting. See
|
||||||
|
the create_box or read_data command for how to specify these values.
|
||||||
|
|
||||||
*Tree structure in joint connections*
|
*Tree structure in joint connections*
|
||||||
Fix poems cannot (yet) work with coupled bodies whose joints connect
|
Fix poems cannot (yet) work with coupled bodies whose joints connect
|
||||||
the bodies in a tree structure.
|
the bodies in a tree structure.
|
||||||
@ -7873,6 +7906,13 @@ keyword to allow for additional bonds to be formed
|
|||||||
*Two groups cannot be the same in fix spring couple*
|
*Two groups cannot be the same in fix spring couple*
|
||||||
Self-explanatory.
|
Self-explanatory.
|
||||||
|
|
||||||
|
*The %s type label %s is already in use for type %s*
|
||||||
|
For a given type-kind (atom types, bond types, etc.), a given type
|
||||||
|
label can be assigned to only one numeric type.
|
||||||
|
|
||||||
|
*Type label string %s for %s type %s is invalid*
|
||||||
|
See the labelmap command documentation for valid type labels.
|
||||||
|
|
||||||
*Unable to initialize accelerator for use*
|
*Unable to initialize accelerator for use*
|
||||||
There was a problem initializing an accelerator for the gpu package
|
There was a problem initializing an accelerator for the gpu package
|
||||||
|
|
||||||
|
|||||||
@ -34,6 +34,7 @@ Settings howto
|
|||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
Howto_2d
|
Howto_2d
|
||||||
|
Howto_type_labels
|
||||||
Howto_triclinic
|
Howto_triclinic
|
||||||
Howto_thermostat
|
Howto_thermostat
|
||||||
Howto_barostat
|
Howto_barostat
|
||||||
|
|||||||
126
doc/src/Howto_type_labels.rst
Normal file
126
doc/src/Howto_type_labels.rst
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
Type labels
|
||||||
|
===========
|
||||||
|
|
||||||
|
.. versionadded:: 15Sep2022
|
||||||
|
|
||||||
|
Each atom in LAMMPS has an associated numeric atom type. Similarly,
|
||||||
|
each bond, angle, dihedral, and improper is assigned a bond type,
|
||||||
|
angle type, and so on. The primary use of these types is to map
|
||||||
|
potential (force field) parameters to the interactions of the atom,
|
||||||
|
bond, angle, dihedral, and improper.
|
||||||
|
|
||||||
|
By default, type values are entered as integers from 1 to Ntypes
|
||||||
|
wherever they appear in LAMMPS input or output files. The total number
|
||||||
|
Ntypes for each interaction is "locked in" when the simulation box
|
||||||
|
is created.
|
||||||
|
|
||||||
|
A recent addition to LAMMPS is the option to use strings - referred
|
||||||
|
to as type labels - as an alternative. Using type labels instead of
|
||||||
|
numeric types can be advantageous in various scenarios. For example,
|
||||||
|
type labels can make inputs more readable and generic (i.e. usable through
|
||||||
|
the :doc:`include command <include>` for different systems with different
|
||||||
|
numerical values assigned to types. This generality also applies to
|
||||||
|
other inputs like data files read by :doc:`read_data <read_data>` or
|
||||||
|
molecule template files read by the :doc:`molecule <molecule>`
|
||||||
|
command. See below for a list of other commands that can use
|
||||||
|
type labels in different ways.
|
||||||
|
|
||||||
|
LAMMPS will *internally* continue to use numeric types, which means
|
||||||
|
that many previous restrictions still apply. For example, the total
|
||||||
|
number of types is locked in when creating the simulation box, and
|
||||||
|
potential parameters for each type must be provided even if not used
|
||||||
|
by any interactions.
|
||||||
|
|
||||||
|
A collection of type labels for all type-kinds (atom types, bond types,
|
||||||
|
etc.) is stored as a "label map" which is simply a list of numeric types
|
||||||
|
and their associated type labels. Within a type-kind, each type label
|
||||||
|
must be unique. It can be assigned to only one numeric type. To read
|
||||||
|
and write type labels to data files for a given type-kind, *all*
|
||||||
|
associated numeric types need have a type label assigned. Partial
|
||||||
|
maps can be saved with the :doc:`labelmap write <labelmap>` command
|
||||||
|
and read back with the :doc:`include <include>` command.
|
||||||
|
|
||||||
|
Valid type labels can contain most ASCII characters, but cannot start
|
||||||
|
with a number, a '#', or a '*'. Also, labels must not contain whitespace
|
||||||
|
characters. When using the :doc:`labelmap command <labelmap>` in the
|
||||||
|
LAMMPS input, if certain characters appear in the type label, such as
|
||||||
|
the single (') or double (") quote or the '#' character, the label
|
||||||
|
must be put in either double, single, or triple (""") quotes. Triple
|
||||||
|
quotes allow for the most generic type label strings, but they require
|
||||||
|
to have a leading and trailing blank space. When defining type labels
|
||||||
|
the blanks will be ignored. Example:
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
labelmap angle 1 """ C1'-C2"-C3# """
|
||||||
|
|
||||||
|
This command will map the string ```C1'-C2"-C3#``` to the angle type 1.
|
||||||
|
|
||||||
|
There are two ways to define label maps. One is via the :doc:`labelmap
|
||||||
|
<labelmap>` command. The other is via the :doc:`read_data <read_data>`
|
||||||
|
command. A data file can have sections such as *Atom Type Labels*, *Bond
|
||||||
|
Type Labels*, etc., which assign type labels to numeric types. The
|
||||||
|
label map can be written out to data files by the :doc:`write_data
|
||||||
|
<write_data>` command. This map is also written to and read from
|
||||||
|
restart files, by the :doc:`write_restart <write_restart>` and
|
||||||
|
:doc:`read_restart <read_restart>` commands.
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
Use of type labels in LAMMPS input or output
|
||||||
|
""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
Many LAMMPS input script commands that take a numeric type as an
|
||||||
|
argument can use the associated type label instead. If a type label
|
||||||
|
is not defined for a particular numeric type, only its numeric type
|
||||||
|
can be used.
|
||||||
|
|
||||||
|
This example assigns labels to the atom types, and then uses the type
|
||||||
|
labels to redefine the pair coefficients.
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
pair_coeff 1 2 1.0 1.0 # numeric types
|
||||||
|
labelmap atom 1 C 2 H
|
||||||
|
pair_coeff C H 1.0 1.0 # type labels
|
||||||
|
|
||||||
|
Adding support for type labels to various commands is an ongoing
|
||||||
|
project. If an input script command (or a section in a file read by a
|
||||||
|
command) allows substituting a type label for a numeric type argument,
|
||||||
|
it will be explicitly mentioned in that command's documentation page.
|
||||||
|
|
||||||
|
As a temporary measure, input script commands can take advantage of
|
||||||
|
variables and how they can be expanded during processing of the input.
|
||||||
|
The variables can use functions that will translate type label strings
|
||||||
|
to their respective number as defined in the current label map. See the
|
||||||
|
:doc:`variable <variable>` command for details.
|
||||||
|
|
||||||
|
For example, here is how the pair_coeff command could be used with
|
||||||
|
type labels if it did not yet support them, either with an explicit
|
||||||
|
variable command or an implicit variable used in the pair_coeff
|
||||||
|
command.
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
labelmap atom 1 C 2 H
|
||||||
|
variable atom1 equal label2type(atom,C)
|
||||||
|
variable atom2 equal label2type(atom,H)
|
||||||
|
pair_coeff ${atom1} ${atom2} 1.0 1.0
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
labelmap atom 1 C 2 H
|
||||||
|
pair_coeff $(label2type(atom,C)) $(label2type(atom,H)) 80.0 1.2
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
Commands that can use label types
|
||||||
|
"""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
|
Any workflow that involves reading multiple data files, molecule
|
||||||
|
templates or a combination of the two can be streamlined by using type
|
||||||
|
labels instead of numeric types, because types are automatically synced
|
||||||
|
between the files. The creation of simulation-ready reaction templates
|
||||||
|
for :doc:`fix bond/react <fix_bond_react>` is much simpler when using
|
||||||
|
type labels, and results in templates that can be used without
|
||||||
|
modification in multiple simulations or different systems.
|
||||||
@ -276,7 +276,7 @@ the barostat as outlined in:
|
|||||||
|
|
||||||
N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that
|
N. J. H. Dunn and W. G. Noid, "Bottom-up coarse-grained models that
|
||||||
accurately describe the structure, pressure, and compressibility of
|
accurately describe the structure, pressure, and compressibility of
|
||||||
molecular liquids," J. Chem. Phys. 143, 243148 (2015).
|
molecular liquids", J. Chem. Phys. 143, 243148 (2015).
|
||||||
|
|
||||||
**Authors:** Nicholas J. H. Dunn and Michael R. DeLyser (The
|
**Authors:** Nicholas J. H. Dunn and Michael R. DeLyser (The
|
||||||
Pennsylvania State University)
|
Pennsylvania State University)
|
||||||
@ -652,7 +652,7 @@ short-range or long-range interactions.
|
|||||||
* :doc:`pair_style lj/cut/dipole/cut <pair_dipole>`
|
* :doc:`pair_style lj/cut/dipole/cut <pair_dipole>`
|
||||||
* :doc:`pair_style lj/cut/dipole/long <pair_dipole>`
|
* :doc:`pair_style lj/cut/dipole/long <pair_dipole>`
|
||||||
* :doc:`pair_style lj/long/dipole/long <pair_dipole>`
|
* :doc:`pair_style lj/long/dipole/long <pair_dipole>`
|
||||||
* :doc: `angle_style dipole <angle_dipole>`
|
* :doc:`angle_style dipole <angle_dipole>`
|
||||||
* examples/dipole
|
* examples/dipole
|
||||||
|
|
||||||
----------
|
----------
|
||||||
@ -932,6 +932,10 @@ EXTRA-MOLECULE package
|
|||||||
|
|
||||||
Additional bond, angle, dihedral, and improper styles that are less commonly used.
|
Additional bond, angle, dihedral, and improper styles that are less commonly used.
|
||||||
|
|
||||||
|
**Install:**
|
||||||
|
|
||||||
|
To use this package, also the :ref:`MOLECULE <PKG-MOLECULE>` package needs to be installed.
|
||||||
|
|
||||||
**Supporting info:**
|
**Supporting info:**
|
||||||
|
|
||||||
* src/EXTRA-MOLECULE: filenames -> commands
|
* src/EXTRA-MOLECULE: filenames -> commands
|
||||||
@ -1404,7 +1408,7 @@ This package has :ref:`specific installation instructions <machdyn>` on the :doc
|
|||||||
|
|
||||||
* src/MACHDYN: filenames -> commands
|
* src/MACHDYN: filenames -> commands
|
||||||
* src/MACHDYN/README
|
* src/MACHDYN/README
|
||||||
* doc/PDF/MACHDYN_LAMMPS_userguide.pdf
|
* `doc/PDF/MACHDYN_LAMMPS_userguide.pdf <PDF/MACHDYN_LAMMPS_userguide.pdf>`_
|
||||||
* examples/PACKAGES/machdyn
|
* examples/PACKAGES/machdyn
|
||||||
* https://www.lammps.org/movies.html#smd
|
* https://www.lammps.org/movies.html#smd
|
||||||
|
|
||||||
@ -2703,7 +2707,7 @@ Dynamics, Ernst Mach Institute, Germany).
|
|||||||
|
|
||||||
* src/SPH: filenames -> commands
|
* src/SPH: filenames -> commands
|
||||||
* src/SPH/README
|
* src/SPH/README
|
||||||
* doc/PDF/SPH_LAMMPS_userguide.pdf
|
* `doc/PDF/SPH_LAMMPS_userguide.pdf <PDF/SPH_LAMMPS_userguide.pdf>`_
|
||||||
* examples/PACKAGES/sph
|
* examples/PACKAGES/sph
|
||||||
* https://www.lammps.org/movies.html#sph
|
* https://www.lammps.org/movies.html#sph
|
||||||
|
|
||||||
|
|||||||
@ -495,7 +495,7 @@ run:
|
|||||||
write_dump group-ID dumpstyle dumpfile arg1 arg2 ...
|
write_dump group-ID dumpstyle dumpfile arg1 arg2 ...
|
||||||
|
|
||||||
Note that the specified restartfile and dumpfile names may contain
|
Note that the specified restartfile and dumpfile names may contain
|
||||||
wild-card characters ("\*","%") as explained on the
|
wild-card characters ("\*" or "%") as explained on the
|
||||||
:doc:`read_restart <read_restart>` and :doc:`write_dump <write_dump>` doc
|
:doc:`read_restart <read_restart>` and :doc:`write_dump <write_dump>` doc
|
||||||
pages. The use of "%" means that a parallel restart file and/or
|
pages. The use of "%" means that a parallel restart file and/or
|
||||||
parallel dump file can be read and/or written. Note that a filename
|
parallel dump file can be read and/or written. Note that a filename
|
||||||
|
|||||||
@ -536,6 +536,6 @@ supported.
|
|||||||
References
|
References
|
||||||
""""""""""
|
""""""""""
|
||||||
|
|
||||||
* Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakkar, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS," in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann.
|
* Brown, W.M., Carrillo, J.-M.Y., Mishra, B., Gavhane, N., Thakkar, F.M., De Kraker, A.R., Yamada, M., Ang, J.A., Plimpton, S.J., "Optimizing Classical Molecular Dynamics in LAMMPS", in Intel Xeon Phi Processor High Performance Programming: Knights Landing Edition, J. Jeffers, J. Reinders, A. Sodani, Eds. Morgan Kaufmann.
|
||||||
* Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. `Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. <http://dl.acm.org/citation.cfm?id=3014915>`_ 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95).
|
* Brown, W. M., Semin, A., Hebenstreit, M., Khvostov, S., Raman, K., Plimpton, S.J. `Increasing Molecular Dynamics Simulation Rates with an 8-Fold Increase in Electrical Power Efficiency. <http://dl.acm.org/citation.cfm?id=3014915>`_ 2016 High Performance Computing, Networking, Storage and Analysis, SC16: International Conference (pp. 82-95).
|
||||||
* Brown, W.M., Carrillo, J.-M.Y., Gavhane, N., Thakkar, F.M., Plimpton, S.J. Optimizing Legacy Molecular Dynamics Software with Directive-Based Offload. Computer Physics Communications. 2015. 195: p. 95-101.
|
* Brown, W.M., Carrillo, J.-M.Y., Gavhane, N., Thakkar, F.M., Plimpton, S.J. Optimizing Legacy Molecular Dynamics Software with Directive-Based Offload. Computer Physics Communications. 2015. 195: p. 95-101.
|
||||||
|
|||||||
@ -6,7 +6,7 @@ page. The accelerated styles take the same arguments and should
|
|||||||
produce the same results, except for round-off and precision issues.
|
produce the same results, except for round-off and precision issues.
|
||||||
|
|
||||||
These accelerated styles are part of the GPU, INTEL, KOKKOS,
|
These accelerated styles are part of the GPU, INTEL, KOKKOS,
|
||||||
OPENMP and OPT packages, respectively. They are only enabled if
|
OPENMP, and OPT packages, respectively. They are only enabled if
|
||||||
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
|
LAMMPS was built with those packages. See the :doc:`Build package <Build_package>` page for more info.
|
||||||
|
|
||||||
You can specify the accelerated styles explicitly in your input script
|
You can specify the accelerated styles explicitly in your input script
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Syntax
|
|||||||
|
|
||||||
angle_coeff N args
|
angle_coeff N args
|
||||||
|
|
||||||
* N = angle type (see asterisk form below)
|
* N = numeric angle type (see asterisk form below), or type label
|
||||||
* args = coefficients for one or more angle types
|
* args = coefficients for one or more angle types
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
@ -22,6 +22,9 @@ Examples
|
|||||||
angle_coeff * 5.0
|
angle_coeff * 5.0
|
||||||
angle_coeff 2*10 5.0
|
angle_coeff 2*10 5.0
|
||||||
|
|
||||||
|
labelmap angle 1 hydroxyl
|
||||||
|
angle_coeff hydroxyl 300.0 107.0
|
||||||
|
|
||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
@ -30,18 +33,24 @@ The number and meaning of the coefficients depends on the angle style.
|
|||||||
Angle coefficients can also be set in the data file read by the
|
Angle coefficients can also be set in the data file read by the
|
||||||
:doc:`read_data <read_data>` command or in a restart file.
|
:doc:`read_data <read_data>` command or in a restart file.
|
||||||
|
|
||||||
N can be specified in one of two ways. An explicit numeric value can
|
:math:`N` can be specified in one of two ways. An explicit numeric
|
||||||
be used, as in the first example above. Or a wild-card asterisk can be
|
value can be used, as in the first example above. Or :math:`N` can be a
|
||||||
used to set the coefficients for multiple angle types. This takes the
|
type label, which is an alphanumeric string defined by the
|
||||||
form "\*" or "\*n" or "n\*" or "m\*n". If N = the number of angle types,
|
:doc:`labelmap <labelmap>` command or in a section of a data file read
|
||||||
then an asterisk with no numeric values means all types from 1 to N. A
|
by the :doc:`read_data <read_data>` command.
|
||||||
leading asterisk means all types from 1 to n (inclusive). A trailing
|
|
||||||
asterisk means all types from n to N (inclusive). A middle asterisk
|
|
||||||
means all types from m to n (inclusive).
|
|
||||||
|
|
||||||
Note that using an :doc:`angle_coeff <angle_coeff>` command can override a previous setting
|
For numeric values only, a wild-card asterisk can be used to set the
|
||||||
for the same angle type. For example, these commands set the coeffs
|
coefficients for multiple angle types. This takes the form "\*" or
|
||||||
for all angle types, then overwrite the coeffs for just angle type 2:
|
"\*n" or "n\*" or "m\*n". If :math:`N` is the number of angle types,
|
||||||
|
then an asterisk with no numeric values means all types from 1 to
|
||||||
|
:math:`N`. A leading asterisk means all types from 1 to n (inclusive).
|
||||||
|
A trailing asterisk means all types from n to :math:`N` (inclusive). A
|
||||||
|
middle asterisk means all types from m to n (inclusive).
|
||||||
|
|
||||||
|
Note that using an :doc:`angle_coeff <angle_coeff>` command can
|
||||||
|
override a previous setting for the same angle type. For example,
|
||||||
|
these commands set the coeffs for all angle types, then overwrite the
|
||||||
|
coeffs for just angle type 2:
|
||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
@ -49,11 +58,11 @@ for all angle types, then overwrite the coeffs for just angle type 2:
|
|||||||
angle_coeff 2 50.0 107.0
|
angle_coeff 2 50.0 107.0
|
||||||
|
|
||||||
A line in a data file that specifies angle coefficients uses the exact
|
A line in a data file that specifies angle coefficients uses the exact
|
||||||
same format as the arguments of the :doc:`angle_coeff <angle_coeff>` command in an input
|
same format as the arguments of the :doc:`angle_coeff <angle_coeff>`
|
||||||
script, except that wild-card asterisks should not be used since
|
command in an input script, except that wild-card asterisks should not
|
||||||
coefficients for all N types must be listed in the file. For example,
|
be used since coefficients for all :math:`N` types must be listed in the
|
||||||
under the "Angle Coeffs" section of a data file, the line that
|
file. For example, under the "Angle Coeffs" section of a data file, the
|
||||||
corresponds to the first example above would be listed as
|
line that corresponds to the first example above would be listed as
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
@ -61,15 +70,14 @@ corresponds to the first example above would be listed as
|
|||||||
|
|
||||||
The :doc:`angle_style class2 <angle_class2>` is an exception to this
|
The :doc:`angle_style class2 <angle_class2>` is an exception to this
|
||||||
rule, in that an additional argument is used in the input script to
|
rule, in that an additional argument is used in the input script to
|
||||||
allow specification of the cross-term coefficients. See its
|
allow specification of the cross-term coefficients. See its doc page
|
||||||
doc page for details.
|
for details.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
The list of all angle styles defined in LAMMPS is given on the
|
The list of all angle styles defined in LAMMPS is given on the
|
||||||
:doc:`angle_style <angle_style>` doc page. They are also listed in more
|
:doc:`angle_style <angle_style>` doc page. They are also listed in more
|
||||||
compact form on the :ref:`Commands angle <angle>` doc
|
compact form on the :ref:`Commands angle <angle>` doc page.
|
||||||
page.
|
|
||||||
|
|
||||||
On either of those pages, click on the style to display the formula it
|
On either of those pages, click on the style to display the formula it
|
||||||
computes and its coefficients as specified by the associated
|
computes and its coefficients as specified by the associated
|
||||||
|
|||||||
@ -24,7 +24,7 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
.. versionadded:: TBD
|
.. versionadded:: 15Sep2022
|
||||||
|
|
||||||
The *mesocnt* angle style uses the potential
|
The *mesocnt* angle style uses the potential
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Syntax
|
|||||||
|
|
||||||
bond_coeff N args
|
bond_coeff N args
|
||||||
|
|
||||||
* N = bond type (see asterisk form below)
|
* N = numeric bond type (see asterisk form below), or type label
|
||||||
* args = coefficients for one or more bond types
|
* args = coefficients for one or more bond types
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
@ -21,7 +21,10 @@ Examples
|
|||||||
bond_coeff 5 80.0 1.2
|
bond_coeff 5 80.0 1.2
|
||||||
bond_coeff * 30.0 1.5 1.0 1.0
|
bond_coeff * 30.0 1.5 1.0 1.0
|
||||||
bond_coeff 1*4 30.0 1.5 1.0 1.0
|
bond_coeff 1*4 30.0 1.5 1.0 1.0
|
||||||
bond_coeff 1 harmonic 200.0 1.0
|
bond_coeff 1 harmonic 200.0 1.0 (for bond_style hybrid)
|
||||||
|
|
||||||
|
labelmap bond 5 carbonyl
|
||||||
|
bond_coeff carbonyl 80.0 1.2
|
||||||
|
|
||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
@ -31,14 +34,19 @@ The number and meaning of the coefficients depends on the bond style.
|
|||||||
Bond coefficients can also be set in the data file read by the
|
Bond coefficients can also be set in the data file read by the
|
||||||
:doc:`read_data <read_data>` command or in a restart file.
|
:doc:`read_data <read_data>` command or in a restart file.
|
||||||
|
|
||||||
N can be specified in one of two ways. An explicit numeric value can
|
:math:`N` can be specified in one of several ways. An explicit numeric
|
||||||
be used, as in the first example above. Or a wild-card asterisk can be
|
value can be used, as in the first example above. Or :math:`N` can be a
|
||||||
used to set the coefficients for multiple bond types. This takes the
|
type label, which is an alphanumeric string defined by the
|
||||||
form "\*" or "\*n" or "n\*" or "m\*n". If N = the number of bond types,
|
:doc:`labelmap <labelmap>` command or in a section of a data file read
|
||||||
then an asterisk with no numeric values means all types from 1 to N. A
|
by the :doc:`read_data <read_data>` command.
|
||||||
|
|
||||||
|
For numeric values only, a wild-card asterisk can be used to set the
|
||||||
|
coefficients for multiple bond types. This takes the form "\*" or "\*n"
|
||||||
|
or "n\*" or "m\*n". If :math:`N` is the number of bond types, then an
|
||||||
|
asterisk with no numeric values means all types from 1 to :math:`N`. A
|
||||||
leading asterisk means all types from 1 to n (inclusive). A trailing
|
leading asterisk means all types from 1 to n (inclusive). A trailing
|
||||||
asterisk means all types from n to N (inclusive). A middle asterisk
|
asterisk means all types from n to :math:`N` (inclusive). A middle
|
||||||
means all types from m to n (inclusive).
|
asterisk means all types from m to n (inclusive).
|
||||||
|
|
||||||
Note that using a bond_coeff command can override a previous setting
|
Note that using a bond_coeff command can override a previous setting
|
||||||
for the same bond type. For example, these commands set the coeffs
|
for the same bond type. For example, these commands set the coeffs
|
||||||
@ -52,8 +60,8 @@ for all bond types, then overwrite the coeffs for just bond type 2:
|
|||||||
A line in a data file that specifies bond coefficients uses the exact
|
A line in a data file that specifies bond coefficients uses the exact
|
||||||
same format as the arguments of the bond_coeff command in an input
|
same format as the arguments of the bond_coeff command in an input
|
||||||
script, except that wild-card asterisks should not be used since
|
script, except that wild-card asterisks should not be used since
|
||||||
coefficients for all N types must be listed in the file. For example,
|
coefficients for all :math:`N` types must be listed in the file. For
|
||||||
under the "Bond Coeffs" section of a data file, the line that
|
example, under the "Bond Coeffs" section of a data file, the line that
|
||||||
corresponds to the first example above would be listed as
|
corresponds to the first example above would be listed as
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|||||||
@ -22,7 +22,7 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
.. versionadded:: TBD
|
.. versionadded:: 15Sep2022
|
||||||
|
|
||||||
The *mesocnt* bond style is a wrapper for the :doc:`harmonic
|
The *mesocnt* bond style is a wrapper for the :doc:`harmonic
|
||||||
<bond_harmonic>` style, and uses the potential
|
<bond_harmonic>` style, and uses the potential
|
||||||
|
|||||||
@ -56,6 +56,7 @@ Commands
|
|||||||
kspace_modify
|
kspace_modify
|
||||||
kspace_style
|
kspace_style
|
||||||
label
|
label
|
||||||
|
labelmap
|
||||||
lattice
|
lattice
|
||||||
log
|
log
|
||||||
mass
|
mass
|
||||||
|
|||||||
@ -78,7 +78,7 @@ These values can be accessed by any command that uses global array
|
|||||||
values from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
values from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
mass-velocity-distance :doc:`units <units>`.
|
mass-velocity-distance :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -182,7 +182,7 @@ by any command that uses global values from a compute as input. See
|
|||||||
the :doc:`Howto output <Howto_output>` doc page for an overview of
|
the :doc:`Howto output <Howto_output>` doc page for an overview of
|
||||||
LAMMPS output options.
|
LAMMPS output options.
|
||||||
|
|
||||||
The array values calculated by this compute are all "extensive."
|
The array values calculated by this compute are all "extensive".
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|||||||
@ -49,7 +49,7 @@ accessed by indices 1--3 by any command that uses global vector values
|
|||||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The vector values are "intensive." The vector values will be in
|
The vector values are "intensive". The vector values will be in
|
||||||
distance :doc:`units <units>`.
|
distance :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -77,7 +77,7 @@ values can be accessed by any command that uses global array values
|
|||||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
distance :doc:`units <units>`.
|
distance :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -54,7 +54,7 @@ the computed dipole moment and a global vector of length 3 with the
|
|||||||
dipole vector. See the :doc:`Howto output <Howto_output>` page for
|
dipole vector. See the :doc:`Howto output <Howto_output>` page for
|
||||||
an overview of LAMMPS output options.
|
an overview of LAMMPS output options.
|
||||||
|
|
||||||
The computed values are "intensive." The array values will be in
|
The computed values are "intensive". The array values will be in
|
||||||
dipole units (i.e., charge :doc:`units <units>` times distance
|
dipole units (i.e., charge :doc:`units <units>` times distance
|
||||||
:doc:`units <units>`).
|
:doc:`units <units>`).
|
||||||
|
|
||||||
|
|||||||
@ -86,7 +86,7 @@ chunk. These values can be accessed by any command that uses global
|
|||||||
array values from a compute as input. See the :doc:`Howto output
|
array values from a compute as input. See the :doc:`Howto output
|
||||||
<Howto_output>` page for an overview of LAMMPS output options.
|
<Howto_output>` page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
dipole units (i.e., charge :doc:`units <units>` times distance
|
dipole units (i.e., charge :doc:`units <units>` times distance
|
||||||
:doc:`units <units>`).
|
:doc:`units <units>`).
|
||||||
|
|
||||||
|
|||||||
@ -48,7 +48,7 @@ used by any command that uses a global scalar value from a compute as
|
|||||||
input. See the :doc:`Howto output <Howto_output>` page for an
|
input. See the :doc:`Howto output <Howto_output>` page for an
|
||||||
overview of LAMMPS output options.
|
overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "extensive." The
|
The scalar value calculated by this compute is "extensive". The
|
||||||
scalar value will be in energy :doc:`units <units>`.
|
scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -48,7 +48,7 @@ of all the rigid bodies). This value can be used by any command that
|
|||||||
uses a global scalar value from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
uses a global scalar value from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "extensive." The
|
The scalar value calculated by this compute is "extensive". The
|
||||||
scalar value will be in energy :doc:`units <units>`.
|
scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -44,7 +44,7 @@ used by any command that uses a global scalar value from a compute as
|
|||||||
input. See the :doc:`Howto output <Howto_output>` page for an
|
input. See the :doc:`Howto output <Howto_output>` page for an
|
||||||
overview of LAMMPS output options.
|
overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "extensive." The
|
The scalar value calculated by this compute is "extensive". The
|
||||||
scalar value will be in energy :doc:`units <units>`.
|
scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -40,7 +40,7 @@ further than the threshold distance.
|
|||||||
If the system is undergoing significant center-of-mass motion,
|
If the system is undergoing significant center-of-mass motion,
|
||||||
due to thermal motion, an external force, or an initial net momentum,
|
due to thermal motion, an external force, or an initial net momentum,
|
||||||
then this compute will not be able to distinguish that motion from
|
then this compute will not be able to distinguish that motion from
|
||||||
local atom displacements and may generate "false positives."
|
local atom displacements and may generate "false positives".
|
||||||
|
|
||||||
Output info
|
Output info
|
||||||
"""""""""""
|
"""""""""""
|
||||||
@ -50,7 +50,7 @@ used by any command that uses a global scalar value from a compute as
|
|||||||
input. See the :doc:`Howto output <Howto_output>` page for an
|
input. See the :doc:`Howto output <Howto_output>` page for an
|
||||||
overview of LAMMPS output options.
|
overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
scalar value will be a 0 or 1 as explained above.
|
scalar value will be a 0 or 1 as explained above.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -299,7 +299,7 @@ These output results can be used by any command that uses a global
|
|||||||
scalar or vector from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
scalar or vector from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options. For example, the computed values can be averaged using :doc:`fix ave/time <fix_ave_time>`.
|
options. For example, the computed values can be averaged using :doc:`fix ave/time <fix_ave_time>`.
|
||||||
|
|
||||||
The values calculated by this compute are "extensive."
|
The values calculated by this compute are "extensive".
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|||||||
@ -140,7 +140,7 @@ vector values from a compute as input. See the
|
|||||||
options.
|
options.
|
||||||
|
|
||||||
Both the scalar and vector values calculated by this compute are
|
Both the scalar and vector values calculated by this compute are
|
||||||
"extensive." The scalar value will be in energy :doc:`units <units>`.
|
"extensive". The scalar value will be in energy :doc:`units <units>`.
|
||||||
The vector values will be in force :doc:`units <units>`.
|
The vector values will be in force :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -69,7 +69,7 @@ vector values from a compute as input. See the :doc:`Howto output <Howto_output
|
|||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar and vector values calculated by this compute are
|
The scalar and vector values calculated by this compute are
|
||||||
"intensive." The scalar and vector values will be in distance and
|
"intensive". The scalar and vector values will be in distance and
|
||||||
distance\ :math:`^2` :doc:`units <units>`, respectively.
|
distance\ :math:`^2` :doc:`units <units>`, respectively.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -78,7 +78,7 @@ vector values from a compute as input. See the
|
|||||||
options.
|
options.
|
||||||
|
|
||||||
The vector values calculated by this compute are
|
The vector values calculated by this compute are
|
||||||
"intensive." The first five vector values will be in
|
"intensive". The first five vector values will be in
|
||||||
distance\ :math:`2` :doc:`units <units>` while the sixth one is dimensionless.
|
distance\ :math:`2` :doc:`units <units>` while the sixth one is dimensionless.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -80,7 +80,7 @@ See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
|||||||
output options.
|
output options.
|
||||||
|
|
||||||
The array calculated by this compute is
|
The array calculated by this compute is
|
||||||
"intensive." The first five columns will be in
|
"intensive". The first five columns will be in
|
||||||
distance\ :math:`^2` :doc:`units <units>` while the sixth one is dimensionless.
|
distance\ :math:`^2` :doc:`units <units>` while the sixth one is dimensionless.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -142,14 +142,14 @@ command that uses global vector values from a compute as input.
|
|||||||
See the :doc:`Howto output <Howto_output>` documentation for an overview of
|
See the :doc:`Howto output <Howto_output>` documentation for an overview of
|
||||||
LAMMPS output options.
|
LAMMPS output options.
|
||||||
|
|
||||||
The vector values calculated by this compute are "extensive," meaning
|
The vector values calculated by this compute are "extensive", meaning
|
||||||
they scale with the number of atoms in the simulation. They can be
|
they scale with the number of atoms in the simulation. They can be
|
||||||
divided by the appropriate volume to get a flux, which would then be
|
divided by the appropriate volume to get a flux, which would then be an
|
||||||
an "intensive" value, meaning independent of the number of atoms in
|
"intensive" value, meaning independent of the number of atoms in the
|
||||||
the simulation. Note that if the compute is "all," then the
|
simulation. Note that if the compute group is "all", then the
|
||||||
appropriate volume to divide by is the simulation box volume.
|
appropriate volume to divide by is the simulation box volume. However,
|
||||||
However, if a sub-group is used, it should be the volume containing
|
if a group with a subset of atoms is used, it should be the volume
|
||||||
those atoms.
|
containing those atoms.
|
||||||
|
|
||||||
The vector values will be in energy\*velocity :doc:`units <units>`. Once
|
The vector values will be in energy\*velocity :doc:`units <units>`. Once
|
||||||
divided by a volume the units will be that of flux, namely
|
divided by a volume the units will be that of flux, namely
|
||||||
|
|||||||
@ -172,7 +172,7 @@ requested as arguments to the command (the potential energy, pressure and/or hea
|
|||||||
capacity). The elements of the vector can be accessed by indices 1--n by any
|
capacity). The elements of the vector can be accessed by indices 1--n by any
|
||||||
command that uses global vector values as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output options.
|
command that uses global vector values as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The vector values calculated by this compute are "extensive." The
|
The vector values calculated by this compute are "extensive". The
|
||||||
scalar value will be in energy :doc:`units <units>`.
|
scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -84,7 +84,7 @@ by any command that uses global array values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
mass\*distance\ :math:`^2` :doc:`units <units>`.
|
mass\*distance\ :math:`^2` :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -52,7 +52,7 @@ can be used by any command that uses a global scalar value from a
|
|||||||
compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
||||||
for an overview of LAMMPS output options.
|
for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "extensive." The
|
The scalar value calculated by this compute is "extensive". The
|
||||||
scalar value will be in energy :doc:`units <units>`.
|
scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -48,7 +48,7 @@ global scalar value from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "extensive." The
|
The scalar value calculated by this compute is "extensive". The
|
||||||
scalar value will be in energy :doc:`units <units>`.
|
scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -37,7 +37,7 @@ length 3. This value can be used by any command that uses a global
|
|||||||
vector value from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
vector value from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The vector value calculated by this compute is "extensive." The vector
|
The vector value calculated by this compute is "extensive". The vector
|
||||||
value will be in mass\*velocity :doc:`units <units>`.
|
value will be in mass\*velocity :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -105,7 +105,7 @@ accessed by indices 1--4 by any command that uses global vector values
|
|||||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The vector values are "intensive." The vector values will be in
|
The vector values are "intensive". The vector values will be in
|
||||||
distance\ :math:`^2` :doc:`units <units>`.
|
distance\ :math:`^2` :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -121,7 +121,7 @@ These values can be accessed by any command that uses global array values from
|
|||||||
a compute as input. See the :doc:`Howto output <Howto_output>` page for an
|
a compute as input. See the :doc:`Howto output <Howto_output>` page for an
|
||||||
overview of LAMMPS output options.
|
overview of LAMMPS output options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
distance\ :math:`^2` :doc:`units <units>`.
|
distance\ :math:`^2` :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -67,7 +67,7 @@ accessed by indices 1--3 by any command that uses global vector values
|
|||||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The vector values are "intensive." The first vector value will be in
|
The vector values are "intensive". The first vector value will be in
|
||||||
distance\ :math:`^2` :doc:`units <units>`, the second is in
|
distance\ :math:`^2` :doc:`units <units>`, the second is in
|
||||||
distance\ :math:`^4` units, and the third is dimensionless.
|
distance\ :math:`^4` units, and the third is dimensionless.
|
||||||
|
|
||||||
|
|||||||
@ -84,7 +84,7 @@ These values can be accessed by any command that uses global array
|
|||||||
values from a compute as input. See the :doc:`Howto output <Howto_output>`
|
values from a compute as input. See the :doc:`Howto output <Howto_output>`
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
velocity/distance :doc:`units <units>`.
|
velocity/distance :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -93,7 +93,9 @@ Restrictions
|
|||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|
||||||
:doc:`compute pe <compute_pe>`, :doc:`compute bond <compute_bond>`
|
:doc:`compute pe <compute_pe>`, :doc:`compute bond <compute_bond>`,
|
||||||
|
:doc:`fix pair <fix_pair>`
|
||||||
|
|
||||||
|
|
||||||
Default
|
Default
|
||||||
"""""""
|
"""""""
|
||||||
|
|||||||
@ -27,7 +27,7 @@ Description
|
|||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Define a computation that calculates the potential energy of the
|
Define a computation that calculates the potential energy of the
|
||||||
entire system of atoms. The specified group must be "all." See the
|
entire system of atoms. The specified group must be "all". See the
|
||||||
:doc:`compute pe/atom <compute_pe_atom>` command if you want per-atom
|
:doc:`compute pe/atom <compute_pe_atom>` command if you want per-atom
|
||||||
energies. These per-atom values could be summed for a group of atoms
|
energies. These per-atom values could be summed for a group of atoms
|
||||||
via the :doc:`compute reduce <compute_reduce>` command.
|
via the :doc:`compute reduce <compute_reduce>` command.
|
||||||
@ -73,7 +73,7 @@ value can be used by any command that uses a global scalar value from
|
|||||||
a compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
a compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
||||||
for an overview of LAMMPS output options.
|
for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "extensive." The
|
The scalar value calculated by this compute is "extensive". The
|
||||||
scalar value will be in energy :doc:`units <units>`.
|
scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -73,5 +73,5 @@ none
|
|||||||
.. _Mitchell:
|
.. _Mitchell:
|
||||||
|
|
||||||
**(Mitchell)** Mitchell, "A non-local, ordinary-state-based
|
**(Mitchell)** Mitchell, "A non-local, ordinary-state-based
|
||||||
viscoelasticity model for peridynamics," Sandia National Lab Report,
|
viscoelasticity model for peridynamics", Sandia National Lab Report,
|
||||||
8064:1-28 (2011).
|
8064:1-28 (2011).
|
||||||
|
|||||||
@ -29,7 +29,7 @@ Description
|
|||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Define a computation that calculates the pressure of the entire system
|
Define a computation that calculates the pressure of the entire system
|
||||||
of atoms. The specified group must be "all." See the
|
of atoms. The specified group must be "all". See the
|
||||||
:doc:`compute stress/atom <compute_stress_atom>` command if you want per-atom
|
:doc:`compute stress/atom <compute_stress_atom>` command if you want per-atom
|
||||||
pressure (stress). These per-atom values could be summed for a group
|
pressure (stress). These per-atom values could be summed for a group
|
||||||
of atoms via the :doc:`compute reduce <compute_reduce>` command.
|
of atoms via the :doc:`compute reduce <compute_reduce>` command.
|
||||||
@ -115,7 +115,7 @@ LAMMPS starts up, as if this command were in the input script:
|
|||||||
compute thermo_press all pressure thermo_temp
|
compute thermo_press all pressure thermo_temp
|
||||||
|
|
||||||
where thermo_temp is the ID of a similarly defined compute of style
|
where thermo_temp is the ID of a similarly defined compute of style
|
||||||
"temp." See the :doc:`thermo_style <thermo_style>` command for more details.
|
"temp". See the :doc:`thermo_style <thermo_style>` command for more details.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ The ordering of values in the symmetric pressure tensor is as follows:
|
|||||||
:math:`p_{xz},` :math:`p_{yz}.`
|
:math:`p_{xz},` :math:`p_{yz}.`
|
||||||
|
|
||||||
The scalar and vector values calculated by this compute are
|
The scalar and vector values calculated by this compute are
|
||||||
"intensive." The scalar and vector values will be in pressure
|
"intensive". The scalar and vector values will be in pressure
|
||||||
:doc:`units <units>`.
|
:doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -167,7 +167,7 @@ triangular particles and define the corner points of each triangle.
|
|||||||
In addition, the various per-atom quantities listed above for specific
|
In addition, the various per-atom quantities listed above for specific
|
||||||
packages are only accessible by this command.
|
packages are only accessible by this command.
|
||||||
|
|
||||||
.. versionchanged:: TBD
|
.. versionchanged:: 15Sep2022
|
||||||
|
|
||||||
The *espin* property was previously called *spin*.
|
The *espin* property was previously called *spin*.
|
||||||
|
|
||||||
@ -198,8 +198,8 @@ Related commands
|
|||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|
||||||
:doc:`dump custom <dump>`, :doc:`compute reduce <compute_reduce>`,
|
:doc:`dump custom <dump>`, :doc:`compute reduce <compute_reduce>`,
|
||||||
:doc::doc:`fix ave/atom <fix_ave_atom>`, :doc:`fix ave/chunk
|
:doc:`fix ave/atom <fix_ave_atom>`, :doc:`fix ave/chunk <fix_ave_chunk>`,
|
||||||
:doc:<fix_ave_chunk>`, `fix property/atom <fix_property_atom>`
|
:doc:`fix property/atom <fix_property_atom>`
|
||||||
|
|
||||||
Default
|
Default
|
||||||
"""""""
|
"""""""
|
||||||
|
|||||||
@ -110,7 +110,7 @@ accessed by any command that uses global values from a compute as
|
|||||||
input. See the :doc:`Howto output <Howto_output>` page for an
|
input. See the :doc:`Howto output <Howto_output>` page for an
|
||||||
overview of LAMMPS output options.
|
overview of LAMMPS output options.
|
||||||
|
|
||||||
The vector or array values are "intensive." The values will be
|
The vector or array values are "intensive". The values will be
|
||||||
unitless or in the units discussed above.
|
unitless or in the units discussed above.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -164,7 +164,7 @@ the type of the bond, from 1 to Nbtypes = # of bond types. The number
|
|||||||
of bond types is defined in the data file read by the
|
of bond types is defined in the data file read by the
|
||||||
:doc:`read_data <read_data>` command.
|
:doc:`read_data <read_data>` command.
|
||||||
|
|
||||||
The attributes that start with "a," "d," and "i" refer to similar values
|
The attributes that start with "a", "d", and "i" refer to similar values
|
||||||
for :doc:`angles <angle_style>`, :doc:`dihedrals <dihedral_style>`, and
|
for :doc:`angles <angle_style>`, :doc:`dihedrals <dihedral_style>`, and
|
||||||
:doc:`impropers <improper_style>`.
|
:doc:`impropers <improper_style>`.
|
||||||
|
|
||||||
|
|||||||
@ -166,7 +166,7 @@ by any command that uses a global values from a compute as input. See
|
|||||||
the :doc:`Howto output <Howto_output>` page for an overview of
|
the :doc:`Howto output <Howto_output>` page for an overview of
|
||||||
LAMMPS output options.
|
LAMMPS output options.
|
||||||
|
|
||||||
The array values calculated by this compute are all "intensive."
|
The array values calculated by this compute are all "intensive".
|
||||||
|
|
||||||
The first column of array values will be in distance
|
The first column of array values will be in distance
|
||||||
:doc:`units <units>`. The :math:`g(r)` columns of array values are normalized
|
:doc:`units <units>`. The :math:`g(r)` columns of array values are normalized
|
||||||
|
|||||||
@ -128,7 +128,7 @@ inputs to this fix by using the
|
|||||||
:doc:`compute property/atom <compute_property_atom>` command and then specifying
|
:doc:`compute property/atom <compute_property_atom>` command and then specifying
|
||||||
an input value from that compute.
|
an input value from that compute.
|
||||||
|
|
||||||
If a value begins with "c\_," a compute ID must follow which has been
|
If a value begins with "c\_", a compute ID must follow which has been
|
||||||
previously defined in the input script. Computes can generate
|
previously defined in the input script. Computes can generate
|
||||||
per-atom or local quantities. See the individual
|
per-atom or local quantities. See the individual
|
||||||
:doc:`compute <compute>` page for details. If no bracketed integer
|
:doc:`compute <compute>` page for details. If no bracketed integer
|
||||||
@ -139,7 +139,7 @@ compute styles and :doc:`add them to LAMMPS <Modify>`. See the
|
|||||||
discussion above for how :math:`I` can be specified with a wildcard asterisk
|
discussion above for how :math:`I` can be specified with a wildcard asterisk
|
||||||
to effectively specify multiple values.
|
to effectively specify multiple values.
|
||||||
|
|
||||||
If a value begins with "f\_," a fix ID must follow which has been
|
If a value begins with "f\_", a fix ID must follow which has been
|
||||||
previously defined in the input script. Fixes can generate per-atom
|
previously defined in the input script. Fixes can generate per-atom
|
||||||
or local quantities. See the individual :doc:`fix <fix>` page for
|
or local quantities. See the individual :doc:`fix <fix>` page for
|
||||||
details. Note that some fixes only produce their values on certain
|
details. Note that some fixes only produce their values on certain
|
||||||
@ -152,7 +152,7 @@ is used. Users can also write code for their own fix style and
|
|||||||
:math:`I` can be specified with a wildcard asterisk to effectively specify
|
:math:`I` can be specified with a wildcard asterisk to effectively specify
|
||||||
multiple values.
|
multiple values.
|
||||||
|
|
||||||
If a value begins with "v\_," a variable name must follow which has
|
If a value begins with "v\_", a variable name must follow which has
|
||||||
been previously defined in the input script. It must be an
|
been previously defined in the input script. It must be an
|
||||||
:doc:`atom-style variable <variable>`. Atom-style variables can
|
:doc:`atom-style variable <variable>`. Atom-style variables can
|
||||||
reference thermodynamic keywords and various per-atom attributes, or
|
reference thermodynamic keywords and various per-atom attributes, or
|
||||||
@ -197,7 +197,7 @@ global vector of values, the length of which is equal to the number of
|
|||||||
inputs specified.
|
inputs specified.
|
||||||
|
|
||||||
As discussed below, for the *sum*, *sumabs*, and *sumsq* modes, the value(s)
|
As discussed below, for the *sum*, *sumabs*, and *sumsq* modes, the value(s)
|
||||||
produced by this compute are all "extensive," meaning their value
|
produced by this compute are all "extensive", meaning their value
|
||||||
scales linearly with the number of atoms involved. If normalized
|
scales linearly with the number of atoms involved. If normalized
|
||||||
values are desired, this compute can be accessed by the
|
values are desired, this compute can be accessed by the
|
||||||
:doc:`thermo_style custom <thermo_style>` command with
|
:doc:`thermo_style custom <thermo_style>` command with
|
||||||
@ -218,9 +218,9 @@ compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
|||||||
for an overview of LAMMPS output options.
|
for an overview of LAMMPS output options.
|
||||||
|
|
||||||
All the scalar or vector values calculated by this compute are
|
All the scalar or vector values calculated by this compute are
|
||||||
"intensive," except when the *sum*, *sumabs*, or *sumsq* modes are used on
|
"intensive", except when the *sum*, *sumabs*, or *sumsq* modes are used on
|
||||||
per-atom or local vectors, in which case the calculated values are
|
per-atom or local vectors, in which case the calculated values are
|
||||||
"extensive."
|
"extensive".
|
||||||
|
|
||||||
The scalar or vector values will be in whatever :doc:`units <units>` the
|
The scalar or vector values will be in whatever :doc:`units <units>` the
|
||||||
quantities being reduced are in.
|
quantities being reduced are in.
|
||||||
|
|||||||
@ -102,7 +102,7 @@ The commands below can be added to the examples/in.micelle script.
|
|||||||
|
|
||||||
Imagine a collection of polymer chains or small molecules with
|
Imagine a collection of polymer chains or small molecules with
|
||||||
hydrophobic end groups. All the hydrophobic (HP) atoms are assigned
|
hydrophobic end groups. All the hydrophobic (HP) atoms are assigned
|
||||||
to a group called "phobic."
|
to a group called "phobic".
|
||||||
|
|
||||||
These commands will assign a unique cluster ID to all HP atoms within
|
These commands will assign a unique cluster ID to all HP atoms within
|
||||||
a specified distance of each other. A cluster will contain all HP
|
a specified distance of each other. A cluster will contain all HP
|
||||||
|
|||||||
@ -222,6 +222,26 @@ result. I.e. the last 2 columns of thermo output will be the same:
|
|||||||
<pair_modify>` command, since those are contributions to the global
|
<pair_modify>` command, since those are contributions to the global
|
||||||
system pressure.
|
system pressure.
|
||||||
|
|
||||||
|
The compute stress/atom can be used in a number of ways. Here is an
|
||||||
|
example to compute a 1-d pressure profile in z-direction across the
|
||||||
|
complete simulation box. You will need to adjust the number of bins and the
|
||||||
|
selections for time averaging to your specific simulation. This assumes
|
||||||
|
that the dimensions of the simulation cell does not change.
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
# set number of bins
|
||||||
|
variable nbins index 20
|
||||||
|
variable fraction equal 1.0/v_nbins
|
||||||
|
# define bins as chunks
|
||||||
|
compute cchunk all chunk/atom bin/1d x lower ${fraction} units reduced
|
||||||
|
compute stress all stress/atom NULL
|
||||||
|
# apply conversion to pressure early since we have no variable style for processing chunks
|
||||||
|
variable press atom -(c_stress[1]+c_stress[2]+c_stress[3])/(3.0*vol*${fraction})
|
||||||
|
compute binpress all reduce/chunk cchunk sum v_press
|
||||||
|
fix avg all ave/time 10 40 400 c_binpress mode vector file ave_stress.txt
|
||||||
|
|
||||||
|
|
||||||
Output info
|
Output info
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
|
|||||||
@ -114,7 +114,7 @@ This array can be output with :doc:`fix ave/time <fix_ave_time>`,
|
|||||||
compute p all stress/cartesian x 0.1
|
compute p all stress/cartesian x 0.1
|
||||||
fix 2 all ave/time 100 1 100 c_p[*] file dump_p.out mode vector
|
fix 2 all ave/time 100 1 100 c_p[*] file dump_p.out mode vector
|
||||||
|
|
||||||
The values calculated by this compute are "intensive." The stress
|
The values calculated by this compute are "intensive". The stress
|
||||||
values will be in pressure :doc:`units <units>`. The number density
|
values will be in pressure :doc:`units <units>`. The number density
|
||||||
values are in inverse volume :doc:`units <units>`.
|
values are in inverse volume :doc:`units <units>`.
|
||||||
|
|
||||||
|
|||||||
@ -182,7 +182,7 @@ Output info
|
|||||||
from individual atoms in both groups).
|
from individual atoms in both groups).
|
||||||
|
|
||||||
Both the scalar and vector values calculated by this compute are
|
Both the scalar and vector values calculated by this compute are
|
||||||
"extensive."
|
"extensive".
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|||||||
@ -91,7 +91,7 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive".
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
|
|||||||
@ -134,8 +134,8 @@ vector values from a compute as input.
|
|||||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||||
output options.
|
output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -117,8 +117,8 @@ vector values from a compute as input.
|
|||||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||||
output options.
|
output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`.
|
The scalar value will be in temperature :doc:`units <units>`.
|
||||||
The vector values will be in energy :doc:`units <units>`.
|
The vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -242,8 +242,8 @@ can be accessed by any command that uses global array values from a
|
|||||||
compute as input. Again, see the :doc:`Howto output <Howto_output>` doc
|
compute as input. Again, see the :doc:`Howto output <Howto_output>` doc
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive." The array values are "intensive."
|
vector values are "extensive". The array values are "intensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`. The array values
|
vector values will be in energy :doc:`units <units>`. The array values
|
||||||
|
|||||||
@ -87,8 +87,8 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`.
|
The scalar value will be in temperature :doc:`units <units>`.
|
||||||
The vector values will be in energy :doc:`units <units>`.
|
The vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -101,8 +101,8 @@ vector of length 6 (KE tensor), which can be accessed by indices 1--6.
|
|||||||
These values can be used by any command that uses global scalar or
|
These values can be used by any command that uses global scalar or
|
||||||
vector values from a compute as input.
|
vector values from a compute as input.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -134,7 +134,7 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive".
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`.
|
The scalar value will be in temperature :doc:`units <units>`.
|
||||||
|
|||||||
@ -53,8 +53,8 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -67,8 +67,8 @@ vector values from a compute as input. See the
|
|||||||
options.
|
options.
|
||||||
|
|
||||||
Both the scalar value and the first two values of the vector
|
Both the scalar value and the first two values of the vector
|
||||||
calculated by this compute are "intensive." The other four vector values
|
calculated by this compute are "intensive". The other four vector values
|
||||||
are "extensive."
|
are "extensive".
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|||||||
@ -88,9 +88,9 @@ thermostatting.
|
|||||||
Output info
|
Output info
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive," meaning it
|
The scalar value calculated by this compute is "intensive", meaning it
|
||||||
is independent of the number of atoms in the simulation. The vector
|
is independent of the number of atoms in the simulation. The vector
|
||||||
values are "extensive," meaning they scale with the number of atoms in
|
values are "extensive", meaning they scale with the number of atoms in
|
||||||
the simulation.
|
the simulation.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -94,8 +94,8 @@ vector values from a compute as input.
|
|||||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||||
output options.
|
output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -183,8 +183,8 @@ vector or array values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive." The array values are "intensive."
|
vector values are "extensive". The array values are "intensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`. The first column
|
vector values will be in energy :doc:`units <units>`. The first column
|
||||||
|
|||||||
@ -106,8 +106,8 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -99,8 +99,8 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`.
|
The scalar value will be in temperature :doc:`units <units>`.
|
||||||
The vector values will be in energy :doc:`units <units>`.
|
The vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -46,8 +46,8 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -86,8 +86,8 @@ vector values from a compute as input. See the
|
|||||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options.
|
options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -122,8 +122,8 @@ vector values from a compute as input.
|
|||||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||||
output options.
|
output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
vector values are "extensive."
|
vector values are "extensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`. The
|
The scalar value will be in temperature :doc:`units <units>`. The
|
||||||
vector values will be in energy :doc:`units <units>`.
|
vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -125,7 +125,7 @@ value can be used by any command that uses a global scalar value from
|
|||||||
a compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
a compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
||||||
for an overview of LAMMPS output options.
|
for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "extensive."
|
The scalar value calculated by this compute is "extensive".
|
||||||
|
|
||||||
The scalar value will be in energy :doc:`units <units>`.
|
The scalar value will be in energy :doc:`units <units>`.
|
||||||
|
|
||||||
|
|||||||
@ -83,7 +83,7 @@ array values from a compute as input.
|
|||||||
See the :doc:`Howto output <Howto_output>` doc page
|
See the :doc:`Howto output <Howto_output>` doc page
|
||||||
for an overview of LAMMPS output options.
|
for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
force-distance :doc:`units <units>`.
|
force-distance :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -66,7 +66,7 @@ accessed by indices 1--4 by any command that uses global vector values
|
|||||||
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
from a compute as input. See the :doc:`Howto output <Howto_output>` doc
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The vector values are "intensive." The vector values will be in
|
The vector values are "intensive". The vector values will be in
|
||||||
velocity\ :math:`^2` :doc:`units <units>`.
|
velocity\ :math:`^2` :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -69,7 +69,7 @@ each chunk. These values can be accessed by any command that uses global array
|
|||||||
values from a compute as input. See the :doc:`Howto output <Howto_output>`
|
values from a compute as input. See the :doc:`Howto output <Howto_output>`
|
||||||
page for an overview of LAMMPS output options.
|
page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The array values are "intensive." The array values will be in
|
The array values are "intensive". The array values will be in
|
||||||
velocity :doc:`units <units>`.
|
velocity :doc:`units <units>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
|
|||||||
@ -134,9 +134,9 @@ These values can be used by any command that uses global scalar or
|
|||||||
vector values from a compute as input.
|
vector values from a compute as input.
|
||||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output options.
|
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output options.
|
||||||
|
|
||||||
The scalar value calculated by this compute is "intensive." The
|
The scalar value calculated by this compute is "intensive". The
|
||||||
first six elements of vector values are "extensive,"
|
first six elements of vector values are "extensive",
|
||||||
and the seventh element of vector values is "intensive."
|
and the seventh element of vector values is "intensive".
|
||||||
|
|
||||||
The scalar value will be in temperature :doc:`units <units>`.
|
The scalar value will be in temperature :doc:`units <units>`.
|
||||||
The first six elements of vector values will be in energy :doc:`units <units>`.
|
The first six elements of vector values will be in energy :doc:`units <units>`.
|
||||||
|
|||||||
@ -198,7 +198,7 @@ Voronoi volume, the second is the neighbor count, as described above
|
|||||||
(read above for the output data in case the *occupation* keyword is
|
(read above for the output data in case the *occupation* keyword is
|
||||||
specified). These values can be accessed by any command that uses
|
specified). These values can be accessed by any command that uses
|
||||||
per-atom values from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
per-atom values from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||||
options. If the *peratom* keyword is set to "no," the per-atom array
|
options. If the *peratom* keyword is set to "no", the per-atom array
|
||||||
is still created, but it is not accessible.
|
is still created, but it is not accessible.
|
||||||
|
|
||||||
If the *edge_histo* keyword is used, then this compute generates a
|
If the *edge_histo* keyword is used, then this compute generates a
|
||||||
|
|||||||
@ -219,7 +219,7 @@ The array can be accessed by any command that uses global values from
|
|||||||
a compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
a compute as input. See the :doc:`Howto output <Howto_output>` doc page
|
||||||
for an overview of LAMMPS output options.
|
for an overview of LAMMPS output options.
|
||||||
|
|
||||||
All array values calculated by this compute are "intensive."
|
All array values calculated by this compute are "intensive".
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|||||||
@ -95,7 +95,7 @@ typically created via the :doc:`create_box <create_box>` command.
|
|||||||
Before using this command, a lattice must also be defined using the
|
Before using this command, a lattice must also be defined using the
|
||||||
:doc:`lattice <lattice>` command, unless you specify the *single* style
|
:doc:`lattice <lattice>` command, unless you specify the *single* style
|
||||||
with units = box or the *random* style. For the remainder of this doc
|
with units = box or the *random* style. For the remainder of this doc
|
||||||
page, a created atom or molecule is referred to as a "particle."
|
page, a created atom or molecule is referred to as a "particle".
|
||||||
|
|
||||||
If created particles are individual atoms, they are assigned the
|
If created particles are individual atoms, they are assigned the
|
||||||
specified atom *type*, though this can be altered via the *basis*
|
specified atom *type*, though this can be altered via the *basis*
|
||||||
@ -352,7 +352,7 @@ As an example, these commands can be used in a 2d simulation, to
|
|||||||
create a sinusoidal surface. Note that the surface is "rough" due to
|
create a sinusoidal surface. Note that the surface is "rough" due to
|
||||||
individual lattice points being "above" or "below" the mathematical
|
individual lattice points being "above" or "below" the mathematical
|
||||||
expression for the sinusoidal curve. If a finer lattice were used,
|
expression for the sinusoidal curve. If a finer lattice were used,
|
||||||
the sinusoid would appear to be "smoother." Also note the use of the
|
the sinusoid would appear to be "smoother". Also note the use of the
|
||||||
"xlat" and "ylat" :doc:`thermo_style <thermo_style>` keywords, which
|
"xlat" and "ylat" :doc:`thermo_style <thermo_style>` keywords, which
|
||||||
converts lattice spacings to distance.
|
converts lattice spacings to distance.
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ Syntax
|
|||||||
|
|
||||||
dihedral_coeff N args
|
dihedral_coeff N args
|
||||||
|
|
||||||
* N = dihedral type (see asterisk form below)
|
* N = numeric dihedral type (see asterisk form below) or alphanumeric type label
|
||||||
* args = coefficients for one or more dihedral types
|
* args = coefficients for one or more dihedral types
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
@ -22,26 +22,35 @@ Examples
|
|||||||
dihedral_coeff * 80.0 1 3 0.5
|
dihedral_coeff * 80.0 1 3 0.5
|
||||||
dihedral_coeff 2* 80.0 1 3 0.5
|
dihedral_coeff 2* 80.0 1 3 0.5
|
||||||
|
|
||||||
|
labelmap dihedral 1 backbone
|
||||||
|
dihedral_coeff backbone 80.0 1 3
|
||||||
|
|
||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Specify the dihedral force field coefficients for one or more dihedral types.
|
Specify the dihedral force field coefficients for one or more dihedral
|
||||||
The number and meaning of the coefficients depends on the dihedral style.
|
types. The number and meaning of the coefficients depends on the
|
||||||
Dihedral coefficients can also be set in the data file read by the
|
dihedral style. Dihedral coefficients can also be set in the data file
|
||||||
:doc:`read_data <read_data>` command or in a restart file.
|
read by the :doc:`read_data <read_data>` command or in a restart file.
|
||||||
|
|
||||||
N can be specified in one of two ways. An explicit numeric value can
|
:math:`N` can be specified in one of two ways. An explicit numeric
|
||||||
be used, as in the first example above. Or a wild-card asterisk can be
|
value can be used, as in the first example above. Or :math:`N` can be
|
||||||
used to set the coefficients for multiple dihedral types. This takes the
|
an alphanumeric type label, which is a string defined by the
|
||||||
form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is the number of dihedral
|
:doc:`labelmap <labelmap>` command or in a corresponding section of a
|
||||||
types, then an asterisk with no numeric values means all types from 1 to
|
data file read by the :doc:`read_data <read_data>` command.
|
||||||
:math:`N`. A leading asterisk means all types from 1 to n (inclusive). A
|
|
||||||
trailing asterisk means all types from m to N (inclusive). A middle asterisk
|
For numeric values only, a wild-card asterisk can be used to set the
|
||||||
means all types from m to n (inclusive).
|
coefficients for multiple dihedral types. This takes the form "\*" or
|
||||||
|
"\*n" or "n\*" or "m\*n". If :math:`N` is the number of dihedral types,
|
||||||
|
then an asterisk with no numeric values means all types from 1 to
|
||||||
|
:math:`N`. A leading asterisk means all types from 1 to n (inclusive).
|
||||||
|
A trailing asterisk means all types from n to :math:`N` (inclusive). A
|
||||||
|
middle asterisk means all types from m to n (inclusive).
|
||||||
|
|
||||||
Note that using a dihedral_coeff command can override a previous setting
|
Note that using a dihedral_coeff command can override a previous setting
|
||||||
for the same dihedral type. For example, these commands set the coeffs
|
for the same dihedral type. For example, these commands set the coeffs
|
||||||
for all dihedral types, then overwrite the coeffs for just dihedral type 2:
|
for all dihedral types, then overwrite the coeffs for just dihedral type
|
||||||
|
2:
|
||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
|
|||||||
296
doc/src/dump.rst
296
doc/src/dump.rst
@ -55,24 +55,24 @@ dump command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
dump ID group-ID style N file args
|
dump ID group-ID style N file args
|
||||||
|
|
||||||
* ID = user-assigned name for the dump
|
* ID = user-assigned name for the dump
|
||||||
* group-ID = ID of the group of atoms to be dumped
|
* group-ID = ID of the group of atoms to be dumped
|
||||||
* style = *atom* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *dcd* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml*
|
* style = *atom* or *atom/adios* or *atom/gz* or *atom/zstd* or *atom/mpiio* or *cfg* or *cfg/gz* or *cfg/zstd* or *cfg/mpiio* or *cfg/uef* or *custom* or *custom/gz* or *custom/zstd* or *custom/mpiio* or *custom/adios* or *dcd* or *h5md* or *image* or *local* or *local/gz* or *local/zstd* or *molfile* or *movie* or *netcdf* or *netcdf/mpiio* or *vtk* or *xtc* or *xyz* or *xyz/gz* or *xyz/zstd* or *xyz/mpiio* or *yaml*
|
||||||
* N = dump every this many timesteps
|
* N = dump on timesteps which are multiples of N
|
||||||
* file = name of file to write dump info to
|
* file = name of file to write dump info to
|
||||||
* args = list of arguments for a particular style
|
* args = list of arguments for a particular style
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*atom* args = none
|
*atom* args = none
|
||||||
|
*atom/adios* args = none, discussed on :doc:`dump atom/adios <dump_adios>` page
|
||||||
*atom/gz* args = none
|
*atom/gz* args = none
|
||||||
*atom/zstd* args = none
|
*atom/zstd* args = none
|
||||||
*atom/mpiio* args = none
|
*atom/mpiio* args = none
|
||||||
*atom/adios* args = none, discussed on :doc:`dump atom/adios <dump_adios>` page
|
|
||||||
*cfg* args = same as *custom* args, see below
|
*cfg* args = same as *custom* args, see below
|
||||||
*cfg/gz* args = same as *custom* args, see below
|
*cfg/gz* args = same as *custom* args, see below
|
||||||
*cfg/zstd* args = same as *custom* args, see below
|
*cfg/zstd* args = same as *custom* args, see below
|
||||||
@ -176,14 +176,15 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Dump a snapshot of atom quantities to one or more files every :math:`N`
|
Dump a snapshot of atom quantities to one or more files once every
|
||||||
timesteps in one of several styles. The *image* and *movie* styles are
|
:math:`N` timesteps in one of several styles. The *image* and *movie*
|
||||||
the exception: the *image* style renders a JPG, PNG, or PPM image file
|
styles are the exception: the *image* style renders a JPG, PNG, or PPM
|
||||||
of the atom configuration every :math:`N` timesteps while the *movie* style
|
image file of the atom configuration every :math:`N` timesteps while
|
||||||
combines and compresses them into a movie file; both are discussed in
|
the *movie* style combines and compresses them into a movie file; both
|
||||||
detail on the :doc:`dump image <dump_image>` page. The timesteps on
|
are discussed in detail on the :doc:`dump image <dump_image>` page.
|
||||||
which dump output is written can also be controlled by a variable.
|
The timesteps on which dump output is written can also be controlled
|
||||||
See the :doc:`dump_modify every <dump_modify>` command.
|
by a variable. See the :doc:`dump_modify every <dump_modify>`
|
||||||
|
command.
|
||||||
|
|
||||||
Only information for atoms in the specified group is dumped. The
|
Only information for atoms in the specified group is dumped. The
|
||||||
:doc:`dump_modify thresh and region and refresh <dump_modify>` commands
|
:doc:`dump_modify thresh and region and refresh <dump_modify>` commands
|
||||||
@ -225,28 +226,27 @@ The *atom/gz*, *cfg/gz*, *custom/gz*, *local/gz*, and *xyz/gz* styles
|
|||||||
are identical in command syntax to the corresponding styles without
|
are identical in command syntax to the corresponding styles without
|
||||||
"gz", however, they generate compressed files using the zlib
|
"gz", however, they generate compressed files using the zlib
|
||||||
library. Thus the filename suffix ".gz" is mandatory. This is an
|
library. Thus the filename suffix ".gz" is mandatory. This is an
|
||||||
alternative approach to writing compressed files via a pipe, as done
|
alternative approach to writing compressed files via a pipe, as done by
|
||||||
by the regular dump styles, which may be required on clusters where
|
the regular dump styles, which may be required on clusters where the
|
||||||
the interface to the high-speed network disallows using the fork()
|
interface to the high-speed network disallows using the fork() library
|
||||||
library call (which is needed for a pipe). For the remainder of this
|
call (which is needed for a pipe). For the remainder of this page, you
|
||||||
page, you should thus consider the *atom* and *atom/gz* styles
|
should thus consider the *atom* and *atom/gz* styles (etc.) to be
|
||||||
(etc.) to be inter-changeable, with the exception of the required
|
inter-changeable, with the exception of the required filename suffix.
|
||||||
filename suffix.
|
|
||||||
|
|
||||||
Similarly, the *atom/zstd*, *cfg/zstd*, *custom/zstd*, *local/zstd*,
|
Similarly, the *atom/zstd*, *cfg/zstd*, *custom/zstd*, *local/zstd*, and
|
||||||
and *xyz/zstd* styles are identical to the gz styles, but use the Zstd
|
*xyz/zstd* styles are identical to the gz styles, but use the Zstd
|
||||||
compression library instead and require the ".zst" suffix. See the
|
compression library instead and require the ".zst" suffix. See the
|
||||||
:doc:`dump_modify <dump_modify>` page for details on how to control
|
:doc:`dump_modify <dump_modify>` page for details on how to control the
|
||||||
the compression level in both variants.
|
compression level in both variants.
|
||||||
|
|
||||||
As explained below, the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and
|
As explained below, the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and
|
||||||
*xyz/mpiio* styles are identical in command syntax and in the format
|
*xyz/mpiio* styles are identical in command syntax and in the format of
|
||||||
of the dump files they create, to the corresponding styles without
|
the dump files they create, to the corresponding styles without "mpiio",
|
||||||
"mpiio," except the single dump file they produce is written in
|
except the single dump file they produce is written in parallel via the
|
||||||
parallel via the MPI-IO library. For the remainder of this page,
|
MPI-IO library. For the remainder of this page, you should thus
|
||||||
you should thus consider the *atom* and *atom/mpiio* styles (etc.) to
|
consider the *atom* and *atom/mpiio* styles (etc.) to be
|
||||||
be inter-changeable. The one exception is how the filename is
|
inter-changeable. The one exception is how the filename is specified
|
||||||
specified for the MPI-IO styles, as explained below.
|
for the MPI-IO styles, as explained below.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
@ -287,13 +287,13 @@ where xlo,xhi are the maximum extents of the simulation box in the
|
|||||||
:math:`x`-dimension, and similarly for :math:`y` and :math:`z`. The
|
:math:`x`-dimension, and similarly for :math:`y` and :math:`z`. The
|
||||||
"xx yy zz" terms are six characters that encode the style of boundary for each
|
"xx yy zz" terms are six characters that encode the style of boundary for each
|
||||||
of the six simulation box boundaries (xlo,xhi; ylo,yhi; and zlo,zhi). Each of
|
of the six simulation box boundaries (xlo,xhi; ylo,yhi; and zlo,zhi). Each of
|
||||||
the six characters is either p (periodic), f (fixed), s (shrink wrap),
|
the six characters is one of *p* (periodic), *f* (fixed), *s* (shrink wrap),
|
||||||
or m (shrink wrapped with a minimum value). See the
|
or *m* (shrink wrapped with a minimum value). See the
|
||||||
:doc:`boundary <boundary>` command for details.
|
:doc:`boundary <boundary>` command for details.
|
||||||
|
|
||||||
For triclinic simulation boxes (non-orthogonal), an orthogonal
|
For triclinic simulation boxes (non-orthogonal), an orthogonal
|
||||||
bounding box which encloses the triclinic simulation box is output,
|
bounding box which encloses the triclinic simulation box is output,
|
||||||
along with the 3 tilt factors (*xy*, *xz*, *yz*) of the triclinic box,
|
along with the three tilt factors (*xy*, *xz*, *yz*) of the triclinic box,
|
||||||
formatted as follows:
|
formatted as follows:
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
@ -332,8 +332,8 @@ added for each atom via dump_modify.
|
|||||||
Style *custom* allows you to specify a list of atom attributes to be
|
Style *custom* allows you to specify a list of atom attributes to be
|
||||||
written to the dump file for each atom. Possible attributes are
|
written to the dump file for each atom. Possible attributes are
|
||||||
listed above and will appear in the order specified. You cannot
|
listed above and will appear in the order specified. You cannot
|
||||||
specify a quantity that is not defined for a particular simulation -
|
specify a quantity that is not defined for a particular simulation---such as
|
||||||
such as *q* for atom style *bond*, since that atom style does not
|
*q* for atom style *bond*, since that atom style does not
|
||||||
assign charges. Dumps occur at the very end of a timestep, so atom
|
assign charges. Dumps occur at the very end of a timestep, so atom
|
||||||
attributes will include effects due to fixes that are applied during
|
attributes will include effects due to fixes that are applied during
|
||||||
the timestep. An explanation of the possible dump custom attributes
|
the timestep. An explanation of the possible dump custom attributes
|
||||||
@ -433,7 +433,7 @@ Below is an example for a YAML format dump created by the following commands.
|
|||||||
dump out all yaml 100 dump.yaml id type x y z vx vy vz ix iy iz
|
dump out all yaml 100 dump.yaml id type x y z vx vy vz ix iy iz
|
||||||
dump_modify out time yes units yes thermo yes format 1 %5d format "% 10.6e"
|
dump_modify out time yes units yes thermo yes format 1 %5d format "% 10.6e"
|
||||||
|
|
||||||
The tags "time," "units," and "thermo" are optional and enabled by the
|
The tags "time", "units", and "thermo" are optional and enabled by the
|
||||||
dump_modify command. The list under the "box" tag has three lines for
|
dump_modify command. The list under the "box" tag has three lines for
|
||||||
orthogonal boxes and four lines for triclinic boxes, where the first three are
|
orthogonal boxes and four lines for triclinic boxes, where the first three are
|
||||||
the box boundaries and the fourth the three tilt factors (:math:`xy`,
|
the box boundaries and the fourth the three tilt factors (:math:`xy`,
|
||||||
@ -485,21 +485,29 @@ popular molecular viewing program.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Dumps are performed on timesteps that are a multiple of :math:`N` (including
|
Dumps are performed on timesteps that are a multiple of :math:`N`
|
||||||
timestep 0) and on the last timestep of a minimization if the
|
(including timestep 0) and on the last timestep of a minimization if
|
||||||
minimization converges. Note that this means a dump will not be
|
the minimization converges. Note that this means a dump will not be
|
||||||
performed on the initial timestep after the dump command is invoked,
|
performed on the initial timestep after the dump command is invoked,
|
||||||
if the current timestep is not a multiple of :math:`N`. This behavior can be
|
if the current timestep is not a multiple of :math:`N`. This behavior
|
||||||
changed via the :doc:`dump_modify first <dump_modify>` command, which
|
can be changed via the :doc:`dump_modify first <dump_modify>` command,
|
||||||
can also be useful if the dump command is invoked after a minimization
|
which can also be useful if the dump command is invoked after a
|
||||||
ended on an arbitrary timestep. :math:`N` can be changed between runs by
|
minimization ended on an arbitrary timestep.
|
||||||
using the :doc:`dump_modify every <dump_modify>` command (not allowed
|
|
||||||
for *dcd* style). The :doc:`dump_modify every <dump_modify>` command
|
The value of :math:`N` can be changed between runs by using the
|
||||||
also allows a variable to be used to determine the sequence of
|
:doc:`dump_modify every <dump_modify>` command (not allowed for *dcd*
|
||||||
timesteps on which dump files are written. In this mode a dump on the
|
style). The :doc:`dump_modify every <dump_modify>` command also
|
||||||
first timestep of a run will also not be written unless the
|
allows a variable to be used to determine the sequence of timesteps on
|
||||||
|
which dump files are written. In this mode a dump on the first
|
||||||
|
timestep of a run will also not be written unless the
|
||||||
:doc:`dump_modify first <dump_modify>` command is used.
|
:doc:`dump_modify first <dump_modify>` command is used.
|
||||||
|
|
||||||
|
If you instead want to dump snapshots based on simulation time (in
|
||||||
|
time units of the :doc:`units` command), the :doc:`dump_modify
|
||||||
|
every/time <dump_modify>` command can be used. This can be useful
|
||||||
|
when the timestep size varies during a simulation run, e.g. by use of
|
||||||
|
the :doc:`fix dt/reset <fix_dt_reset>` command.
|
||||||
|
|
||||||
The specified filename determines how the dump file(s) is written.
|
The specified filename determines how the dump file(s) is written.
|
||||||
The default is to write one large text file, which is opened when the
|
The default is to write one large text file, which is opened when the
|
||||||
dump command is invoked and closed when an :doc:`undump <undump>`
|
dump command is invoked and closed when an :doc:`undump <undump>`
|
||||||
@ -544,15 +552,14 @@ package installed, viz.,
|
|||||||
make yes-mpiio # installs the MPIIO package
|
make yes-mpiio # installs the MPIIO package
|
||||||
make mpi # build LAMMPS for your platform
|
make mpi # build LAMMPS for your platform
|
||||||
|
|
||||||
Second, use a dump filename which contains ".mpiio." Note that it
|
Second, use a dump filename which contains ".mpiio". Note that it does
|
||||||
does not have to end in ".mpiio," just contain those characters.
|
not have to end in ".mpiio", just contain those characters. Unlike
|
||||||
Unlike MPI-IO restart files, which must be both written and read using
|
MPI-IO restart files, which must be both written and read using MPI-IO,
|
||||||
MPI-IO, the dump files produced by these MPI-IO styles are identical
|
the dump files produced by these MPI-IO styles are identical in format
|
||||||
in format to the files produced by their non-MPI-IO style
|
to the files produced by their non-MPI-IO style counterparts. This
|
||||||
counterparts. This means you can write a dump file using MPI-IO and
|
means you can write a dump file using MPI-IO and use the :doc:`read_dump
|
||||||
use the :doc:`read_dump <read_dump>` command or perform other
|
<read_dump>` command or perform other post-processing, just as if the
|
||||||
post-processing, just as if the dump file was not written using
|
dump file was not written using MPI-IO.
|
||||||
MPI-IO.
|
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
|
|
||||||
@ -561,37 +568,40 @@ MPI-IO.
|
|||||||
|
|
||||||
Note that MPI-IO dump files are one large file which all processors
|
Note that MPI-IO dump files are one large file which all processors
|
||||||
write to. You thus cannot use the "%" wildcard character described
|
write to. You thus cannot use the "%" wildcard character described
|
||||||
above in the filename since that specifies generation of multiple
|
above in the filename since that specifies generation of multiple files.
|
||||||
files. You can use the ".bin" or ".lammpsbin" suffix described below in an
|
You can use the ".bin" or ".lammpsbin" suffix described below in an
|
||||||
MPI-IO dump file; again this file will be written in parallel and have the
|
MPI-IO dump file; again this file will be written in parallel and have
|
||||||
same binary format as if it were written without MPI-IO.
|
the same binary format as if it were written without MPI-IO.
|
||||||
|
|
||||||
If the filename ends with ".bin" or ".lammpsbin", the dump file (or files, if
|
If the filename ends with ".bin" or ".lammpsbin", the dump file (or
|
||||||
"\*" or "%" is also used) is written in binary format. A binary dump file
|
files, if "\*" or "%" is also used) is written in binary format. A
|
||||||
will be about the same size as a text version, but will typically
|
binary dump file will be about the same size as a text version, but will
|
||||||
write out much faster. Of course, when post-processing, you will need
|
typically write out much faster. Of course, when post-processing, you
|
||||||
to convert it back to text format (see the :ref:`binary2txt tool <binary>`) or
|
will need to convert it back to text format (see the :ref:`binary2txt
|
||||||
write your own code to read the binary file. The format of the binary file can
|
tool <binary>`) or write your own code to read the binary file. The
|
||||||
be understood by looking at the :file:`tools/binary2txt.cpp` file. This option
|
format of the binary file can be understood by looking at the
|
||||||
is only available for the *atom* and *custom* styles.
|
:file:`tools/binary2txt.cpp` file. This option is only available for
|
||||||
|
the *atom* and *custom* styles.
|
||||||
|
|
||||||
If the filename ends with ".gz", the dump file (or files, if "\*" or "%"
|
If the filename ends with ".gz", the dump file (or files, if "\*" or "%"
|
||||||
is also used) is written in gzipped format. A gzipped dump file will be about
|
is also used) is written in gzipped format. A gzipped dump file will be
|
||||||
:math:`3\times` smaller than the text version, but will also take longer
|
about :math:`3\times` smaller than the text version, but will also take
|
||||||
to write. This option is not available for the *dcd* and *xtc* styles.
|
longer to write. This option is not available for the *dcd* and *xtc*
|
||||||
|
styles.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Note that in the discussion which follows, for styles which can
|
Note that in the discussion which follows, for styles which can
|
||||||
reference values from a compute or fix or custom atom property, like
|
reference values from a compute or fix or custom atom property, like the
|
||||||
the *custom*\ , *cfg*\ , or *local* styles, the bracketed index :math:`i` can
|
*custom*\ , *cfg*\ , or *local* styles, the bracketed index :math:`i`
|
||||||
be specified using a wildcard asterisk with the index to effectively
|
can be specified using a wildcard asterisk with the index to effectively
|
||||||
specify multiple values. This takes the form "\*" or "\*n" or "m\*"
|
specify multiple values. This takes the form "\*" or "\*n" or "m\*" or
|
||||||
or "m\*n." If :math:`N` is the number of columns in the array, then an
|
"m\*n". If :math:`N` is the number of columns in the array, then an
|
||||||
asterisk with no numeric values means all column indices from 1 to :math:`N`.
|
asterisk with no numeric values means all column indices from 1 to
|
||||||
A leading asterisk means all indices from 1 to n (inclusive). A
|
:math:`N`. A leading asterisk means all indices from 1 to n
|
||||||
trailing asterisk means all indices from m to :math:`N` (inclusive). A middle
|
(inclusive). A trailing asterisk means all indices from m to :math:`N`
|
||||||
asterisk means all indices from m to n (inclusive).
|
(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
|
Using a wildcard is the same as if the individual columns of the array
|
||||||
had been listed one by one. For example, these two dump commands are
|
had been listed one by one. For example, these two dump commands are
|
||||||
@ -670,37 +680,38 @@ The *id*, *mol*, *proc*, *procp1*, *type*, *element*, *mass*, *vx*,
|
|||||||
|
|
||||||
*Id* is the atom ID. *Mol* is the molecule ID, included in the data
|
*Id* is the atom ID. *Mol* is the molecule ID, included in the data
|
||||||
file for molecular systems. *Proc* is the ID of the processor (0 to
|
file for molecular systems. *Proc* is the ID of the processor (0 to
|
||||||
:math:`N_\text{procs}-1`) that currently owns the atom.
|
:math:`N_\text{procs}-1`) that currently owns the atom. *Procp1* is the
|
||||||
*Procp1* is the proc ID+1, which can be convenient in place of a *type*
|
proc ID+1, which can be convenient in place of a *type* attribute (1 to
|
||||||
attribute (1 to :math:`N_\text{types}`) for coloring atoms in a visualization
|
:math:`N_\text{types}`) for coloring atoms in a visualization program.
|
||||||
program. *Type* is the atom type (1 to :math:`N_\text{types}`). *Element* is
|
*Type* is the atom type (1 to :math:`N_\text{types}`). *Element* is
|
||||||
typically the chemical name of an element, which you must assign to each type
|
typically the chemical name of an element, which you must assign to each
|
||||||
via the :doc:`dump_modify element <dump_modify>` command. More generally, it
|
type via the :doc:`dump_modify element <dump_modify>` command. More
|
||||||
can be any string you wish to associated with an atom type. *Mass* is the atom
|
generally, it can be any string you wish to associated with an atom
|
||||||
mass. The quantities *vx*, *vy*, *vz*, *fx*, *fy*, *fz*, and *q* are components
|
type. *Mass* is the atom mass. The quantities *vx*, *vy*, *vz*, *fx*,
|
||||||
of atom velocity and force and atomic charge.
|
*fy*, *fz*, and *q* are components of atom velocity and force and atomic
|
||||||
|
charge.
|
||||||
|
|
||||||
There are several options for outputting atom coordinates. The *x*,
|
There are several options for outputting atom coordinates. The *x*,
|
||||||
*y*, and *z* attributes write atom coordinates "unscaled," in the
|
*y*, and *z* attributes write atom coordinates "unscaled", in the
|
||||||
appropriate distance :doc:`units <units>` (:math:`\mathrm{\mathring A}`,
|
appropriate distance :doc:`units <units>` (:math:`\mathrm{\mathring A}`,
|
||||||
:math:`\sigma`, etc.). Use *xs*, *ys*, *zs* if you want the coordinates
|
:math:`\sigma`, etc.). Use *xs*, *ys*, and *zs* if you want the
|
||||||
"scaled" to the box size, so that each value is 0.0 to 1.0. If the simulation
|
coordinates "scaled" to the box size so that each value is 0.0 to 1.0.
|
||||||
box is triclinic (tilted), then all atom coords will still be between 0.0 and
|
If the simulation box is triclinic (tilted), then all atom coords will
|
||||||
1.0. The actual unscaled :math:`(x,y,z)` coordinate is
|
still be between 0.0 and 1.0. The actual unscaled :math:`(x,y,z)`
|
||||||
:math:`x_s a + y_s b + z_s c`, where :math:`(a,b,c)` are the non-orthogonal
|
coordinate is :math:`x_s a + y_s b + z_s c`, where :math:`(a,b,c)` are
|
||||||
vectors of the simulation box edges, as discussed on the
|
the non-orthogonal vectors of the simulation box edges, as discussed on
|
||||||
:doc:`Howto triclinic <Howto_triclinic>` page.
|
the :doc:`Howto triclinic <Howto_triclinic>` page.
|
||||||
|
|
||||||
Use *xu*, *yu*, and *zu* if you want the coordinates "unwrapped" by the
|
Use *xu*, *yu*, and *zu* if you want the coordinates "unwrapped" by the
|
||||||
image flags for each atom. Unwrapped means that if the atom has
|
image flags for each atom. Unwrapped means that if the atom has passed
|
||||||
passed through a periodic boundary one or more times, the value is
|
through a periodic boundary one or more times, the value is printed for
|
||||||
printed for what the coordinate would be if it had not been wrapped
|
what the coordinate would be if it had not been wrapped back into the
|
||||||
back into the periodic box. Note that using *xu*, *yu*, and *zu* means
|
periodic box. Note that using *xu*, *yu*, and *zu* means that the
|
||||||
that the coordinate values may be far outside the box bounds printed
|
coordinate values may be far outside the box bounds printed with the
|
||||||
with the snapshot. Using *xsu*, *ysu*, and *zsu* is similar to using
|
snapshot. Using *xsu*, *ysu*, and *zsu* is similar to using *xu*, *yu*,
|
||||||
*xu*, *yu*, and *zu*, except that the unwrapped coordinates are scaled by
|
and *zu*, except that the unwrapped coordinates are scaled by the box
|
||||||
the box size. Atoms that have passed through a periodic boundary will
|
size. Atoms that have passed through a periodic boundary will have the
|
||||||
have the corresponding coordinate increased or decreased by 1.0.
|
corresponding coordinate increased or decreased by 1.0.
|
||||||
|
|
||||||
The image flags can be printed directly using the *ix*, *iy*, and *iz*
|
The image flags can be printed directly using the *ix*, *iy*, and *iz*
|
||||||
attributes. For periodic dimensions, they specify which image of the
|
attributes. For periodic dimensions, they specify which image of the
|
||||||
@ -712,8 +723,8 @@ periodic boundaries during the simulation.
|
|||||||
|
|
||||||
The *mux*, *muy*, and *muz* attributes are specific to dipolar systems
|
The *mux*, *muy*, and *muz* attributes are specific to dipolar systems
|
||||||
defined with an atom style of *dipole*\ . They give the orientation of
|
defined with an atom style of *dipole*\ . They give the orientation of
|
||||||
the atom's point dipole moment. The *mu* attribute gives the
|
the atom's point dipole moment. The *mu* attribute gives the magnitude
|
||||||
magnitude of the atom's dipole moment.
|
of the atom's dipole moment.
|
||||||
|
|
||||||
The *radius* and *diameter* attributes are specific to spherical
|
The *radius* and *diameter* attributes are specific to spherical
|
||||||
particles that have a finite size, such as those defined with an atom
|
particles that have a finite size, such as those defined with an atom
|
||||||
@ -727,17 +738,17 @@ The *angmomx*, *angmomy*, and *angmomz* attributes are specific to
|
|||||||
finite-size aspherical particles that have an angular momentum. Only
|
finite-size aspherical particles that have an angular momentum. Only
|
||||||
the *ellipsoid* atom style defines this quantity.
|
the *ellipsoid* atom style defines this quantity.
|
||||||
|
|
||||||
The *tqx*, *tqy*, *tqz* attributes are for finite-size particles that
|
The *tqx*, *tqy*, and *tqz* attributes are for finite-size particles
|
||||||
can sustain a rotational torque due to interactions with other
|
that can sustain a rotational torque due to interactions with other
|
||||||
particles.
|
particles.
|
||||||
|
|
||||||
The *c_ID* and *c_ID[I]* attributes allow per-atom vectors or arrays
|
The *c_ID* and *c_ID[I]* attributes allow per-atom vectors or arrays
|
||||||
calculated by a :doc:`compute <compute>` to be output. The ID in the
|
calculated by a :doc:`compute <compute>` to be output. The ID in the
|
||||||
attribute should be replaced by the actual ID of the compute that has
|
attribute should be replaced by the actual ID of the compute that has
|
||||||
been defined previously in the input script. See the
|
been defined previously in the input script. See the :doc:`compute
|
||||||
:doc:`compute <compute>` command for details. There are computes for
|
<compute>` command for details. There are computes for calculating the
|
||||||
calculating the per-atom energy, stress, centro-symmetry parameter,
|
per-atom energy, stress, centro-symmetry parameter, and coordination
|
||||||
and coordination number of individual atoms.
|
number of individual atoms.
|
||||||
|
|
||||||
Note that computes which calculate global or local quantities, as
|
Note that computes which calculate global or local quantities, as
|
||||||
opposed to per-atom quantities, cannot be output in a dump custom
|
opposed to per-atom quantities, cannot be output in a dump custom
|
||||||
@ -745,39 +756,39 @@ command. Instead, global quantities can be output by the
|
|||||||
:doc:`thermo_style custom <thermo_style>` command, and local quantities
|
:doc:`thermo_style custom <thermo_style>` command, and local quantities
|
||||||
can be output by the dump local command.
|
can be output by the dump local command.
|
||||||
|
|
||||||
If *c_ID* is used as a attribute, then the per-atom vector calculated
|
If *c_ID* is used as a attribute, then the per-atom vector calculated by
|
||||||
by the compute is printed. If *c_ID[i]* is used, then :math:`i` must be in
|
the compute is printed. If *c_ID[i]* is used, then :math:`i` must be in
|
||||||
the range from 1 to :math:`M`, which will print the :math:`i`\ th column of the
|
the range from 1 to :math:`M`, which will print the :math:`i`\ th column
|
||||||
per-atom array with :math:`M` columns calculated by the compute. See the
|
of the per-atom array with :math:`M` columns calculated by the compute.
|
||||||
discussion above for how :math:`i` can be specified with a wildcard asterisk to
|
See the discussion above for how :math:`i` can be specified with a
|
||||||
effectively specify multiple values.
|
wildcard asterisk to effectively specify multiple values.
|
||||||
|
|
||||||
The *f_ID* and *f_ID[I]* attributes allow vector or array per-atom
|
The *f_ID* and *f_ID[I]* attributes allow vector or array per-atom
|
||||||
quantities calculated by a :doc:`fix <fix>` to be output. The ID in
|
quantities calculated by a :doc:`fix <fix>` to be output. The ID in the
|
||||||
the attribute should be replaced by the actual ID of the fix that has
|
attribute should be replaced by the actual ID of the fix that has been
|
||||||
been defined previously in the input script. The :doc:`fix ave/atom
|
defined previously in the input script. The :doc:`fix ave/atom
|
||||||
<fix_ave_atom>` command is one that calculates per-atom quantities.
|
<fix_ave_atom>` command is one that calculates per-atom quantities.
|
||||||
Since it can time-average per-atom quantities produced by any
|
Since it can time-average per-atom quantities produced by any
|
||||||
:doc:`compute <compute>`, :doc:`fix <fix>`, or atom-style
|
:doc:`compute <compute>`, :doc:`fix <fix>`, or atom-style :doc:`variable
|
||||||
:doc:`variable <variable>`, this allows those time-averaged results to
|
<variable>`, this allows those time-averaged results to be written to a
|
||||||
be written to a dump file.
|
dump file.
|
||||||
|
|
||||||
If *f_ID* is used as a attribute, then the per-atom vector calculated
|
If *f_ID* is used as a attribute, then the per-atom vector calculated by
|
||||||
by the fix is printed. If *f_ID[i]* is used, then :math:`i` must be in the
|
the fix is printed. If *f_ID[i]* is used, then :math:`i` must be in the
|
||||||
range from 1 to :math:`M`, which will print the :math:`i`\ th column of the
|
range from 1 to :math:`M`, which will print the :math:`i`\ th column of
|
||||||
per-atom array with :math:`M` columns calculated by the fix. See the
|
the per-atom array with :math:`M` columns calculated by the fix. See
|
||||||
discussion above for how :math:`i` can be specified with a wildcard asterisk to
|
the discussion above for how :math:`i` can be specified with a wildcard
|
||||||
effectively specify multiple values.
|
asterisk to effectively specify multiple values.
|
||||||
|
|
||||||
The *v_name* attribute allows per-atom vectors calculated by a
|
The *v_name* attribute allows per-atom vectors calculated by a
|
||||||
:doc:`variable <variable>` to be output. The name in the attribute
|
:doc:`variable <variable>` to be output. The name in the attribute
|
||||||
should be replaced by the actual name of the variable that has been
|
should be replaced by the actual name of the variable that has been
|
||||||
defined previously in the input script. Only an atom-style variable
|
defined previously in the input script. Only an atom-style variable can
|
||||||
can be referenced, since it is the only style that generates per-atom
|
be referenced, since it is the only style that generates per-atom
|
||||||
values. Variables of style *atom* can reference individual atom
|
values. Variables of style *atom* can reference individual atom
|
||||||
attributes, per-atom attributes, thermodynamic keywords, or invoke
|
attributes, per-atom attributes, thermodynamic keywords, or invoke other
|
||||||
other computes, fixes, or variables when they are evaluated, so this
|
computes, fixes, or variables when they are evaluated, so this is a very
|
||||||
is a very general means of creating quantities to output to a dump file.
|
general means of creating quantities to output to a dump file.
|
||||||
|
|
||||||
The *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to
|
The *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to
|
||||||
per-atom integer and floating-point vectors or arrays that have been
|
per-atom integer and floating-point vectors or arrays that have been
|
||||||
@ -785,10 +796,11 @@ added via the :doc:`fix property/atom <fix_property_atom>` command.
|
|||||||
When that command is used specific names are given to each attribute
|
When that command is used specific names are given to each attribute
|
||||||
which are the "name" portion of these keywords. For arrays *i2_name*
|
which are the "name" portion of these keywords. For arrays *i2_name*
|
||||||
and *d2_name*, the column of the array must also be included following
|
and *d2_name*, the column of the array must also be included following
|
||||||
the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where :math:`i` is in the
|
the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where :math:`i` is
|
||||||
range from 1 to :math:`M`, where :math:`M` is the number of columns in the
|
in the range from 1 to :math:`M`, where :math:`M` is the number of
|
||||||
custom array). See the discussion above for how :math:`i` can be specified with
|
columns in the custom array). See the discussion above for how :math:`i`
|
||||||
a wildcard asterisk to effectively specify multiple values.
|
can be specified with a wildcard asterisk to effectively specify
|
||||||
|
multiple values.
|
||||||
|
|
||||||
See the :doc:`Modify <Modify>` page for information on how to add
|
See the :doc:`Modify <Modify>` page for information on how to add
|
||||||
new compute and fix styles to LAMMPS to calculate per-atom quantities
|
new compute and fix styles to LAMMPS to calculate per-atom quantities
|
||||||
|
|||||||
@ -10,10 +10,9 @@ dump custom/adios command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
dump ID group-ID atom/adios N file.bp
|
dump ID group-ID atom/adios N file.bp
|
||||||
|
|
||||||
dump ID group-ID custom/adios N file.bp args
|
dump ID group-ID custom/adios N file.bp args
|
||||||
|
|
||||||
* ID = user-assigned name for the dump
|
* ID = user-assigned name for the dump
|
||||||
@ -21,7 +20,7 @@ Syntax
|
|||||||
* adios = style of dump command (other styles *atom* or *cfg* or *dcd* or *xtc* or *xyz* or *local* or *custom* are discussed on the :doc:`dump <dump>` doc page)
|
* adios = style of dump command (other styles *atom* or *cfg* or *dcd* or *xtc* or *xyz* or *local* or *custom* are discussed on the :doc:`dump <dump>` doc page)
|
||||||
* N = dump every this many timesteps
|
* N = dump every this many timesteps
|
||||||
* file.bp = name of file/stream to write to
|
* file.bp = name of file/stream to write to
|
||||||
* args = same options as in :doc:`\ *dump custom*\ <dump>` command
|
* args = same options as in :doc:`dump custom <dump>` command
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
""""""""
|
""""""""
|
||||||
@ -35,10 +34,10 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Dump a snapshot of atom coordinates every N timesteps in the `ADIOS
|
Dump a snapshot of atom coordinates every :math:`N` timesteps in the `ADIOS
|
||||||
<adios_>`_ based "BP" file format, or using different I/O solutions in
|
<adios_>`_-based "BP" file format, or using different I/O solutions in
|
||||||
ADIOS, to a stream that can be read on-line by another program.
|
ADIOS, to a stream that can be read on-line by another program.
|
||||||
ADIOS-BP files are binary, portable and self-describing.
|
ADIOS-BP files are binary, portable, and self-describing.
|
||||||
|
|
||||||
.. _adios: https://github.com/ornladios/ADIOS2
|
.. _adios: https://github.com/ornladios/ADIOS2
|
||||||
|
|
||||||
@ -67,7 +66,7 @@ create a new file at each individual dump.
|
|||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
The number of atoms per snapshot CAN change with the adios style.
|
The number of atoms per snapshot **can** change with the adios style.
|
||||||
When using the ADIOS tool 'bpls' to list the content of a .bp file,
|
When using the ADIOS tool 'bpls' to list the content of a .bp file,
|
||||||
bpls will print *__* for the size of the output table indicating that
|
bpls will print *__* for the size of the output table indicating that
|
||||||
its size is changing every step.
|
its size is changing every step.
|
||||||
|
|||||||
@ -6,7 +6,7 @@ dump cfg/uef command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
dump ID group-ID cfg/uef N file mass type xs ys zs args
|
dump ID group-ID cfg/uef N file mass type xs ys zs args
|
||||||
|
|
||||||
@ -32,9 +32,8 @@ Description
|
|||||||
|
|
||||||
This command is used to dump atomic coordinates in the
|
This command is used to dump atomic coordinates in the
|
||||||
reference frame of the applied flow field when
|
reference frame of the applied flow field when
|
||||||
:doc:`fix nvt/uef <fix_nh_uef>` or
|
:doc:`fix nvt/uef <fix_nh_uef>` or :doc:`fix npt/uef <fix_nh_uef>` is used.
|
||||||
:doc:`fix npt/uef <fix_nh_uef>` or is used. Only the atomic
|
Only the atomic coordinates and frame-invariant scalar quantities
|
||||||
coordinates and frame-invariant scalar quantities
|
|
||||||
will be in the flow frame. If velocities are selected
|
will be in the flow frame. If velocities are selected
|
||||||
as output, for example, they will not be in the same
|
as output, for example, they will not be in the same
|
||||||
reference frame as the atomic positions.
|
reference frame as the atomic positions.
|
||||||
@ -43,7 +42,8 @@ Restrictions
|
|||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This fix is part of the UEF package. It is only enabled if LAMMPS
|
This fix is part of the UEF package. It is only enabled if LAMMPS
|
||||||
was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
was built with that package. See the :doc:`Build package <Build_package>`
|
||||||
|
page for more info.
|
||||||
|
|
||||||
This command can only be used when :doc:`fix nvt/uef <fix_nh_uef>`
|
This command can only be used when :doc:`fix nvt/uef <fix_nh_uef>`
|
||||||
or :doc:`fix npt/uef <fix_nh_uef>` is active.
|
or :doc:`fix npt/uef <fix_nh_uef>` is active.
|
||||||
|
|||||||
@ -12,7 +12,7 @@ dump movie command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
dump ID group-ID style N file color diameter keyword value ...
|
dump ID group-ID style N file color diameter keyword value ...
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ Syntax
|
|||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*atom* = yes/no = do or do not draw atoms
|
*atom* = *yes* or *no* = do or do not draw atoms
|
||||||
*adiam* size = numeric value for atom diameter (distance units)
|
*adiam* size = numeric value for atom diameter (distance units)
|
||||||
*bond* values = color width = color and width of bonds
|
*bond* values = color width = color and width of bonds
|
||||||
color = *atom* or *type* or *none*
|
color = *atom* or *type* or *none*
|
||||||
@ -68,21 +68,20 @@ Syntax
|
|||||||
*box* values = yes/no diam = draw outline of simulation box
|
*box* values = yes/no diam = draw outline of simulation box
|
||||||
yes/no = do or do not draw simulation box lines
|
yes/no = do or do not draw simulation box lines
|
||||||
diam = diameter of box lines as fraction of shortest box length
|
diam = diameter of box lines as fraction of shortest box length
|
||||||
*axes* values = yes/no length diam = draw xyz axes
|
*axes* values = axes length diam = draw xyz axes
|
||||||
yes/no = do or do not draw xyz axes lines next to simulation box
|
axes = *yes* or *no = do or do not draw xyz axes lines next to simulation box
|
||||||
length = length of axes lines as fraction of respective box lengths
|
length = length of axes lines as fraction of respective box lengths
|
||||||
diam = diameter of axes lines as fraction of shortest box length
|
diam = diameter of axes lines as fraction of shortest box length
|
||||||
*subbox* values = yes/no diam = draw outline of processor sub-domains
|
*subbox* values = lines diam = draw outline of processor sub-domains
|
||||||
yes/no = do or do not draw sub-domain lines
|
lines = *yes* or *no* = do or do not draw sub-domain lines
|
||||||
diam = diameter of sub-domain lines as fraction of shortest box length
|
diam = diameter of sub-domain lines as fraction of shortest box length
|
||||||
*shiny* value = sfactor = shinyness of spheres and cylinders
|
*shiny* value = sfactor = shinyness of spheres and cylinders
|
||||||
sfactor = shinyness of spheres and cylinders from 0.0 to 1.0
|
sfactor = shinyness of spheres and cylinders from 0.0 to 1.0
|
||||||
*ssao* value = yes/no seed dfactor = SSAO depth shading
|
*ssao* value = shading seed dfactor = SSAO depth shading
|
||||||
yes/no = turn depth shading on/off
|
shading = *yes* or *no* = turn depth shading on/off
|
||||||
seed = random # seed (positive integer)
|
seed = random # seed (positive integer)
|
||||||
dfactor = strength of shading from 0.0 to 1.0
|
dfactor = strength of shading from 0.0 to 1.0
|
||||||
|
|
||||||
|
|
||||||
.. _dump_modify_image:
|
.. _dump_modify_image:
|
||||||
|
|
||||||
dump_modify options for dump image/movie
|
dump_modify options for dump image/movie
|
||||||
@ -162,7 +161,7 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Dump a high-quality rendered image of the atom configuration every N
|
Dump a high-quality rendered image of the atom configuration every :math:`N`
|
||||||
timesteps and save the images either as a sequence of JPEG or PNG or
|
timesteps and save the images either as a sequence of JPEG or PNG or
|
||||||
PPM files, or as a single movie file. The options for this command as
|
PPM files, or as a single movie file. The options for this command as
|
||||||
well as the :doc:`dump_modify <dump_modify>` command control what is
|
well as the :doc:`dump_modify <dump_modify>` command control what is
|
||||||
@ -179,7 +178,7 @@ has been run, using the :doc:`rerun <rerun>` command to read snapshots
|
|||||||
from an existing dump file, and using these dump commands in the rerun
|
from an existing dump file, and using these dump commands in the rerun
|
||||||
script to generate the images/movie.
|
script to generate the images/movie.
|
||||||
|
|
||||||
Here are two sample images, rendered as 1024x1024 JPEG files.
|
Here are two sample images, rendered as :math:`1024\times 1024` JPEG files.
|
||||||
|
|
||||||
.. |dump1| image:: img/dump1.jpg
|
.. |dump1| image:: img/dump1.jpg
|
||||||
:width: 48%
|
:width: 48%
|
||||||
@ -232,22 +231,22 @@ details.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Dumps are performed on timesteps that are a multiple of N (including
|
Dumps are performed on timesteps that are a multiple of :math:`N` (including
|
||||||
timestep 0) and on the last timestep of a minimization if the
|
timestep 0) and on the last timestep of a minimization if the
|
||||||
minimization converges. Note that this means a dump will not be
|
minimization converges. Note that this means a dump will not be
|
||||||
performed on the initial timestep after the dump command is invoked,
|
performed on the initial timestep after the dump command is invoked,
|
||||||
if the current timestep is not a multiple of N. This behavior can be
|
if the current timestep is not a multiple of :math:`N`. This behavior can be
|
||||||
changed via the :doc:`dump_modify first <dump_modify>` command, which
|
changed via the :doc:`dump_modify first <dump_modify>` command, which
|
||||||
can be useful if the dump command is invoked after a minimization
|
can be useful if the dump command is invoked after a minimization
|
||||||
ended on an arbitrary timestep. N can be changed between runs by
|
ended on an arbitrary timestep. :math:`N` can be changed between runs by
|
||||||
using the :doc:`dump_modify every <dump_modify>` command.
|
using the :doc:`dump_modify every <dump_modify>` command.
|
||||||
|
|
||||||
Dump *image* filenames must contain a wildcard character "\*", so that
|
Dump *image* filenames must contain a wildcard character "\*" so that
|
||||||
one image file per snapshot is written. The "\*" character is replaced
|
one image file per snapshot is written. The "\*" character is replaced
|
||||||
with the timestep value. For example, tmp.dump.\*.jpg becomes
|
with the timestep value. For example, tmp.dump.\*.jpg becomes
|
||||||
tmp.dump.0.jpg, tmp.dump.10000.jpg, tmp.dump.20000.jpg, etc. Note
|
tmp.dump.0.jpg, tmp.dump.10000.jpg, tmp.dump.20000.jpg, etc. Note
|
||||||
that the :doc:`dump_modify pad <dump_modify>` command can be used to
|
that the :doc:`dump_modify pad <dump_modify>` command can be used to
|
||||||
insure all timestep numbers are the same length (e.g. 00010), which
|
insure all timestep numbers are the same length (e.g., 00010), which
|
||||||
can make it easier to convert a series of images into a movie in the
|
can make it easier to convert a series of images into a movie in the
|
||||||
correct ordering.
|
correct ordering.
|
||||||
|
|
||||||
@ -262,7 +261,7 @@ atoms rendered in the image. They can be any atom attribute defined
|
|||||||
for the :doc:`dump custom <dump>` command, including *type* and
|
for the :doc:`dump custom <dump>` command, including *type* and
|
||||||
*element*\ . This includes per-atom quantities calculated by a
|
*element*\ . This includes per-atom quantities calculated by a
|
||||||
:doc:`compute <compute>`, :doc:`fix <fix>`, or :doc:`variable <variable>`,
|
:doc:`compute <compute>`, :doc:`fix <fix>`, or :doc:`variable <variable>`,
|
||||||
which are prefixed by "c\_", "f\_", or "v\_" respectively. Note that the
|
which are prefixed by "c\_", "f\_", or "v\_", respectively. Note that the
|
||||||
*diameter* setting can be overridden with a numeric value applied to
|
*diameter* setting can be overridden with a numeric value applied to
|
||||||
all atoms by the optional *adiam* keyword.
|
all atoms by the optional *adiam* keyword.
|
||||||
|
|
||||||
@ -277,7 +276,7 @@ to colors is as follows:
|
|||||||
* type 5 = aqua
|
* type 5 = aqua
|
||||||
* type 6 = cyan
|
* type 6 = cyan
|
||||||
|
|
||||||
and repeats itself for types > 6. This mapping can be changed by the
|
and repeats itself for types :math:`> 6`. This mapping can be changed by the
|
||||||
"dump_modify acolor" command, as described below.
|
"dump_modify acolor" command, as described below.
|
||||||
|
|
||||||
If *type* is specified for the *diameter* setting then the diameter of
|
If *type* is specified for the *diameter* setting then the diameter of
|
||||||
@ -773,10 +772,11 @@ the number 5.0 would be used. But for a fractional map, the number
|
|||||||
The *delta* setting must be specified for all styles, but is only used
|
The *delta* setting must be specified for all styles, but is only used
|
||||||
for the sequential style; otherwise the value is ignored. It
|
for the sequential style; otherwise the value is ignored. It
|
||||||
specifies the bin size to use within the range for assigning
|
specifies the bin size to use within the range for assigning
|
||||||
consecutive colors to. For example, if the range is from -10.0 to
|
consecutive colors to. For example, if the range is from :math:`-10.0` to
|
||||||
10.0 and a *delta* of 1.0 is used, then 20 colors will be assigned to
|
:math:`10.0` and a *delta* of :math:`1.0` is used, then 20 colors will be
|
||||||
the range. The first will be from -10.0 <= color1 < -9.0, then second
|
assigned to the range. The first will be from
|
||||||
from -9.0 <= color2 < -8.0, etc.
|
:math:`-10.0 \le \text{color1} < -9.0`, then second from
|
||||||
|
:math:`-9.0 \le color2 < -8.0`, etc.
|
||||||
|
|
||||||
The *N* setting is how many entries follow. The format of the entries
|
The *N* setting is how many entries follow. The format of the entries
|
||||||
depends on whether the color map style is continuous, discrete or
|
depends on whether the color map style is continuous, discrete or
|
||||||
@ -792,14 +792,14 @@ increasing values. Note that numeric values can be specified either
|
|||||||
as absolute numbers or as fractions (0.0 to 1.0) of the range,
|
as absolute numbers or as fractions (0.0 to 1.0) of the range,
|
||||||
depending on the "a" or "f" in the style setting for the color map.
|
depending on the "a" or "f" in the style setting for the color map.
|
||||||
|
|
||||||
Here is how the entries are used to determine the color of an
|
Here is how the entries are used to determine the color of an individual
|
||||||
individual atom, given the value X of its atom attribute. X will fall
|
atom, given the value :math:`X` of its atom attribute. :math:`X` will
|
||||||
between 2 of the entry values. The color of the atom is linearly
|
fall between 2 of the entry values. The color of the atom is linearly
|
||||||
interpolated (in each of the RGB values) between the 2 colors
|
interpolated (in each of the RGB values) between the 2 colors associated
|
||||||
associated with those entries. For example, if X = -5.0 and the 2
|
with those entries. For example, if :math:`X = -5.0` and the two
|
||||||
surrounding entries are "red" at -10.0 and "blue" at 0.0, then the
|
surrounding entries are "red" at :math:`-10.0` and "blue" at
|
||||||
atom's color will be halfway between "red" and "blue", which happens
|
:math:`0.0`, then the atom's color will be halfway between "red" and
|
||||||
to be "purple".
|
"blue", which happens to be "purple".
|
||||||
|
|
||||||
For discrete color maps, each entry has a *lo* and *hi* value and a
|
For discrete color maps, each entry has a *lo* and *hi* value and a
|
||||||
*color*\ . The *lo* and *hi* settings are either numbers within the
|
*color*\ . The *lo* and *hi* settings are either numbers within the
|
||||||
@ -807,19 +807,18 @@ range of values or *lo* can be *min* or *hi* can be *max*\ . The *lo*
|
|||||||
and *hi* settings of the last entry must be *min* and *max*\ . Other
|
and *hi* settings of the last entry must be *min* and *max*\ . Other
|
||||||
entries can have any *lo* and *hi* values and the sub-ranges of
|
entries can have any *lo* and *hi* values and the sub-ranges of
|
||||||
different values can overlap. Note that numeric *lo* and *hi* values
|
different values can overlap. Note that numeric *lo* and *hi* values
|
||||||
can be specified either as absolute numbers or as fractions (0.0 to
|
can be specified either as absolute numbers or as fractions (0.0 to 1.0)
|
||||||
1.0) of the range, depending on the "a" or "f" in the style setting
|
of the range, depending on the "a" or "f" in the style setting for the
|
||||||
for the color map.
|
color map.
|
||||||
|
|
||||||
Here is how the entries are used to determine the color of an
|
Here is how the entries are used to determine the color of an individual
|
||||||
individual atom, given the value X of its atom attribute. The entries
|
atom, given the value X of its atom attribute. The entries are scanned
|
||||||
are scanned from first to last. The first time that *lo* <= X <=
|
from first to last. The first time that *lo* <= X <= *hi*, X is
|
||||||
*hi*, X is assigned the color associated with that entry. You can
|
assigned the color associated with that entry. You can think of the
|
||||||
think of the last entry as assigning a default color (since it will
|
last entry as assigning a default color (since it will always be matched
|
||||||
always be matched by X), and the earlier entries as colors that
|
by X), and the earlier entries as colors that override the default.
|
||||||
override the default. Also note that no interpolation of a color RGB
|
Also note that no interpolation of a color RGB is done. All atoms will
|
||||||
is done. All atoms will be drawn with one of the colors in the list
|
be drawn with one of the colors in the list of entries.
|
||||||
of entries.
|
|
||||||
|
|
||||||
For sequential color maps, each entry has only a *color*\ . Here is how
|
For sequential color maps, each entry has only a *color*\ . Here is how
|
||||||
the entries are used to determine the color of an individual atom,
|
the entries are used to determine the color of an individual atom,
|
||||||
@ -864,20 +863,20 @@ The *bcolor* keyword can be used with the dump image command, with its
|
|||||||
*bond* keyword, when its color setting is *type*, to set the color
|
*bond* keyword, when its color setting is *type*, to set the color
|
||||||
that bonds of each type will be drawn in the image.
|
that bonds of each type will be drawn in the image.
|
||||||
|
|
||||||
The specified *type* should be an integer from 1 to Nbondtypes = the
|
The specified *type* should be an integer from 1 to :math:`N`, where :math:`N`
|
||||||
number of bond types. A wildcard asterisk can be used in place of or
|
is the number of bond types. A wildcard asterisk can be used in place of or
|
||||||
in conjunction with the *type* argument to specify a range of bond
|
in conjunction with the *type* argument to specify a range of bond
|
||||||
types. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N =
|
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N`
|
||||||
the number of bond types, then an asterisk with no numeric values
|
is the number of bond types, then an asterisk with no numerical values
|
||||||
means all types from 1 to N. A leading asterisk means all types from
|
means all types from 1 to :math:`N`. A leading asterisk means all types from
|
||||||
1 to n (inclusive). A trailing asterisk means all types from n to N
|
1 to n (inclusive). A trailing asterisk means all types from m to :math:`N`
|
||||||
(inclusive). A middle asterisk means all types from m to n
|
(inclusive). A middle asterisk means all types from m to n
|
||||||
(inclusive).
|
(inclusive).
|
||||||
|
|
||||||
The specified *color* can be a single color which is any of the 140
|
The specified *color* can be a single color which is any of the 140
|
||||||
pre-defined colors (see below) or a color name defined by the
|
pre-defined colors (see below) or a color name defined by the
|
||||||
dump_modify color option. Or it can be two or more colors separated
|
dump_modify color option. Or it can be two or more colors separated
|
||||||
by a "/" character, e.g. red/green/blue. In the former case, that
|
by a "/" character (e.g., red/green/blue). In the former case, that
|
||||||
color is assigned to all the specified bond types. In the latter
|
color is assigned to all the specified bond types. In the latter
|
||||||
case, the list of colors are assigned in a round-robin fashion to each
|
case, the list of colors are assigned in a round-robin fashion to each
|
||||||
of the specified bond types.
|
of the specified bond types.
|
||||||
@ -885,13 +884,13 @@ of the specified bond types.
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
The *bdiam* keyword can be used with the dump image command, with its
|
The *bdiam* keyword can be used with the dump image command, with its
|
||||||
*bond* keyword, when its diam setting is *type*, to set the diameter
|
*bond* keyword, when its *diam* setting is *type*, to set the diameter
|
||||||
that bonds of each type will be drawn in the image. The specified
|
that bonds of each type will be drawn in the image. The specified
|
||||||
*type* should be an integer from 1 to Nbondtypes. As with the
|
*type* should be an integer from 1 to Nbondtypes. As with the
|
||||||
*bcolor* keyword, a wildcard asterisk can be used as part of the
|
*bcolor* keyword, a wildcard asterisk can be used as part of the
|
||||||
*type* argument to specify a range of bond types. The specified
|
*type* argument to specify a range of bond types. The specified
|
||||||
*diam* is the size in whatever distance :doc:`units <units>` you are
|
*diam* is the size in whatever distance :doc:`units <units>` you are
|
||||||
using, e.g. Angstroms.
|
using (e.g., Angstroms).
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -922,7 +921,7 @@ dump_modify color option.
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
The *color* keyword allows definition of a new color name, in addition
|
The *color* keyword allows definition of a new color name, in addition
|
||||||
to the 140-predefined colors (see below), and associates 3
|
to the 140-predefined colors (see below), and associates three
|
||||||
red/green/blue RGB values with that color name. The color name can
|
red/green/blue RGB values with that color name. The color name can
|
||||||
then be used with any other dump_modify keyword that takes a color
|
then be used with any other dump_modify keyword that takes a color
|
||||||
name as a value. The RGB values should each be floating point values
|
name as a value. The RGB values should each be floating point values
|
||||||
@ -959,15 +958,15 @@ PNG library.
|
|||||||
|
|
||||||
To write *movie* dumps, you must use the -DLAMMPS_FFMPEG switch when
|
To write *movie* dumps, you must use the -DLAMMPS_FFMPEG switch when
|
||||||
building LAMMPS and have the FFmpeg executable available on the
|
building LAMMPS and have the FFmpeg executable available on the
|
||||||
machine where LAMMPS is being run. Typically it's name is lowercase,
|
machine where LAMMPS is being run. Typically its name is lowercase
|
||||||
i.e. ffmpeg.
|
(i.e., "ffmpeg").
|
||||||
|
|
||||||
See the :doc:`Build settings <Build_settings>` page for details.
|
See the :doc:`Build settings <Build_settings>` page for details.
|
||||||
|
|
||||||
Note that since FFmpeg is run as an external program via a pipe,
|
Note that since FFmpeg is run as an external program via a pipe,
|
||||||
LAMMPS has limited control over its execution and no knowledge about
|
LAMMPS has limited control over its execution and no knowledge about
|
||||||
errors and warnings printed by it. Those warnings and error messages
|
errors and warnings printed by it. Those warnings and error messages
|
||||||
will be printed to the screen only. Due to the way image data is
|
will be printed to the screen only. Due to the way image data are
|
||||||
communicated to FFmpeg, it will often print the message
|
communicated to FFmpeg, it will often print the message
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
@ -976,7 +975,7 @@ communicated to FFmpeg, it will often print the message
|
|||||||
|
|
||||||
which can be safely ignored. Other warnings
|
which can be safely ignored. Other warnings
|
||||||
and errors have to be addressed according to the FFmpeg documentation.
|
and errors have to be addressed according to the FFmpeg documentation.
|
||||||
One known issue is that certain movie file formats (e.g. MPEG level 1
|
One known issue is that certain movie file formats (e.g., MPEG level 1
|
||||||
and 2 format streams) have video bandwidth limits that can be crossed
|
and 2 format streams) have video bandwidth limits that can be crossed
|
||||||
when rendering too large of image sizes. Typical warnings look like
|
when rendering too large of image sizes. Typical warnings look like
|
||||||
this:
|
this:
|
||||||
@ -987,10 +986,9 @@ this:
|
|||||||
[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=281407 size=285018
|
[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=281407 size=285018
|
||||||
[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=283448 size=285018
|
[mpeg @ 0x98b5e0] buffer underflow st=0 bufi=283448 size=285018
|
||||||
|
|
||||||
In this case it is recommended to either reduce the size of the image
|
In this case it is recommended either to reduce the size of the image
|
||||||
or encode in a different format that is also supported by your copy of
|
or to encode in a different format that is also supported by your copy of
|
||||||
FFmpeg, and which does not have this limitation (e.g. .avi, .mkv,
|
FFmpeg and which does not have this limitation (e.g., .avi, .mkv, mp4).
|
||||||
mp4).
|
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|||||||
@ -17,7 +17,7 @@ Syntax
|
|||||||
* one or more keyword/value pairs may be appended
|
* one or more keyword/value pairs may be appended
|
||||||
|
|
||||||
* these keywords apply to various dump styles
|
* these keywords apply to various dump styles
|
||||||
* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *units* or *unwrap*
|
* keyword = *append* or *at* or *balance* or *buffer* or *colname* or *delay* or *element* or *every* or *every/time* or *fileper* or *first* or *flush* or *format* or *header* or *image* or *label* or *maxfiles* or *nfile* or *pad* or *pbc* or *precision* or *region* or *refresh* or *scale* or *sfactor* or *skip* or *sort* or *tfactor* or *thermo* or *thresh* or *time* or *units* or *unwrap*
|
||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
@ -35,10 +35,10 @@ Syntax
|
|||||||
*element* args = E1 E2 ... EN, where N = # of atom types
|
*element* args = E1 E2 ... EN, where N = # of atom types
|
||||||
E1,...,EN = element name (e.g., C or Fe or Ga)
|
E1,...,EN = element name (e.g., C or Fe or Ga)
|
||||||
*every* arg = N
|
*every* arg = N
|
||||||
N = dump every this many timesteps
|
N = dump on timesteps which are a multiple of N
|
||||||
N can be a variable (see below)
|
N can be a variable (see below)
|
||||||
*every/time* arg = Delta
|
*every/time* arg = Delta
|
||||||
Delta = dump every this interval in simulation time (time units)
|
Delta = dump once every Delta interval of simulation time (time units)
|
||||||
Delta can be a variable (see below)
|
Delta can be a variable (see below)
|
||||||
*fileper* arg = Np
|
*fileper* arg = Np
|
||||||
Np = write one file for every this many processors
|
Np = write one file for every this many processors
|
||||||
@ -65,6 +65,8 @@ Syntax
|
|||||||
*refresh* arg = c_ID = compute ID that supports a refresh operation
|
*refresh* arg = c_ID = compute ID that supports a refresh operation
|
||||||
*scale* arg = *yes* or *no*
|
*scale* arg = *yes* or *no*
|
||||||
*sfactor* arg = coordinate scaling factor (> 0.0)
|
*sfactor* arg = coordinate scaling factor (> 0.0)
|
||||||
|
*skip* arg = v_name
|
||||||
|
v_name = variable with name which evaluates to non-zero (skip) or 0
|
||||||
*sort* arg = *off* or *id* or N or -N
|
*sort* arg = *off* or *id* or N or -N
|
||||||
off = no sorting of per-atom lines within a snapshot
|
off = no sorting of per-atom lines within a snapshot
|
||||||
id = sort per-atom lines by atom ID
|
id = sort per-atom lines by atom ID
|
||||||
@ -176,6 +178,31 @@ extra buffering.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
.. versionadded:: 4May2022
|
||||||
|
|
||||||
|
The *colname* keyword can be used to change the default header keyword
|
||||||
|
for dump styles: *atom*, *custom*, and *cfg* and their compressed, ADIOS,
|
||||||
|
and MPIIO variants. The setting for *ID string* replaces the default
|
||||||
|
text with the provided string. *ID* can be a positive integer when it
|
||||||
|
represents the column number counting from the left, a negative integer
|
||||||
|
when it represents the column number from the right (i.e. -1 is the last
|
||||||
|
column/keyword), or a custom dump keyword (or compute, fix, property, or
|
||||||
|
variable reference) and then it replaces the string for that specific
|
||||||
|
keyword. For *atom* dump styles only the keywords "id", "type", "x",
|
||||||
|
"y", "z", "ix", "iy", "iz" can be accessed via string regardless of
|
||||||
|
whether scaled or unwrapped coordinates were enabled or disabled, and
|
||||||
|
it always assumes 8 columns for indexing regardless of whether image
|
||||||
|
flags are enabled or not. For dump style *cfg* only changes to the
|
||||||
|
"auxiliary" keywords (6th or later keyword) will become visible.
|
||||||
|
|
||||||
|
The *colname* keyword can be used multiple times. If multiple *colname*
|
||||||
|
settings refer to the same keyword, the last setting has precedence. A
|
||||||
|
setting of *default* clears all previous settings, reverting all values
|
||||||
|
to their default names. Using the *scale* or *image* keyword will also
|
||||||
|
reset all header keywords to their default values.
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
The *delay* keyword applies to all dump styles. No snapshots will be
|
The *delay* keyword applies to all dump styles. No snapshots will be
|
||||||
output until the specified *Dstep* timestep or later. Specifying
|
output until the specified *Dstep* timestep or later. Specifying
|
||||||
*Dstep* < 0 is the same as turning off the delay setting. This is a
|
*Dstep* < 0 is the same as turning off the delay setting. This is a
|
||||||
@ -207,13 +234,10 @@ will be accepted.
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
The *every* keyword can be used with any dump style except the *dcd*
|
The *every* keyword can be used with any dump style except the *dcd*
|
||||||
and *xtc* styles. It does two things. It specifies that the interval
|
and *xtc* styles. It specifies that the output of dump snapshots will
|
||||||
between dump snapshots will be set in timesteps, which is the default
|
now be performed on timesteps which are a multiple of a new :math:`N`
|
||||||
if the *every* or *every/time* keywords are not used. See the
|
value, This overrides the dump frequency originally specified by the
|
||||||
*every/time* keyword for how to specify the interval in simulation
|
:doc:`dump <dump>` command.
|
||||||
time, i.e. in time units of the :doc:`units <units>` command. The
|
|
||||||
*every* keyword also sets the interval value, which overrides the dump
|
|
||||||
frequency originally specified by the :doc:`dump <dump>` command.
|
|
||||||
|
|
||||||
The *every* keyword can be specified in one of two ways. It can be a
|
The *every* keyword can be specified in one of two ways. It can be a
|
||||||
numeric value in which case it must be > 0. Or it can be an
|
numeric value in which case it must be > 0. Or it can be an
|
||||||
@ -273,6 +297,17 @@ in file tmp.times:
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
The *every/time* keyword can be used with any dump style except the
|
||||||
|
*dcd* and *xtc* styles. It changes the frequency of dump snapshots
|
||||||
|
from being based on the current timestep to being determined by
|
||||||
|
elapsed simulation time, i.e. in time units of the :doc:`units
|
||||||
|
<units>` command, and specifies *Delta* for the interval between
|
||||||
|
snapshots. This can be useful when the timestep size varies during a
|
||||||
|
simulation run, e.g. by use of the :doc:`fix dt/reset <fix_dt_reset>`
|
||||||
|
command. The default is to perform output on timesteps which a
|
||||||
|
multiples of specified timestep value :math:`N`; see the *every*
|
||||||
|
keyword.
|
||||||
|
|
||||||
The *every/time* keyword can be used with any dump style except the
|
The *every/time* keyword can be used with any dump style except the
|
||||||
*dcd* and *xtc* styles. It does two things. It specifies that the
|
*dcd* and *xtc* styles. It does two things. It specifies that the
|
||||||
interval between dump snapshots will be set in simulation time
|
interval between dump snapshots will be set in simulation time
|
||||||
@ -357,7 +392,7 @@ always occur if the current timestep is a multiple of $N$, the
|
|||||||
frequency specified in the :doc:`dump <dump>` command or
|
frequency specified in the :doc:`dump <dump>` command or
|
||||||
:doc:`dump_modify every <dump_modify>` command, including timestep 0.
|
:doc:`dump_modify every <dump_modify>` command, including timestep 0.
|
||||||
It will also always occur if the current simulation time is a multiple
|
It will also always occur if the current simulation time is a multiple
|
||||||
of *Delta*, the time interval specified in the doc:`dump_modify
|
of *Delta*, the time interval specified in the :doc:`dump_modify
|
||||||
every/time <dump_modify>` command.
|
every/time <dump_modify>` command.
|
||||||
|
|
||||||
But if this is not the case, a dump snapshot will only be written if
|
But if this is not the case, a dump snapshot will only be written if
|
||||||
@ -365,7 +400,7 @@ the setting of this keyword is *yes*\ . If it is *no*, which is the
|
|||||||
default, then it will not be written.
|
default, then it will not be written.
|
||||||
|
|
||||||
Note that if the argument to the :doc:`dump_modify every
|
Note that if the argument to the :doc:`dump_modify every
|
||||||
<dump_modify>` doc:`dump_modify every/time <dump_modify>` commands is
|
<dump_modify>` :doc:`dump_modify every/time <dump_modify>` commands is
|
||||||
a variable and not a numeric value, then specifying *first yes* is the
|
a variable and not a numeric value, then specifying *first yes* is the
|
||||||
only way to write a dump snapshot on the first timestep after the dump
|
only way to write a dump snapshot on the first timestep after the dump
|
||||||
command is invoked.
|
command is invoked.
|
||||||
@ -380,6 +415,7 @@ performed with dump style *xtc*\ .
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
.. versionadded:: 4May2022
|
.. versionadded:: 4May2022
|
||||||
|
|
||||||
The *colname* keyword can be used to change the default header keyword
|
The *colname* keyword can be used to change the default header keyword
|
||||||
@ -404,6 +440,8 @@ to their default names.
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
=======
|
||||||
|
>>>>>>> develop
|
||||||
The *format* keyword can be used to change the default numeric format output
|
The *format* keyword can be used to change the default numeric format output
|
||||||
by the text-based dump styles: *atom*, *local*, *custom*, *cfg*, and
|
by the text-based dump styles: *atom*, *local*, *custom*, *cfg*, and
|
||||||
*xyz* styles, and their MPIIO variants. Only the *line* or *none*
|
*xyz* styles, and their MPIIO variants. Only the *line* or *none*
|
||||||
@ -490,6 +528,8 @@ boundary twice and is really two box lengths to the left of its
|
|||||||
current coordinate. Note that for dump style *custom* these various
|
current coordinate. Note that for dump style *custom* these various
|
||||||
values can be printed in the dump file by using the appropriate atom
|
values can be printed in the dump file by using the appropriate atom
|
||||||
attributes in the dump command itself.
|
attributes in the dump command itself.
|
||||||
|
Using this keyword will reset all custom header names set with
|
||||||
|
*dump_modify colname* to their respective default values.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -663,6 +703,8 @@ value of *yes* means atom coords are written in normalized units from
|
|||||||
(tilted), then all atom coords will still be between 0.0 and 1.0. A
|
(tilted), then all atom coords will still be between 0.0 and 1.0. A
|
||||||
value of *no* means they are written in absolute distance units
|
value of *no* means they are written in absolute distance units
|
||||||
(e.g., :math:`\mathrm{\mathring A}` or :math:`\sigma`).
|
(e.g., :math:`\mathrm{\mathring A}` or :math:`\sigma`).
|
||||||
|
Using this keyword will reset all custom header names set with
|
||||||
|
*dump_modify colname* to their respective default values.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -681,14 +723,33 @@ most effective when the typical magnitude of position data is between
|
|||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
.. versionadded:: 15Sep2022
|
||||||
|
|
||||||
|
The *skip* keyword can be used with all dump styles. It allows a dump
|
||||||
|
snapshot to be skipped (not written to the dump file), if a condition
|
||||||
|
is met. The condition is computed by an :doc:`equal-style variable
|
||||||
|
<variable>`, which should be specified as v_name, where name is the
|
||||||
|
variable name. If the variable evaluation returns a non-zero value,
|
||||||
|
then the dump snapshot is skipped. If it returns zero, the dump
|
||||||
|
proceeds as usual. Note that :doc:`equal-style variable <variable>`
|
||||||
|
can contain Boolean operators which effectively evaluate as a true
|
||||||
|
(non-zero) or false (zero) result.
|
||||||
|
|
||||||
|
The *skip* keyword can be useful for debugging purposes, e.g. to dump
|
||||||
|
only on a particular timestep. Or to limit output to conditions of
|
||||||
|
interest, e.g. only when the force on some atom exceeds a threshold
|
||||||
|
value.
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
The *sort* keyword determines whether lines of per-atom output in a
|
The *sort* keyword determines whether lines of per-atom output in a
|
||||||
snapshot are sorted or not. A sort value of *off* means they will
|
snapshot are sorted or not. A sort value of *off* means they will
|
||||||
typically be written in indeterminate order, either in serial or
|
typically be written in indeterminate order, either in serial or
|
||||||
parallel. This is the case even in serial if the
|
parallel. This is the case even in serial if the :doc:`atom_modify sort
|
||||||
:doc:`atom_modify sort <atom_modify>` option is turned on, which it is by
|
<atom_modify>` option is turned on, which it is by default, to improve
|
||||||
default, to improve performance. A sort value of *id* means sort the output by
|
performance. A sort value of *id* means sort the output by atom ID. A
|
||||||
atom ID. A sort value of :math:`N` or :math:`-N` means sort the output by the
|
sort value of :math:`N` or :math:`-N` means sort the output by the value
|
||||||
value in the :math:`N`\ th column of per-atom info in either ascending or
|
in the :math:`N`\ th column of per-atom info in either ascending or
|
||||||
descending order.
|
descending order.
|
||||||
|
|
||||||
The dump *local* style cannot be sorted by atom ID, since there are
|
The dump *local* style cannot be sorted by atom ID, since there are
|
||||||
@ -732,8 +793,8 @@ attributes that can be tested for are the same as those that can be
|
|||||||
specified in the :doc:`dump custom <dump>` command, with the exception
|
specified in the :doc:`dump custom <dump>` command, with the exception
|
||||||
of the *element* attribute, since it is not a numeric value. Note
|
of the *element* attribute, since it is not a numeric value. Note
|
||||||
that a different attributes can be used than those output by the
|
that a different attributes can be used than those output by the
|
||||||
:doc:`dump custom <dump>` command. For example, you can output the coordinates
|
:doc:`dump custom <dump>` command. For example, you can output the
|
||||||
and stress of atoms whose energy is above some threshold.
|
coordinates and stress of atoms whose energy is above some threshold.
|
||||||
|
|
||||||
If an atom-style variable is used as the attribute, then it can
|
If an atom-style variable is used as the attribute, then it can
|
||||||
produce continuous numeric values or effective Boolean 0/1 values,
|
produce continuous numeric values or effective Boolean 0/1 values,
|
||||||
|
|||||||
@ -6,13 +6,13 @@ dump vtk command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
dump ID group-ID vtk N file args
|
dump ID group-ID vtk N file args
|
||||||
|
|
||||||
* ID = user-assigned name for the dump
|
* ID = user-assigned name for the dump
|
||||||
* group-ID = ID of the group of atoms to be dumped
|
* group-ID = ID of the group of atoms to be dumped
|
||||||
* vtk = style of dump command (other styles *atom* or *cfg* or *dcd* or *xtc* or *xyz* or *local* or *custom* are discussed on the :doc:`dump <dump>` doc page)
|
* vtk = style of dump command (other styles such as *atom* or *cfg* or *dcd* or *xtc* or *xyz* or *local* or *custom* are discussed on the :doc:`dump <dump>` doc page)
|
||||||
* N = dump every this many timesteps
|
* N = dump every this many timesteps
|
||||||
* file = name of file to write dump info to
|
* file = name of file to write dump info to
|
||||||
* args = same as arguments for :doc:`dump_style custom <dump>`
|
* args = same as arguments for :doc:`dump_style custom <dump>`
|
||||||
@ -28,17 +28,18 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Dump a snapshot of atom quantities to one or more files every N
|
Dump a snapshot of atom quantities to one or more files every :math:`N`
|
||||||
timesteps in a format readable by the `VTK visualization toolkit <http://www.vtk.org>`_ or other visualization tools that use it,
|
timesteps in a format readable by the `VTK visualization toolkit <http://www.vtk.org>`_ or other visualization tools that use it,
|
||||||
e.g. `ParaView <http://www.paraview.org>`_. The timesteps on which dump
|
such as `ParaView <http://www.paraview.org>`_. The time steps on which dump
|
||||||
output is written can also be controlled by a variable; see the
|
output is written can also be controlled by a variable; see the
|
||||||
:doc:`dump_modify every <dump_modify>` command for details.
|
:doc:`dump_modify every <dump_modify>` command for details.
|
||||||
|
|
||||||
This dump style is similar to :doc:`dump_style custom <dump>` but uses
|
This dump style is similar to :doc:`dump_style custom <dump>` but uses
|
||||||
the VTK library to write data to VTK simple legacy or XML format
|
the VTK library to write data to VTK simple legacy or XML format,
|
||||||
depending on the filename extension specified for the dump file. This
|
depending on the filename extension specified for the dump file. This
|
||||||
can be either *\*.vtk* for the legacy format or *\*.vtp* and *\*.vtu*,
|
can be either *\*.vtk* for the legacy format or *\*.vtp* and *\*.vtu*,
|
||||||
respectively, for XML format; see the `VTK homepage <http://www.vtk.org/VTK/img/file-formats.pdf>`_ for a detailed
|
respectively, for XML format; see the
|
||||||
|
`VTK homepage <http://www.vtk.org/VTK/img/file-formats.pdf>`_ for a detailed
|
||||||
description of these formats. Since this naming convention conflicts
|
description of these formats. Since this naming convention conflicts
|
||||||
with the way binary output is usually specified (see below), the
|
with the way binary output is usually specified (see below), the
|
||||||
:doc:`dump_modify binary <dump_modify>` command allows setting of a
|
:doc:`dump_modify binary <dump_modify>` command allows setting of a
|
||||||
|
|||||||
@ -312,6 +312,7 @@ accelerated styles exist.
|
|||||||
* :doc:`orient/fcc <fix_orient>` - add grain boundary migration force for FCC
|
* :doc:`orient/fcc <fix_orient>` - add grain boundary migration force for FCC
|
||||||
* :doc:`orient/eco <fix_orient_eco>` - add generalized grain boundary migration force
|
* :doc:`orient/eco <fix_orient_eco>` - add generalized grain boundary migration force
|
||||||
* :doc:`pafi <fix_pafi>` - constrained force averages on hyper-planes to compute free energies (PAFI)
|
* :doc:`pafi <fix_pafi>` - constrained force averages on hyper-planes to compute free energies (PAFI)
|
||||||
|
* :doc:`pair <fix_pair>` - access per-atom info from pair styles
|
||||||
* :doc:`phonon <fix_phonon>` - calculate dynamical matrix from MD simulations
|
* :doc:`phonon <fix_phonon>` - calculate dynamical matrix from MD simulations
|
||||||
* :doc:`pimd <fix_pimd>` - Feynman path integral molecular dynamics
|
* :doc:`pimd <fix_pimd>` - Feynman path integral molecular dynamics
|
||||||
* :doc:`planeforce <fix_planeforce>` - constrain atoms to move in a plane
|
* :doc:`planeforce <fix_planeforce>` - constrain atoms to move in a plane
|
||||||
|
|||||||
@ -6,8 +6,7 @@ fix accelerate/cos command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
|
.. code-block:: LAMMPS
|
||||||
.. parsed-literal::
|
|
||||||
|
|
||||||
fix ID group-ID accelerate value
|
fix ID group-ID accelerate value
|
||||||
|
|
||||||
@ -19,7 +18,6 @@ Syntax
|
|||||||
Examples
|
Examples
|
||||||
""""""""
|
""""""""
|
||||||
|
|
||||||
|
|
||||||
.. code-block:: LAMMPS
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
fix 1 all accelerate/cos 0.02e-5
|
fix 1 all accelerate/cos 0.02e-5
|
||||||
@ -34,8 +32,8 @@ The acceleration is a periodic function along the z-direction:
|
|||||||
|
|
||||||
a_{x}(z) = A \cos \left(\frac{2 \pi z}{l_{z}}\right)
|
a_{x}(z) = A \cos \left(\frac{2 \pi z}{l_{z}}\right)
|
||||||
|
|
||||||
where :math:`A` is the acceleration amplitude, :math:`l_z` is the z-length
|
where :math:`A` is the acceleration amplitude, :math:`l_z` is the
|
||||||
of the simulation box.
|
:math:`z`-length of the simulation box.
|
||||||
At steady state, the acceleration generates a velocity profile:
|
At steady state, the acceleration generates a velocity profile:
|
||||||
|
|
||||||
.. math::
|
.. math::
|
||||||
@ -49,17 +47,18 @@ shear viscosity :math:`\eta` by:
|
|||||||
|
|
||||||
V = \frac{A \rho}{\eta}\left(\frac{l_{z}}{2 \pi}\right)^{2}
|
V = \frac{A \rho}{\eta}\left(\frac{l_{z}}{2 \pi}\right)^{2}
|
||||||
|
|
||||||
|
|
||||||
and it can be obtained from ensemble average of the velocity profile:
|
and it can be obtained from ensemble average of the velocity profile:
|
||||||
|
|
||||||
.. math::
|
.. math::
|
||||||
|
|
||||||
V = \frac{\sum_i 2 m_{i} v_{i, x} \cos \left(\frac{2 \pi z_i}{l_{z}}\right)}{\sum_i m_{i}}
|
V = \frac{\sum\limits_i 2 m_{i} v_{i, x} \cos \left(\frac{2 \pi z_i}{l_{z}}\right)}{\sum\limits_i m_{i}},
|
||||||
|
|
||||||
where :math:`m_i`, :math:`v_{i,x}` and :math:`z_i` are the mass,
|
where :math:`m_i`, :math:`v_{i,x}`, and :math:`z_i` are the mass,
|
||||||
x-component velocity and z coordinate of a particle.
|
:math:`x`-component velocity, and :math:`z`-coordinate of a particle,
|
||||||
|
respectively.
|
||||||
|
|
||||||
The velocity amplitude :math:`V` can be calculated with :doc:`compute viscosity/cos <compute_viscosity_cos>`,
|
The velocity amplitude :math:`V` can be calculated with
|
||||||
|
:doc:`compute viscosity/cos <compute_viscosity_cos>`,
|
||||||
which enables viscosity calculation with periodic perturbation method,
|
which enables viscosity calculation with periodic perturbation method,
|
||||||
as described by :ref:`Hess<Hess2>`.
|
as described by :ref:`Hess<Hess2>`.
|
||||||
Because the applied acceleration drives the system away from equilibration,
|
Because the applied acceleration drives the system away from equilibration,
|
||||||
@ -79,15 +78,17 @@ Restart, fix_modify, output, run start/stop, minimize info
|
|||||||
|
|
||||||
No information about this fix is written to binary restart files.
|
No information about this fix is written to binary restart files.
|
||||||
None of the fix_modify options are relevant to this fix.
|
None of the fix_modify options are relevant to this fix.
|
||||||
No global or per-atom quantities are stored by this fix for access by various output commands.
|
No global or per-atom quantities are stored by this fix for access by various
|
||||||
No parameter of this fix can be used with the start/stop keywords of the run command.
|
output commands. No parameter of this fix can be used with the start/stop
|
||||||
|
keywords of the run command.
|
||||||
This fix is not invoked during energy minimization.
|
This fix is not invoked during energy minimization.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
|
|
||||||
This command is only available when LAMMPS was built with the MISC package.
|
This command is only available when LAMMPS was built with the MISC package.
|
||||||
Since this fix depends on the z-coordinate of atoms, it cannot be used in 2d simulations.
|
Since this fix depends on the :math:`z`-coordinate of atoms, it cannot be used
|
||||||
|
in 2d simulations.
|
||||||
|
|
||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
@ -96,10 +97,10 @@ Related commands
|
|||||||
|
|
||||||
Default
|
Default
|
||||||
"""""""
|
"""""""
|
||||||
none
|
none
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
.. _Hess2:
|
.. _Hess2:
|
||||||
|
|
||||||
**(Hess)** Hess, B. The Journal of Chemical Physics 2002, 116 (1), 209-217.
|
**(Hess)** Hess, B. Journal of Chemical Physics 2002, 116 (1), 209--217.
|
||||||
|
|||||||
@ -9,7 +9,7 @@ Accelerator Variants: *acks2/reaxff/kk*
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
fix ID group-ID acks2/reaxff Nevery cutlo cuthi tolerance params args
|
fix ID group-ID acks2/reaxff Nevery cutlo cuthi tolerance params args
|
||||||
|
|
||||||
@ -37,10 +37,10 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Perform the atom-condensed Kohn-Sham DFT to second order (ACKS2) charge
|
Perform the atom-condensed Kohn--Sham DFT to second order (ACKS2) charge
|
||||||
equilibration method as described in :ref:`(Verstraelen) <Verstraelen>`.
|
equilibration method as described in :ref:`(Verstraelen) <Verstraelen>`.
|
||||||
ACKS2 impedes unphysical long-range charge transfer sometimes seen with
|
ACKS2 impedes unphysical long-range charge transfer sometimes seen with
|
||||||
QEq (e.g. for dissociation of molecules), at increased computational
|
QEq (e.g., for dissociation of molecules), at increased computational
|
||||||
cost. It is typically used in conjunction with the ReaxFF force field
|
cost. It is typically used in conjunction with the ReaxFF force field
|
||||||
model as implemented in the :doc:`pair_style reaxff <pair_reaxff>`
|
model as implemented in the :doc:`pair_style reaxff <pair_reaxff>`
|
||||||
command, but it can be used with any potential in LAMMPS, so long as it
|
command, but it can be used with any potential in LAMMPS, so long as it
|
||||||
@ -71,7 +71,8 @@ potential in eV, *gamma*, the valence orbital exponent, and *bcut*, the
|
|||||||
bond cutoff distance. Note that these 4 quantities are also in the
|
bond cutoff distance. Note that these 4 quantities are also in the
|
||||||
ReaxFF potential file, except that eta is defined here as twice the eta
|
ReaxFF potential file, except that eta is defined here as twice the eta
|
||||||
value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units
|
value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units
|
||||||
of this fix are hard-coded to be A, eV, and electronic charge.
|
of this fix are hard-coded to be :math:`\mathrm{\mathring{A}}`, eV, and
|
||||||
|
electronic charge.
|
||||||
|
|
||||||
The optional *maxiter* keyword allows changing the max number
|
The optional *maxiter* keyword allows changing the max number
|
||||||
of iterations in the linear solver. The default value is 200.
|
of iterations in the linear solver. The default value is 200.
|
||||||
@ -110,7 +111,7 @@ LAMMPS was built with that package. See the :doc:`Build package
|
|||||||
|
|
||||||
This fix does not correctly handle interactions involving multiple
|
This fix does not correctly handle interactions involving multiple
|
||||||
periodic images of the same atom. Hence, it should not be used for
|
periodic images of the same atom. Hence, it should not be used for
|
||||||
periodic cell dimensions less than 10 angstroms.
|
periodic cell dimensions less than :math:`10~\mathrm{\mathring{A}}`.
|
||||||
|
|
||||||
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
This fix may be used in combination with :doc:`fix efield <fix_efield>`
|
||||||
and will apply the external electric field during charge equilibration,
|
and will apply the external electric field during charge equilibration,
|
||||||
@ -132,7 +133,7 @@ maxiter 200
|
|||||||
|
|
||||||
.. _O'Hearn:
|
.. _O'Hearn:
|
||||||
|
|
||||||
**(O'Hearn)** O'Hearn, Alperen, Aktulga, SIAM J. Sci. Comput., 42(1), C1-C22 (2020).
|
**(O'Hearn)** O'Hearn, Alperen, Aktulga, SIAM J. Sci. Comput., 42(1), C1--C22 (2020).
|
||||||
|
|
||||||
.. _Verstraelen:
|
.. _Verstraelen:
|
||||||
|
|
||||||
|
|||||||
@ -6,7 +6,7 @@ fix adapt command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
fix ID group-ID adapt N attribute args ... keyword value ...
|
fix ID group-ID adapt N attribute args ... keyword value ...
|
||||||
|
|
||||||
@ -19,24 +19,24 @@ Syntax
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*pair* args = pstyle pparam I J v_name
|
*pair* args = pstyle pparam I J v_name
|
||||||
pstyle = pair style name, e.g. lj/cut
|
pstyle = pair style name (e.g., lj/cut)
|
||||||
pparam = parameter to adapt over time
|
pparam = parameter to adapt over time
|
||||||
I,J = type pair(s) to set parameter for
|
I,J = type pair(s) to set parameter for
|
||||||
v_name = variable with name that calculates value of pparam
|
v_name = variable with name that calculates value of pparam
|
||||||
*bond* args = bstyle bparam I v_name
|
*bond* args = bstyle bparam I v_name
|
||||||
bstyle = bond style name, e.g. harmonic
|
bstyle = bond style name (e.g., harmonic)
|
||||||
bparam = parameter to adapt over time
|
bparam = parameter to adapt over time
|
||||||
I = type bond to set parameter for
|
I = type bond to set parameter for
|
||||||
v_name = variable with name that calculates value of bparam
|
v_name = variable with name that calculates value of bparam
|
||||||
*angle* args = astyle aparam I v_name
|
*angle* args = astyle aparam I v_name
|
||||||
astyle = angle style name, e.g. harmonic
|
astyle = angle style name (e.g., harmonic)
|
||||||
aparam = parameter to adapt over time
|
aparam = parameter to adapt over time
|
||||||
I = type angle to set parameter for
|
I = type angle to set parameter for
|
||||||
v_name = variable with name that calculates value of aparam
|
v_name = variable with name that calculates value of aparam
|
||||||
*kspace* arg = v_name
|
*kspace* arg = v_name
|
||||||
v_name = variable with name that calculates scale factor on K-space terms
|
v_name = variable with name that calculates scale factor on :math:`k`-space terms
|
||||||
*atom* args = atomparam v_name
|
*atom* args = atomparam v_name
|
||||||
atomparam = parameter to adapt over time
|
atomparam = *charge* or *diameter* or *diameter/disc* = parameter to adapt over time
|
||||||
v_name = variable with name that calculates value of atomparam
|
v_name = variable with name that calculates value of atomparam
|
||||||
|
|
||||||
* zero or more keyword/value pairs may be appended
|
* zero or more keyword/value pairs may be appended
|
||||||
@ -44,15 +44,15 @@ Syntax
|
|||||||
|
|
||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*scale* value = *no* or *yes*
|
*scale* value = *no* or *yes*
|
||||||
*no* = the variable value is the new setting
|
*no* = the variable value is the new setting
|
||||||
*yes* = the variable value multiplies the original setting
|
*yes* = the variable value multiplies the original setting
|
||||||
*reset* value = *no* or *yes*
|
*reset* value = *no* or *yes*
|
||||||
*no* = values will remain altered at the end of a run
|
*no* = values will remain altered at the end of a run
|
||||||
*yes* = reset altered values to their original values at the end of a run
|
*yes* = reset altered values to their original values at the end of a run
|
||||||
*mass* value = *no* or *yes*
|
*mass* value = *no* or *yes*
|
||||||
*no* = mass is not altered by changes in diameter
|
*no* = mass is not altered by changes in diameter
|
||||||
*yes* = mass is altered by changes in diameter
|
*yes* = mass is altered by changes in diameter
|
||||||
|
|
||||||
Examples
|
Examples
|
||||||
""""""""
|
""""""""
|
||||||
@ -70,22 +70,22 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Change or adapt one or more specific simulation attributes or settings
|
Change or adapt one or more specific simulation attributes or settings over
|
||||||
over time as a simulation runs. Pair potential and K-space and atom
|
time as a simulation runs. Pair potential and :math:`k`-space and atom
|
||||||
attributes which can be varied by this fix are discussed below. Many
|
attributes which can be varied by this fix are discussed below. Many other
|
||||||
other fixes can also be used to time-vary simulation parameters,
|
fixes can also be used to time-vary simulation parameters (e.g., the
|
||||||
e.g. the "fix deform" command will change the simulation box
|
:doc:`fix deform <fix_deform>` command will change the simulation box
|
||||||
size/shape and the "fix move" command will change atom positions and
|
size/shape and the :doc:`fix move <fix_move>` command will change atom
|
||||||
velocities in a prescribed manner. Also note that many commands allow
|
positions and velocities in a prescribed manner). Also note that many commands
|
||||||
variables as arguments for specific parameters, if described in that
|
allow variables as arguments for specific parameters, if described in that
|
||||||
manner on their doc pages. An equal-style variable can calculate a
|
manner on their doc pages. An equal-style variable can calculate a
|
||||||
time-dependent quantity, so this is another way to vary a simulation
|
time-dependent quantity, so this is another way to vary a simulation parameter
|
||||||
parameter over time.
|
over time.
|
||||||
|
|
||||||
If *N* is specified as 0, the specified attributes are only changed
|
If :math:`N` is specified as 0, the specified attributes are only changed
|
||||||
once, before the simulation begins. This is all that is needed if the
|
once, before the simulation begins. This is all that is needed if the
|
||||||
associated variables are not time-dependent. If *N* > 0, then changes
|
associated variables are not time-dependent. If :math:`N > 0`, then changes
|
||||||
are made every *N* steps during the simulation, presumably with a
|
are made every :math:`N` steps during the simulation, presumably with a
|
||||||
variable that is time-dependent.
|
variable that is time-dependent.
|
||||||
|
|
||||||
Depending on the value of the *reset* keyword, attributes changed by
|
Depending on the value of the *reset* keyword, attributes changed by
|
||||||
@ -98,9 +98,9 @@ If the *scale* keyword is set to *no*, which is the default, then
|
|||||||
the value of the altered parameter will be whatever the variable
|
the value of the altered parameter will be whatever the variable
|
||||||
generates. If the *scale* keyword is set to *yes*, then the value
|
generates. If the *scale* keyword is set to *yes*, then the value
|
||||||
of the altered parameter will be the initial value of that parameter
|
of the altered parameter will be the initial value of that parameter
|
||||||
multiplied by whatever the variable generates. I.e. the variable is
|
multiplied by whatever the variable generates (i.e., the variable is
|
||||||
now a "scale factor" applied in (presumably) a time-varying fashion to
|
now a "scale factor" applied in (presumably) a time-varying fashion to
|
||||||
the parameter.
|
the parameter).
|
||||||
|
|
||||||
Note that whether scale is *no* or *yes*, internally, the parameters
|
Note that whether scale is *no* or *yes*, internally, the parameters
|
||||||
themselves are actually altered by this fix. Make sure you use the
|
themselves are actually altered by this fix. Make sure you use the
|
||||||
@ -120,8 +120,8 @@ The *pstyle* argument is the name of the pair style. If
|
|||||||
:doc:`pair_style hybrid or hybrid/overlay <pair_hybrid>` is used,
|
:doc:`pair_style hybrid or hybrid/overlay <pair_hybrid>` is used,
|
||||||
*pstyle* should be a sub-style name. If there are multiple
|
*pstyle* should be a sub-style name. If there are multiple
|
||||||
sub-styles using the same pair style, then *pstyle* should be specified
|
sub-styles using the same pair style, then *pstyle* should be specified
|
||||||
as "style:N" where N is which instance of the pair style you wish to
|
as "style:N", where :math:`N` is which instance of the pair style you wish to
|
||||||
adapt, e.g. the first, second, etc. For example, *pstyle* could be
|
adapt (e.g., the first or second). For example, *pstyle* could be
|
||||||
specified as "soft" or "lubricate" or "lj/cut:1" or "lj/cut:2". The
|
specified as "soft" or "lubricate" or "lj/cut:1" or "lj/cut:2". The
|
||||||
*pparam* argument is the name of the parameter to change. This is the
|
*pparam* argument is the name of the parameter to change. This is the
|
||||||
current list of pair styles and parameters that can be varied by this
|
current list of pair styles and parameters that can be varied by this
|
||||||
@ -216,60 +216,61 @@ formulas for the meaning of these parameters:
|
|||||||
to this list. All it typically takes is adding an extract() method to
|
to this list. All it typically takes is adding an extract() method to
|
||||||
the pair\_\*.cpp file associated with the potential.
|
the pair\_\*.cpp file associated with the potential.
|
||||||
|
|
||||||
Some parameters are global settings for the pair style, e.g. the
|
Some parameters are global settings for the pair style (e.g., the
|
||||||
viscosity setting "mu" for :doc:`pair_style lubricate <pair_lubricate>`.
|
viscosity setting "mu" for :doc:`pair_style lubricate <pair_lubricate>`).
|
||||||
Other parameters apply to atom type pairs within the pair style,
|
Other parameters apply to atom type pairs within the pair style (e.g., the
|
||||||
e.g. the prefactor "a" for :doc:`pair_style soft <pair_soft>`.
|
prefactor :math:`a` for :doc:`pair_style soft <pair_soft>`).
|
||||||
|
|
||||||
Note that for many of the potentials, the parameter that can be varied
|
Note that for many of the potentials, the parameter that can be varied
|
||||||
is effectively a prefactor on the entire energy expression for the
|
is effectively a prefactor on the entire energy expression for the
|
||||||
potential, e.g. the lj/cut epsilon. The parameters listed as "scale"
|
potential (e.g., the lj/cut epsilon). The parameters listed as "scale"
|
||||||
are exactly that, since the energy expression for the
|
are exactly that, since the energy expression for the
|
||||||
:doc:`coul/cut <pair_coul>` potential (for example) has no labeled
|
:doc:`coul/cut <pair_coul>` potential (for example) has no labeled
|
||||||
prefactor in its formula. To apply an effective prefactor to some
|
prefactor in its formula. To apply an effective prefactor to some
|
||||||
potentials, multiple parameters need to be altered. For example, the
|
potentials, multiple parameters need to be altered. For example, the
|
||||||
:doc:`Buckingham potential <pair_buck>` needs both the A and C terms
|
:doc:`Buckingham potential <pair_buck>` needs both the :math:`A` and
|
||||||
altered together. To scale the Buckingham potential, you should thus
|
:math:`C` terms altered together. To scale the Buckingham potential, you
|
||||||
list the pair style twice, once for A and once for C.
|
should thus list the pair style twice, once for :math:`A` and once for
|
||||||
|
:math:`C`.
|
||||||
|
|
||||||
If a type pair parameter is specified, the *I* and *J* settings should
|
If a type pair parameter is specified, the :math:`I` and :math:`J` settings
|
||||||
be specified to indicate which type pairs to apply it to. If a global
|
should be specified to indicate which type pairs to apply it to. If a global
|
||||||
parameter is specified, the *I* and *J* settings still need to be
|
parameter is specified, the :math:`I` and :math:`J` settings still need to be
|
||||||
specified, but are ignored.
|
specified, but are ignored.
|
||||||
|
|
||||||
Similar to the :doc:`pair_coeff command <pair_coeff>`, I and J can be
|
Similar to the :doc:`pair_coeff command <pair_coeff>`, :math:`I` and :math:`J`
|
||||||
specified in one of two ways. Explicit numeric values can be used for
|
can be specified in one of two ways. Explicit numeric values can be used for
|
||||||
each, as in the first example above. I <= J is required. LAMMPS sets
|
each, as in the first example above. :math:`I \le J` is required. LAMMPS sets
|
||||||
the coefficients for the symmetric J,I interaction to the same values.
|
the coefficients for the symmetric :math:`J,I` interaction to the same values.
|
||||||
|
|
||||||
A wild-card asterisk can be used in place of or in conjunction with
|
A wild-card asterisk can be used in place of or in conjunction with
|
||||||
the I,J arguments to set the coefficients for multiple pairs of atom
|
the :math:`I,J` arguments to set the coefficients for multiple pairs of atom
|
||||||
types. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N =
|
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N`
|
||||||
the number of atom types, then an asterisk with no numeric values
|
is the number of atom types, then an asterisk with no numeric values
|
||||||
means all types from 1 to N. A leading asterisk means all types from
|
means all types from 1 to :math:`N`. A leading asterisk means all types from
|
||||||
1 to n (inclusive). A trailing asterisk means all types from n to N
|
1 to n (inclusive). A trailing asterisk means all types from m to :math:`N`
|
||||||
(inclusive). A middle asterisk means all types from m to n
|
(inclusive). A middle asterisk means all types from m to n
|
||||||
(inclusive). Note that only type pairs with I <= J are considered; if
|
(inclusive). Note that only type pairs with :math:`I \le J` are considered; if
|
||||||
asterisks imply type pairs where J < I, they are ignored.
|
asterisks imply type pairs where :math:`J < I`, they are ignored.
|
||||||
|
|
||||||
IMPROTANT NOTE: If :doc:`pair_style hybrid or hybrid/overlay
|
IMPORTANT NOTE: If :doc:`pair_style hybrid or hybrid/overlay
|
||||||
<pair_hybrid>` is being used, then the *pstyle* will be a sub-style
|
<pair_hybrid>` is being used, then the *pstyle* will be a sub-style
|
||||||
name. You must specify I,J arguments that correspond to type pair
|
name. You must specify :math:`I,J` arguments that correspond to type pair
|
||||||
values defined (via the :doc:`pair_coeff <pair_coeff>` command) for
|
values defined (via the :doc:`pair_coeff <pair_coeff>` command) for
|
||||||
that sub-style.
|
that sub-style.
|
||||||
|
|
||||||
The *v_name* argument for keyword *pair* is the name of an
|
The *v_name* argument for keyword *pair* is the name of an
|
||||||
:doc:`equal-style variable <variable>` which will be evaluated each
|
:doc:`equal-style variable <variable>` which will be evaluated each time
|
||||||
time this fix is invoked to set the parameter to a new value. It
|
this fix is invoked to set the parameter to a new value. It should be
|
||||||
should be specified as v_name, where name is the variable name.
|
specified as v_name, where name is the variable name. Equal-style
|
||||||
Equal-style variables can specify formulas with various mathematical
|
variables can specify formulas with various mathematical functions, and
|
||||||
functions, and include :doc:`thermo_style <thermo_style>` command
|
include :doc:`thermo_style <thermo_style>` command keywords for the
|
||||||
keywords for the simulation box parameters and timestep and elapsed
|
simulation box parameters and timestep and elapsed time. Thus it is
|
||||||
time. Thus it is easy to specify parameters that change as a function
|
easy to specify parameters that change as a function of time or span
|
||||||
of time or span consecutive runs in a continuous fashion. For the
|
consecutive runs in a continuous fashion. For the latter, see the
|
||||||
latter, see the *start* and *stop* keywords of the :doc:`run <run>`
|
*start* and *stop* keywords of the :doc:`run <run>` command and the
|
||||||
command and the *elaplong* keyword of :doc:`thermo_style custom
|
*elaplong* keyword of :doc:`thermo_style custom <thermo_style>` for
|
||||||
<thermo_style>` for details.
|
details.
|
||||||
|
|
||||||
For example, these commands would change the prefactor coefficient of
|
For example, these commands would change the prefactor coefficient of
|
||||||
the :doc:`pair_style soft <pair_soft>` potential from 10.0 to 30.0 in a
|
the :doc:`pair_style soft <pair_soft>` potential from 10.0 to 30.0 in a
|
||||||
@ -287,13 +288,13 @@ a bond coefficient over time, very similar to how the *pair* keyword
|
|||||||
operates. The only difference is that now a bond coefficient for a
|
operates. The only difference is that now a bond coefficient for a
|
||||||
given bond type is adapted.
|
given bond type is adapted.
|
||||||
|
|
||||||
A wild-card asterisk can be used in place of or in conjunction with
|
A wild-card asterisk can be used in place of or in conjunction with the
|
||||||
the bond type argument to set the coefficients for multiple bond
|
bond type argument to set the coefficients for multiple bond types.
|
||||||
types. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N =
|
This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is
|
||||||
the number of bond types, then an asterisk with no numeric values
|
the number of bond types, then an asterisk with no numeric values means
|
||||||
means all types from 1 to N. A leading asterisk means all types from
|
all types from 1 to :math:`N`. A leading asterisk means all types from
|
||||||
1 to n (inclusive). A trailing asterisk means all types from n to N
|
1 to n (inclusive). A trailing asterisk means all types from m to
|
||||||
(inclusive). A middle asterisk means all types from m to n
|
:math:`N` (inclusive). A middle asterisk means all types from m to n
|
||||||
(inclusive).
|
(inclusive).
|
||||||
|
|
||||||
Currently *bond* does not support bond_style hybrid nor bond_style
|
Currently *bond* does not support bond_style hybrid nor bond_style
|
||||||
@ -323,13 +324,13 @@ an angle coefficient over time, very similar to how the *pair* keyword
|
|||||||
operates. The only difference is that now an angle coefficient for a
|
operates. The only difference is that now an angle coefficient for a
|
||||||
given angle type is adapted.
|
given angle type is adapted.
|
||||||
|
|
||||||
A wild-card asterisk can be used in place of or in conjunction with
|
A wild-card asterisk can be used in place of or in conjunction with the
|
||||||
the angle type argument to set the coefficients for multiple angle
|
angle type argument to set the coefficients for multiple angle types.
|
||||||
types. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N =
|
This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is
|
||||||
the number of angle types, then an asterisk with no numeric values
|
the number of angle types, then an asterisk with no numeric values means
|
||||||
means all types from 1 to N. A leading asterisk means all types from
|
all types from 1 to :math:`N`. A leading asterisk means all types from
|
||||||
1 to n (inclusive). A trailing asterisk means all types from n to N
|
1 to n (inclusive). A trailing asterisk means all types from m to
|
||||||
(inclusive). A middle asterisk means all types from m to n
|
:math:`N` (inclusive). A middle asterisk means all types from m to n
|
||||||
(inclusive).
|
(inclusive).
|
||||||
|
|
||||||
Currently *angle* does not support angle_style hybrid nor angle_style
|
Currently *angle* does not support angle_style hybrid nor angle_style
|
||||||
@ -348,7 +349,7 @@ this fix uses to reset theta0 needs to generate values in radians.
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
The *kspace* keyword used the specified variable as a scale factor on
|
The *kspace* keyword used the specified variable as a scale factor on
|
||||||
the energy, forces, virial calculated by whatever K-Space solver is
|
the energy, forces, virial calculated by whatever :math:`k`-space solver is
|
||||||
defined by the :doc:`kspace_style <kspace_style>` command. If the
|
defined by the :doc:`kspace_style <kspace_style>` command. If the
|
||||||
variable has a value of 1.0, then the solver is unaltered.
|
variable has a value of 1.0, then the solver is unaltered.
|
||||||
|
|
||||||
@ -373,17 +374,17 @@ with equal-style variables. The new value is assigned to the
|
|||||||
corresponding attribute for all atoms in the fix group.
|
corresponding attribute for all atoms in the fix group.
|
||||||
|
|
||||||
If the atom parameter is *diameter* and per-atom density and per-atom
|
If the atom parameter is *diameter* and per-atom density and per-atom
|
||||||
mass are defined for particles (e.g. :doc:`atom_style granular
|
mass are defined for particles (e.g., :doc:`atom_style granular
|
||||||
<atom_style>`), then the mass of each particle is, by default, also
|
<atom_style>`), then the mass of each particle is, by default, also
|
||||||
changed when the diameter changes. The mass is set from the particle
|
changed when the diameter changes. The mass is set from the particle
|
||||||
volume for 3d systems (density is assumed to stay constant). For 2d,
|
volume for 3d systems (density is assumed to stay constant). For 2d,
|
||||||
the default is for LAMMPS to model particles with a radius attribute
|
the default is for LAMMPS to model particles with a radius attribute
|
||||||
as spheres. However, if the atom parameter is *diameter/disc*, then the
|
as spheres. However, if the atom parameter is *diameter/disc*, then the
|
||||||
mass is set from the particle area (the density is assumed to be in
|
mass is set from the particle area (the density is assumed to be in
|
||||||
mass/distance^2 units). The mass of the particle may also be kept constant
|
mass/distance\ :math:`^2` units). The mass of the particle may also be kept
|
||||||
if the *mass* keyword is set to *no*. This can be useful to account for
|
constant if the *mass* keyword is set to *no*. This can be useful to account
|
||||||
diameter changes that do not involve mass changes, e.g., thermal expansion.
|
for diameter changes that do not involve mass changes (e.g., thermal
|
||||||
|
expansion).
|
||||||
|
|
||||||
For example, these commands would shrink the diameter of all granular
|
For example, these commands would shrink the diameter of all granular
|
||||||
particles in the "center" group from 1.0 to 0.1 in a linear fashion
|
particles in the "center" group from 1.0 to 0.1 in a linear fashion
|
||||||
@ -405,11 +406,11 @@ their original values at the end of the last restarted run.
|
|||||||
|
|
||||||
Note that all the parameters changed by this fix are written into a
|
Note that all the parameters changed by this fix are written into a
|
||||||
restart file in their current changed state. A new restarted
|
restart file in their current changed state. A new restarted
|
||||||
simulation does not know their original time=0 values, unless the
|
simulation does not know the original time=0 values, unless the
|
||||||
input script explicitly resets the parameters (after the restart file
|
input script explicitly resets the parameters (after the restart file
|
||||||
is read), to their original values.
|
is read) to the original values.
|
||||||
|
|
||||||
Also note, that the time-dependent variable(s) used in the restart
|
Also note that the time-dependent variable(s) used in the restart
|
||||||
script should typically be written as a function of time elapsed since
|
script should typically be written as a function of time elapsed since
|
||||||
the original simulation began.
|
the original simulation began.
|
||||||
|
|
||||||
@ -430,8 +431,8 @@ the one used in the original script.
|
|||||||
|
|
||||||
In a restarted run, if the *reset* keyword is set to *yes*, and the
|
In a restarted run, if the *reset* keyword is set to *yes*, and the
|
||||||
run ends in this script (as opposed to just writing more restart
|
run ends in this script (as opposed to just writing more restart
|
||||||
files, parameters will be restored to the values they were at the
|
files), parameters will be restored to the values they were at the
|
||||||
beginning of the run command in the restart script. Which as
|
beginning of the run command in the restart script, which as
|
||||||
explained above, may or may not be the original values of the
|
explained above, may or may not be the original values of the
|
||||||
parameters. Again, an exception is if the *atom* keyword is being
|
parameters. Again, an exception is if the *atom* keyword is being
|
||||||
used with *reset yes* (in all the runs). In that case, the original
|
used with *reset yes* (in all the runs). In that case, the original
|
||||||
|
|||||||
@ -6,7 +6,7 @@ fix adapt/fep command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
fix ID group-ID adapt/fep N attribute args ... keyword value ...
|
fix ID group-ID adapt/fep N attribute args ... keyword value ...
|
||||||
|
|
||||||
@ -19,7 +19,7 @@ Syntax
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*pair* args = pstyle pparam I J v_name
|
*pair* args = pstyle pparam I J v_name
|
||||||
pstyle = pair style name, e.g. lj/cut
|
pstyle = pair style name (e.g., lj/cut)
|
||||||
pparam = parameter to adapt over time
|
pparam = parameter to adapt over time
|
||||||
I,J = type pair(s) to set parameter for
|
I,J = type pair(s) to set parameter for
|
||||||
v_name = variable with name that calculates value of pparam
|
v_name = variable with name that calculates value of pparam
|
||||||
@ -66,12 +66,12 @@ Change or adapt one or more specific simulation attributes or settings
|
|||||||
over time as a simulation runs.
|
over time as a simulation runs.
|
||||||
|
|
||||||
This is an enhanced version of the :doc:`fix adapt <fix_adapt>` command
|
This is an enhanced version of the :doc:`fix adapt <fix_adapt>` command
|
||||||
with two differences,
|
with two differences:
|
||||||
|
|
||||||
* It is possible to modify the charges of chosen atom types only,
|
* It is possible to modify the charges of chosen atom types only,
|
||||||
instead of scaling all the charges in the system.
|
instead of scaling all the charges in the system.
|
||||||
* There is a new option *after* for better compatibility with "fix
|
* There is a new option *after* for better compatibility with
|
||||||
ave/time".
|
:doc:`fix ave/time <fix_ave_time>`.
|
||||||
|
|
||||||
This version is suited for free energy calculations using
|
This version is suited for free energy calculations using
|
||||||
:doc:`compute ti <compute_ti>` or :doc:`compute fep <compute_fep>`.
|
:doc:`compute ti <compute_ti>` or :doc:`compute fep <compute_fep>`.
|
||||||
@ -92,8 +92,8 @@ If the *scale* keyword is set to *no*, then the value the parameter is
|
|||||||
set to will be whatever the variable generates. If the *scale*
|
set to will be whatever the variable generates. If the *scale*
|
||||||
keyword is set to *yes*, then the value of the altered parameter will
|
keyword is set to *yes*, then the value of the altered parameter will
|
||||||
be the initial value of that parameter multiplied by whatever the
|
be the initial value of that parameter multiplied by whatever the
|
||||||
variable generates. I.e. the variable is now a "scale factor" applied
|
variable generates (i.e., the variable is now a "scale factor" applied
|
||||||
in (presumably) a time-varying fashion to the parameter. Internally,
|
in (presumably) a time-varying fashion to the parameter). Internally,
|
||||||
the parameters themselves are actually altered; make sure you use the
|
the parameters themselves are actually altered; make sure you use the
|
||||||
*reset yes* option if you want the parameters to be restored to their
|
*reset yes* option if you want the parameters to be restored to their
|
||||||
initial values after the run.
|
initial values after the run.
|
||||||
@ -188,7 +188,7 @@ styles and their energy formulas for the meaning of these parameters:
|
|||||||
|
|
||||||
Note that for many of the potentials, the parameter that can be varied
|
Note that for many of the potentials, the parameter that can be varied
|
||||||
is effectively a prefactor on the entire energy expression for the
|
is effectively a prefactor on the entire energy expression for the
|
||||||
potential, e.g. the lj/cut epsilon. The parameters listed as "scale"
|
potential (e.g., the lj/cut epsilon). The parameters listed as "scale"
|
||||||
are exactly that, since the energy expression for the
|
are exactly that, since the energy expression for the
|
||||||
:doc:`coul/cut <pair_coul>` potential (for example) has no labeled
|
:doc:`coul/cut <pair_coul>` potential (for example) has no labeled
|
||||||
prefactor in its formula. To apply an effective prefactor to some
|
prefactor in its formula. To apply an effective prefactor to some
|
||||||
@ -204,23 +204,23 @@ specified, but are ignored.
|
|||||||
|
|
||||||
Similar to the :doc:`pair_coeff command <pair_coeff>`, I and J can be
|
Similar to the :doc:`pair_coeff command <pair_coeff>`, I and J can be
|
||||||
specified in one of two ways. Explicit numeric values can be used for
|
specified in one of two ways. Explicit numeric values can be used for
|
||||||
each, as in the first example above. I <= J is required. LAMMPS sets
|
each, as in the first example above. :math:`I \le J` is required. LAMMPS sets
|
||||||
the coefficients for the symmetric J,I interaction to the same values.
|
the coefficients for the symmetric J,I interaction to the same values.
|
||||||
|
|
||||||
A wild-card asterisk can be used in place of or in conjunction with
|
A wild-card asterisk can be used in place of or in conjunction with
|
||||||
the I,J arguments to set the coefficients for multiple pairs of atom
|
the :math:`I,J` arguments to set the coefficients for multiple pairs of atom
|
||||||
types. This takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the
|
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is
|
||||||
number of atom types, then an asterisk with no numeric values means
|
the number of atom types, then an asterisk with no numeric values means
|
||||||
all types from 1 to N. A leading asterisk means all types from 1 to n
|
all types from 1 to :math:`N`. A leading asterisk means all types from 1 to n
|
||||||
(inclusive). A trailing asterisk means all types from n to N
|
(inclusive). A trailing asterisk means all types from m to :math:`N`
|
||||||
(inclusive). A middle asterisk means all types from m to n
|
(inclusive). A middle asterisk means all types from m to n
|
||||||
(inclusive). Note that only type pairs with I <= J are considered; if
|
(inclusive). Note that only type pairs with :math:`I \le J` are considered; if
|
||||||
asterisks imply type pairs where J < I, they are ignored.
|
asterisks imply type pairs where :math:`J < I`, they are ignored.
|
||||||
|
|
||||||
IMPROTANT NOTE: If :doc:`pair_style hybrid or hybrid/overlay <pair_hybrid>` is being used, then the *pstyle* will
|
IMPROTANT NOTE: If :doc:`pair_style hybrid or hybrid/overlay <pair_hybrid>` is
|
||||||
be a sub-style name. You must specify I,J arguments that correspond
|
being used, then the *pstyle* will be a sub-style name. You must specify
|
||||||
to type pair values defined (via the :doc:`pair_coeff <pair_coeff>`
|
:math:`I,J` arguments that correspond to type pair values defined (via the
|
||||||
command) for that sub-style.
|
:doc:`pair_coeff <pair_coeff>` command) for that sub-style.
|
||||||
|
|
||||||
The *v_name* argument for keyword *pair* is the name of an
|
The *v_name* argument for keyword *pair* is the name of an
|
||||||
:doc:`equal-style variable <variable>` which will be evaluated each time
|
:doc:`equal-style variable <variable>` which will be evaluated each time
|
||||||
@ -232,8 +232,7 @@ simulation box parameters and timestep and elapsed time. Thus it is
|
|||||||
easy to specify parameters that change as a function of time or span
|
easy to specify parameters that change as a function of time or span
|
||||||
consecutive runs in a continuous fashion. For the latter, see the
|
consecutive runs in a continuous fashion. For the latter, see the
|
||||||
*start* and *stop* keywords of the :doc:`run <run>` command and the
|
*start* and *stop* keywords of the :doc:`run <run>` command and the
|
||||||
*elaplong* keyword of :doc:`thermo_style custom <thermo_style>` for
|
*elaplong* keyword of :doc:`thermo_style custom <thermo_style>` for details.
|
||||||
details.
|
|
||||||
|
|
||||||
For example, these commands would change the prefactor coefficient of
|
For example, these commands would change the prefactor coefficient of
|
||||||
the :doc:`pair_style soft <pair_soft>` potential from 10.0 to 30.0 in a
|
the :doc:`pair_style soft <pair_soft>` potential from 10.0 to 30.0 in a
|
||||||
@ -247,7 +246,7 @@ linear fashion over the course of a simulation:
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
The *kspace* keyword used the specified variable as a scale factor on
|
The *kspace* keyword used the specified variable as a scale factor on
|
||||||
the energy, forces, virial calculated by whatever K-Space solver is
|
the energy, forces, virial calculated by whatever :math:`k`-space solver is
|
||||||
defined by the :doc:`kspace_style <kspace_style>` command. If the
|
defined by the :doc:`kspace_style <kspace_style>` command. If the
|
||||||
variable has a value of 1.0, then the solver is unaltered.
|
variable has a value of 1.0, then the solver is unaltered.
|
||||||
|
|
||||||
@ -263,8 +262,8 @@ current list of atom parameters that can be varied by this fix:
|
|||||||
* charge = charge on particle
|
* charge = charge on particle
|
||||||
* diameter = diameter of particle
|
* diameter = diameter of particle
|
||||||
|
|
||||||
The *I* argument indicates which atom types are affected. A wild-card
|
The :math:`I` argument indicates which atom types are affected. A wild-card
|
||||||
asterisk can be used in place of or in conjunction with the I argument
|
asterisk can be used in place of or in conjunction with the :math:`I` argument
|
||||||
to set the coefficients for multiple atom types.
|
to set the coefficients for multiple atom types.
|
||||||
|
|
||||||
The *v_name* argument of the *atom* keyword is the name of an
|
The *v_name* argument of the *atom* keyword is the name of an
|
||||||
@ -276,9 +275,9 @@ variables. The new value is assigned to the corresponding attribute
|
|||||||
for all atoms in the fix group.
|
for all atoms in the fix group.
|
||||||
|
|
||||||
If the atom parameter is *diameter* and per-atom density and per-atom
|
If the atom parameter is *diameter* and per-atom density and per-atom
|
||||||
mass are defined for particles (e.g. :doc:`atom_style granular <atom_style>`), then the mass of each particle is also
|
mass are defined for particles (e.g., :doc:`atom_style granular <atom_style>`),
|
||||||
changed when the diameter changes (density is assumed to stay
|
then the mass of each particle is also changed when the diameter changes
|
||||||
constant).
|
(density is assumed to stay constant).
|
||||||
|
|
||||||
For example, these commands would shrink the diameter of all granular
|
For example, these commands would shrink the diameter of all granular
|
||||||
particles in the "center" group from 1.0 to 0.1 in a linear fashion
|
particles in the "center" group from 1.0 to 0.1 in a linear fashion
|
||||||
@ -297,11 +296,14 @@ parameters on the outermost rRESPA level.
|
|||||||
Restart, fix_modify, output, run start/stop, minimize info
|
Restart, fix_modify, output, run start/stop, minimize info
|
||||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||||
|
|
||||||
No information about this fix is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
|
No information about this fix is written to
|
||||||
|
:doc:`binary restart files <restart>`.
|
||||||
|
None of the :doc:`fix_modify <fix_modify>` options
|
||||||
are relevant to this fix. No global or per-atom quantities are stored
|
are relevant to this fix. No global or per-atom quantities are stored
|
||||||
by this fix for access by various :doc:`output commands <Howto_output>`.
|
by this fix for access by various :doc:`output commands <Howto_output>`.
|
||||||
No parameter of this fix can be used with the *start/stop* keywords of
|
No parameter of this fix can be used with the *start/stop* keywords of
|
||||||
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
|
the :doc:`run <run>` command. This fix is not invoked during
|
||||||
|
:doc:`energy minimization <minimize>`.
|
||||||
|
|
||||||
Restrictions
|
Restrictions
|
||||||
""""""""""""
|
""""""""""""
|
||||||
@ -310,7 +312,8 @@ Restrictions
|
|||||||
Related commands
|
Related commands
|
||||||
""""""""""""""""
|
""""""""""""""""
|
||||||
|
|
||||||
:doc:`compute fep <compute_fep>`, :doc:`fix adapt <fix_adapt>`, :doc:`compute ti <compute_ti>`, :doc:`pair_style \*/soft <pair_fep_soft>`
|
:doc:`compute fep <compute_fep>`, :doc:`fix adapt <fix_adapt>`,
|
||||||
|
:doc:`compute ti <compute_ti>`, :doc:`pair_style \*/soft <pair_fep_soft>`
|
||||||
|
|
||||||
Default
|
Default
|
||||||
"""""""
|
"""""""
|
||||||
|
|||||||
@ -6,7 +6,7 @@ fix addforce command
|
|||||||
Syntax
|
Syntax
|
||||||
""""""
|
""""""
|
||||||
|
|
||||||
.. parsed-literal::
|
.. code-block:: LAMMPS
|
||||||
|
|
||||||
fix ID group-ID addforce fx fy fz keyword value ...
|
fix ID group-ID addforce fx fy fz keyword value ...
|
||||||
|
|
||||||
@ -24,7 +24,7 @@ Syntax
|
|||||||
.. parsed-literal::
|
.. parsed-literal::
|
||||||
|
|
||||||
*every* value = Nevery
|
*every* value = Nevery
|
||||||
Nevery = add force every this many timesteps
|
Nevery = add force every this many time steps
|
||||||
*region* value = region-ID
|
*region* value = region-ID
|
||||||
region-ID = ID of region atoms must be in to have added force
|
region-ID = ID of region atoms must be in to have added force
|
||||||
*energy* value = v_name
|
*energy* value = v_name
|
||||||
@ -42,31 +42,31 @@ Examples
|
|||||||
Description
|
Description
|
||||||
"""""""""""
|
"""""""""""
|
||||||
|
|
||||||
Add fx,fy,fz to the corresponding component of force for each atom in
|
Add :math:`(f_x,f_y,f_z)` to the corresponding component of the force for each
|
||||||
the group. This command can be used to give an additional push to
|
atom in the group. This command can be used to give an additional push to
|
||||||
atoms in a simulation, such as for a simulation of Poiseuille flow in
|
atoms in a simulation, such as for a simulation of Poiseuille flow in
|
||||||
a channel.
|
a channel.
|
||||||
|
|
||||||
Any of the 3 quantities defining the force components can be specified
|
Any of the three quantities defining the force components, namely :math:`f_x`,
|
||||||
as an equal-style or atom-style :doc:`variable <variable>`, namely *fx*,
|
:math:`f_y`, and :math:`f_z`, can be specified as an equal-style or atom-style
|
||||||
*fy*, *fz*\ . If the value is a variable, it should be specified as
|
:doc:`variable <variable>`. If the value is a variable, it should be specified
|
||||||
v_name, where name is the variable name. In this case, the variable
|
as v_name, where name is the variable name. In this case, the variable
|
||||||
will be evaluated each timestep, and its value(s) used to determine
|
will be evaluated each time step, and its value(s) will be used to determine
|
||||||
the force component.
|
the force component(s).
|
||||||
|
|
||||||
Equal-style variables can specify formulas with various mathematical
|
Equal-style variables can specify formulas with various mathematical
|
||||||
functions, and include :doc:`thermo_style <thermo_style>` command
|
functions and include :doc:`thermo_style <thermo_style>` command
|
||||||
keywords for the simulation box parameters and timestep and elapsed
|
keywords for the simulation box parameters, time step, and elapsed time.
|
||||||
time. Thus it is easy to specify a time-dependent force field.
|
Thus, it is easy to specify a time-dependent force field.
|
||||||
|
|
||||||
Atom-style variables can specify the same formulas as equal-style
|
Atom-style variables can specify the same formulas as equal-style
|
||||||
variables but can also include per-atom values, such as atom
|
variables but can also include per-atom values, such as atom
|
||||||
coordinates. Thus it is easy to specify a spatially-dependent force
|
coordinates. Thus, it is easy to specify a spatially-dependent force
|
||||||
field with optional time-dependence as well.
|
field with optional time-dependence as well.
|
||||||
|
|
||||||
If the *every* keyword is used, the *Nevery* setting determines how
|
If the *every* keyword is used, the *Nevery* setting determines how
|
||||||
often the forces are applied. The default value is 1, for every
|
often the forces are applied. The default value is 1, for every
|
||||||
timestep.
|
time step.
|
||||||
|
|
||||||
If the *region* keyword is used, the atom must also be in the
|
If the *region* keyword is used, the atom must also be in the
|
||||||
specified geometric :doc:`region <region>` in order to have force added
|
specified geometric :doc:`region <region>` in order to have force added
|
||||||
@ -83,10 +83,14 @@ potential energy to formulate a self-consistent minimization problem
|
|||||||
(see below).
|
(see below).
|
||||||
|
|
||||||
The *energy* keyword is not allowed if the added force is a constant
|
The *energy* keyword is not allowed if the added force is a constant
|
||||||
vector F = (fx,fy,fz), with all components defined as numeric
|
vector :math:`\vec F = (f_x,f_y,f_z)`, with all components defined as numeric
|
||||||
constants and not as variables. This is because LAMMPS can compute
|
constants and not as variables. This is because LAMMPS can compute
|
||||||
the energy for each atom directly as E = -x dot F = -(x\*fx + y\*fy +
|
the energy for each atom directly as
|
||||||
z\*fz), so that -Grad(E) = F.
|
|
||||||
|
.. math::
|
||||||
|
E = -\vec x \cdot \vec F = -(x f_x + y f_y + z f_z),
|
||||||
|
|
||||||
|
so that :math:`-\vec\nabla E = \vec F`.
|
||||||
|
|
||||||
The *energy* keyword is optional if the added force is defined with
|
The *energy* keyword is optional if the added force is defined with
|
||||||
one or more variables, and if you are performing dynamics via the
|
one or more variables, and if you are performing dynamics via the
|
||||||
@ -98,16 +102,16 @@ one or more variables, and you are performing energy minimization via
|
|||||||
the "minimize" command. The keyword specifies the name of an
|
the "minimize" command. The keyword specifies the name of an
|
||||||
atom-style :doc:`variable <variable>` which is used to compute the
|
atom-style :doc:`variable <variable>` which is used to compute the
|
||||||
energy of each atom as function of its position. Like variables used
|
energy of each atom as function of its position. Like variables used
|
||||||
for *fx*, *fy*, *fz*, the energy variable is specified as v_name,
|
for :math:`f_x`, :math:`f_y`, :math:`f_z`, the energy variable is specified as
|
||||||
where name is the variable name.
|
v_name, where name is the variable name.
|
||||||
|
|
||||||
Note that when the *energy* keyword is used during an energy
|
Note that when the *energy* keyword is used during an energy
|
||||||
minimization, you must insure that the formula defined for the
|
minimization, you must insure that the formula defined for the
|
||||||
atom-style :doc:`variable <variable>` is consistent with the force
|
atom-style :doc:`variable <variable>` is consistent with the force
|
||||||
variable formulas, i.e. that -Grad(E) = F. For example, if the force
|
variable formulas (i.e., that :math:`-\vec\nabla E = \vec F`).
|
||||||
were a spring-like F = kx, then the energy formula should be E =
|
For example, if the force were a spring-like, :math:`\vec F = -k\vec x`, then
|
||||||
-0.5kx\^2. If you don't do this correctly, the minimization will not
|
the energy formula should be :math:`E = \frac12 kx^2`. If you do not do this
|
||||||
converge properly.
|
correctly, the minimization will not converge properly.
|
||||||
|
|
||||||
----------
|
----------
|
||||||
|
|
||||||
@ -128,8 +132,8 @@ the global potential energy of the system as part of
|
|||||||
this fix is :doc:`fix_modify energy no <fix_modify>`. Note that this
|
this fix is :doc:`fix_modify energy no <fix_modify>`. Note that this
|
||||||
energy is a fictitious quantity but is needed so that the
|
energy is a fictitious quantity but is needed so that the
|
||||||
:doc:`minimize <minimize>` command can include the forces added by
|
:doc:`minimize <minimize>` command can include the forces added by
|
||||||
this fix in a consistent manner. I.e. there is a decrease in
|
this fix in a consistent manner (i.e., there is a decrease in
|
||||||
potential energy when atoms move in the direction of the added force.
|
potential energy when atoms move in the direction of the added force).
|
||||||
|
|
||||||
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
|
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
|
||||||
this fix to add the contribution due to the added forces on atoms to
|
this fix to add the contribution due to the added forces on atoms to
|
||||||
@ -144,7 +148,7 @@ fix. This allows to set at which level of the :doc:`r-RESPA
|
|||||||
<run_style>` integrator the fix is adding its forces. Default is the
|
<run_style>` integrator the fix is adding its forces. Default is the
|
||||||
outermost level.
|
outermost level.
|
||||||
|
|
||||||
This fix computes a global scalar and a global 3-vector of forces,
|
This fix computes a global scalar and a global three-vector of forces,
|
||||||
which can be accessed by various :doc:`output commands
|
which can be accessed by various :doc:`output commands
|
||||||
<Howto_output>`. The scalar is the potential energy discussed above.
|
<Howto_output>`. The scalar is the potential energy discussed above.
|
||||||
The vector is the total force on the group of atoms before the forces
|
The vector is the total force on the group of atoms before the forces
|
||||||
@ -157,7 +161,7 @@ the :doc:`run <run>` command.
|
|||||||
The forces due to this fix are imposed during an energy minimization,
|
The forces due to this fix are imposed during an energy minimization,
|
||||||
invoked by the :doc:`minimize <minimize>` command. You should not
|
invoked by the :doc:`minimize <minimize>` command. You should not
|
||||||
specify force components with a variable that has time-dependence for
|
specify force components with a variable that has time-dependence for
|
||||||
use with a minimizer, since the minimizer increments the timestep as
|
use with a minimizer, since the minimizer increments the time step as
|
||||||
the iteration count during the minimization.
|
the iteration count during the minimization.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user