Merge branch 'lammps:develop' into mliappy_unified
This commit is contained in:
@ -376,6 +376,7 @@ pkg_depends(DIELECTRIC EXTRA-PAIR)
|
||||
pkg_depends(CG-DNA MOLECULE)
|
||||
pkg_depends(CG-DNA ASPHERE)
|
||||
pkg_depends(ELECTRODE KSPACE)
|
||||
pkg_depends(EXTRA-MOLECULE MOLECULE)
|
||||
|
||||
# detect if we may enable OpenMP support by default
|
||||
set(BUILD_OMP_DEFAULT OFF)
|
||||
|
||||
@ -6,13 +6,10 @@ else()
|
||||
endif()
|
||||
option(DOWNLOAD_MDI "Download and compile the MDI library instead of using an already installed one" ${DOWNLOAD_MDI_DEFAULT})
|
||||
|
||||
|
||||
|
||||
|
||||
if(DOWNLOAD_MDI)
|
||||
message(STATUS "MDI download requested - we will build our own")
|
||||
set(MDI_URL "https://github.com/MolSSI-MDI/MDI_Library/archive/v1.4.10.tar.gz" CACHE STRING "URL for MDI tarball")
|
||||
set(MDI_MD5 "1c203b7fd462d9934834f643f09f3c06" CACHE STRING "MD5 checksum 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 "3791fe5081405c14aac07d4687f1cc58" CACHE STRING "MD5 checksum for MDI tarball")
|
||||
mark_as_advanced(MDI_URL)
|
||||
mark_as_advanced(MDI_MD5)
|
||||
enable_language(C)
|
||||
|
||||
@ -3,6 +3,13 @@
|
||||
# prefer flang over gfortran, if available
|
||||
find_program(CLANG_FORTRAN NAMES flang gfortran f95)
|
||||
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_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_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_DEBUG "-Wall -Wextra -g -std=f2003" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG -std=f2003" CACHE STRING "" FORCE)
|
||||
set(CMAKE_Fortran_FLAGS_RELEASE "-O3 -DNDEBUG -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 ${FC_STD_VERSION}" 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_RELWITHDEBINFO "-Wall -Wextra -g -O2 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG" CACHE STRING "" FORCE)
|
||||
|
||||
@ -1373,7 +1373,7 @@ Bibliography
|
||||
Zhu, Tajkhorshid, and Schulten, Biophys. J. 83, 154 (2002).
|
||||
|
||||
**(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)**
|
||||
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.
|
||||
|
||||
@ -61,6 +61,7 @@ An alphabetic list of general LAMMPS commands.
|
||||
* :doc:`kspace_modify <kspace_modify>`
|
||||
* :doc:`kspace_style <kspace_style>`
|
||||
* :doc:`label <label>`
|
||||
* :doc:`labelmap <labelmap>`
|
||||
* :doc:`lattice <lattice>`
|
||||
* :doc:`log <log>`
|
||||
* :doc:`mass <mass>`
|
||||
|
||||
@ -175,6 +175,12 @@ and parsing files or arguments.
|
||||
.. doxygenfunction:: is_double
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: is_id
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: is_type
|
||||
:project: progguide
|
||||
|
||||
Potential file functions
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
@ -205,6 +211,9 @@ Argument processing
|
||||
.. doxygenfunction:: expand_args
|
||||
:project: progguide
|
||||
|
||||
.. doxygenfunction:: expand_type
|
||||
:project: progguide
|
||||
|
||||
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
|
||||
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*
|
||||
This function is called through the library interface. This
|
||||
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*
|
||||
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*
|
||||
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*
|
||||
The three specified lattice orientation vectors must be mutually
|
||||
orthogonal.
|
||||
@ -5863,6 +5877,12 @@ Doc page with :doc:`WARNING messages <Errors_warnings>`
|
||||
*Must not have multiple fixes change box parameter ...*
|
||||
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*
|
||||
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
|
||||
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*
|
||||
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.
|
||||
@ -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
|
||||
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*
|
||||
Fix poems cannot (yet) work with coupled bodies whose joints connect
|
||||
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*
|
||||
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*
|
||||
There was a problem initializing an accelerator for the gpu package
|
||||
|
||||
|
||||
@ -34,6 +34,7 @@ Settings howto
|
||||
:maxdepth: 1
|
||||
|
||||
Howto_2d
|
||||
Howto_type_labels
|
||||
Howto_triclinic
|
||||
Howto_thermostat
|
||||
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:: TBD
|
||||
|
||||
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
|
||||
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
|
||||
Pennsylvania State University)
|
||||
@ -932,6 +932,10 @@ EXTRA-MOLECULE package
|
||||
|
||||
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:**
|
||||
|
||||
* src/EXTRA-MOLECULE: filenames -> commands
|
||||
|
||||
@ -495,7 +495,7 @@ run:
|
||||
write_dump group-ID dumpstyle dumpfile arg1 arg2 ...
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
@ -536,6 +536,6 @@ supported.
|
||||
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., 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.
|
||||
|
||||
@ -10,7 +10,7 @@ Syntax
|
||||
|
||||
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
|
||||
|
||||
Examples
|
||||
@ -22,6 +22,9 @@ Examples
|
||||
angle_coeff * 5.0
|
||||
angle_coeff 2*10 5.0
|
||||
|
||||
labelmap angle 1 hydroxyl
|
||||
angle_coeff hydroxyl 300.0 107.0
|
||||
|
||||
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
|
||||
: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
|
||||
be used, as in the first example above. Or a wild-card asterisk can be
|
||||
used to set the coefficients for multiple angle types. This takes the
|
||||
form "\*" or "\*n" or "n\*" or "m\*n". If N = the number of angle types,
|
||||
then an asterisk with no numeric values means all types from 1 to N. A
|
||||
leading asterisk means all types from 1 to n (inclusive). A trailing
|
||||
asterisk means all types from n to N (inclusive). A middle asterisk
|
||||
means all types from m to n (inclusive).
|
||||
:math:`N` can be specified in one of two ways. An explicit numeric
|
||||
value can be used, as in the first example above. Or :math:`N` can be a
|
||||
type label, which is an alphanumeric string defined by the
|
||||
:doc:`labelmap <labelmap>` command or in a section of a data file read
|
||||
by the :doc:`read_data <read_data>` command.
|
||||
|
||||
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:
|
||||
For numeric values only, a wild-card asterisk can be used to set the
|
||||
coefficients for multiple angle types. This takes the form "\*" or
|
||||
"\*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
|
||||
|
||||
@ -49,11 +58,11 @@ for all angle types, then overwrite the coeffs for just angle type 2:
|
||||
angle_coeff 2 50.0 107.0
|
||||
|
||||
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
|
||||
script, except that wild-card asterisks should not be used since
|
||||
coefficients for all N types must be listed in the file. For example,
|
||||
under the "Angle Coeffs" section of a data file, the line that
|
||||
corresponds to the first example above would be listed as
|
||||
same format as the arguments of the :doc:`angle_coeff <angle_coeff>`
|
||||
command in an input script, except that wild-card asterisks should not
|
||||
be used since coefficients for all :math:`N` types must be listed in the
|
||||
file. For example, under the "Angle Coeffs" section of a data file, the
|
||||
line that corresponds to the first example above would be listed as
|
||||
|
||||
.. 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
|
||||
rule, in that an additional argument is used in the input script to
|
||||
allow specification of the cross-term coefficients. See its
|
||||
doc page for details.
|
||||
allow specification of the cross-term coefficients. See its doc page
|
||||
for details.
|
||||
|
||||
----------
|
||||
|
||||
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
|
||||
compact form on the :ref:`Commands angle <angle>` doc
|
||||
page.
|
||||
compact form on the :ref:`Commands angle <angle>` doc page.
|
||||
|
||||
On either of those pages, click on the style to display the formula it
|
||||
computes and its coefficients as specified by the associated
|
||||
|
||||
@ -10,7 +10,7 @@ Syntax
|
||||
|
||||
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
|
||||
|
||||
Examples
|
||||
@ -21,7 +21,10 @@ Examples
|
||||
bond_coeff 5 80.0 1.2
|
||||
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 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
|
||||
"""""""""""
|
||||
@ -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
|
||||
: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
|
||||
be used, as in the first example above. Or 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 N = the number of bond types,
|
||||
then an asterisk with no numeric values means all types from 1 to N. A
|
||||
:math:`N` can be specified in one of several ways. An explicit numeric
|
||||
value can be used, as in the first example above. Or :math:`N` can be a
|
||||
type label, which is an alphanumeric string defined by the
|
||||
:doc:`labelmap <labelmap>` command or in a section of a data file read
|
||||
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
|
||||
asterisk means all types from n to N (inclusive). A middle asterisk
|
||||
means all types from m to n (inclusive).
|
||||
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 bond_coeff command can override a previous setting
|
||||
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
|
||||
same format as the arguments of the bond_coeff command in an input
|
||||
script, except that wild-card asterisks should not be used since
|
||||
coefficients for all N types must be listed in the file. For example,
|
||||
under the "Bond Coeffs" section of a data file, the line that
|
||||
coefficients for all :math:`N` types must be listed in the file. For
|
||||
example, under the "Bond Coeffs" section of a data file, the line that
|
||||
corresponds to the first example above would be listed as
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -56,6 +56,7 @@ Commands
|
||||
kspace_modify
|
||||
kspace_style
|
||||
label
|
||||
labelmap
|
||||
lattice
|
||||
log
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
LAMMPS output options.
|
||||
|
||||
The array values calculated by this compute are all "extensive."
|
||||
The array values calculated by this compute are all "extensive".
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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
|
||||
: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
|
||||
<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
|
||||
: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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -40,7 +40,7 @@ further than the threshold distance.
|
||||
If the system is undergoing significant center-of-mass motion,
|
||||
due to thermal motion, an external force, or an initial net momentum,
|
||||
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
|
||||
"""""""""""
|
||||
@ -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
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
""""""""""""
|
||||
|
||||
@ -140,7 +140,7 @@ vector values from a compute as input. See the
|
||||
options.
|
||||
|
||||
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>`.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -69,7 +69,7 @@ vector values from a compute as input. See the :doc:`Howto output <Howto_output
|
||||
options.
|
||||
|
||||
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.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -78,7 +78,7 @@ vector values from a compute as input. See the
|
||||
options.
|
||||
|
||||
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.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -80,7 +80,7 @@ See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
divided by the appropriate volume to get a flux, which would then be
|
||||
an "intensive" value, meaning independent of the number of atoms in
|
||||
the simulation. Note that if the compute is "all," then the
|
||||
appropriate volume to divide by is the simulation box volume.
|
||||
However, if a sub-group is used, it should be the volume containing
|
||||
those atoms.
|
||||
divided by the appropriate volume to get a flux, which would then be an
|
||||
"intensive" value, meaning independent of the number of atoms in the
|
||||
simulation. Note that if the compute group is "all", then the
|
||||
appropriate volume to divide by is the simulation box volume. However,
|
||||
if a group with a subset of atoms is used, it should be the volume
|
||||
containing those atoms.
|
||||
|
||||
The vector values will be in energy\*velocity :doc:`units <units>`. Once
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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
|
||||
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:`^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>`
|
||||
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>`.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -27,7 +27,7 @@ Description
|
||||
"""""""""""
|
||||
|
||||
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
|
||||
energies. These per-atom values could be summed for a group of atoms
|
||||
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
|
||||
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>`.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -73,5 +73,5 @@ none
|
||||
.. _Mitchell:
|
||||
|
||||
**(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).
|
||||
|
||||
@ -29,7 +29,7 @@ Description
|
||||
"""""""""""
|
||||
|
||||
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
|
||||
pressure (stress). These per-atom values could be summed for a group
|
||||
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
|
||||
|
||||
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}.`
|
||||
|
||||
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>`.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -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
|
||||
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.
|
||||
|
||||
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
|
||||
: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
|
||||
: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
|
||||
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
|
||||
: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
|
||||
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
|
||||
per-atom or local quantities. See the individual
|
||||
: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
|
||||
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
|
||||
or local quantities. See the individual :doc:`fix <fix>` page for
|
||||
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
|
||||
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
|
||||
:doc:`atom-style variable <variable>`. Atom-style variables can
|
||||
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.
|
||||
|
||||
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
|
||||
values are desired, this compute can be accessed by the
|
||||
: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.
|
||||
|
||||
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
|
||||
"extensive."
|
||||
"extensive".
|
||||
|
||||
The scalar or vector values will be in whatever :doc:`units <units>` the
|
||||
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
|
||||
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
|
||||
a specified distance of each other. A cluster will contain all HP
|
||||
|
||||
@ -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
|
||||
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 are in inverse volume :doc:`units <units>`.
|
||||
|
||||
|
||||
@ -182,7 +182,7 @@ Output info
|
||||
from individual atoms in both groups).
|
||||
|
||||
Both the scalar and vector values calculated by this compute are
|
||||
"extensive."
|
||||
"extensive".
|
||||
|
||||
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
|
||||
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 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
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :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
|
||||
page for an overview of LAMMPS output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive." The array values are "intensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive". The array values are "intensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :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
|
||||
vector values from a compute as input.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
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 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
|
||||
options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
|
||||
@ -67,8 +67,8 @@ vector values from a compute as input. See the
|
||||
options.
|
||||
|
||||
Both the scalar value and the first two values of the vector
|
||||
calculated by this compute are "intensive." The other four vector values
|
||||
are "extensive."
|
||||
calculated by this compute are "intensive". The other four vector values
|
||||
are "extensive".
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -88,9 +88,9 @@ thermostatting.
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive." The array values are "intensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive". The array values are "intensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :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
|
||||
options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive." The
|
||||
vector values are "extensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
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
|
||||
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>`.
|
||||
|
||||
|
||||
@ -83,7 +83,7 @@ array values from a compute as input.
|
||||
See the :doc:`Howto output <Howto_output>` doc 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
|
||||
force-distance :doc:`units <units>`.
|
||||
|
||||
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
|
||||
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>`.
|
||||
|
||||
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>`
|
||||
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>`.
|
||||
|
||||
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.
|
||||
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
|
||||
first six elements of vector values are "extensive,"
|
||||
and the seventh element of vector values is "intensive."
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
first six elements of vector values are "extensive",
|
||||
and the seventh element of vector values is "intensive".
|
||||
|
||||
The scalar value will be in temperature :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
|
||||
specified). These values can be accessed by any command that uses
|
||||
per-atom values from a compute as input. See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options. If the *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.
|
||||
|
||||
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
|
||||
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
|
||||
""""""""""""
|
||||
|
||||
@ -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
|
||||
:doc:`lattice <lattice>` command, unless you specify the *single* style
|
||||
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
|
||||
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
|
||||
individual lattice points being "above" or "below" the mathematical
|
||||
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
|
||||
converts lattice spacings to distance.
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Syntax
|
||||
|
||||
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
|
||||
|
||||
Examples
|
||||
@ -22,26 +22,35 @@ Examples
|
||||
dihedral_coeff * 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
|
||||
"""""""""""
|
||||
|
||||
Specify the dihedral force field coefficients for one or more dihedral types.
|
||||
The number and meaning of the coefficients depends on the dihedral style.
|
||||
Dihedral coefficients can also be set in the data file read by the
|
||||
:doc:`read_data <read_data>` command or in a restart file.
|
||||
Specify the dihedral force field coefficients for one or more dihedral
|
||||
types. The number and meaning of the coefficients depends on the
|
||||
dihedral style. Dihedral coefficients can also be set in the data 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
|
||||
be used, as in the first example above. Or a wild-card asterisk can be
|
||||
used to set the coefficients for multiple dihedral types. This takes the
|
||||
form "\*" or "\*n" or "m\*" 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 m to N (inclusive). A middle asterisk
|
||||
means all types from m to n (inclusive).
|
||||
:math:`N` can be specified in one of two ways. An explicit numeric
|
||||
value can be used, as in the first example above. Or :math:`N` can be
|
||||
an alphanumeric type label, which is a string defined by the
|
||||
:doc:`labelmap <labelmap>` command or in a corresponding section of a
|
||||
data file read 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 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
|
||||
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
|
||||
|
||||
|
||||
233
doc/src/dump.rst
233
doc/src/dump.rst
@ -224,30 +224,29 @@ page for details.
|
||||
|
||||
The *atom/gz*, *cfg/gz*, *custom/gz*, *local/gz*, and *xyz/gz* styles
|
||||
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
|
||||
alternative approach to writing compressed files via a pipe, as done
|
||||
by the regular dump styles, which may be required on clusters where
|
||||
the interface to the high-speed network disallows using the fork()
|
||||
library call (which is needed for a pipe). For the remainder of this
|
||||
page, you should thus consider the *atom* and *atom/gz* styles
|
||||
(etc.) to be inter-changeable, with the exception of the required
|
||||
filename suffix.
|
||||
alternative approach to writing compressed files via a pipe, as done by
|
||||
the regular dump styles, which may be required on clusters where the
|
||||
interface to the high-speed network disallows using the fork() library
|
||||
call (which is needed for a pipe). For the remainder of this page, you
|
||||
should thus consider the *atom* and *atom/gz* styles (etc.) to be
|
||||
inter-changeable, with the exception of the required filename suffix.
|
||||
|
||||
Similarly, the *atom/zstd*, *cfg/zstd*, *custom/zstd*, *local/zstd*,
|
||||
and *xyz/zstd* styles are identical to the gz styles, but use the Zstd
|
||||
Similarly, the *atom/zstd*, *cfg/zstd*, *custom/zstd*, *local/zstd*, and
|
||||
*xyz/zstd* styles are identical to the gz styles, but use the Zstd
|
||||
compression library instead and require the ".zst" suffix. See the
|
||||
:doc:`dump_modify <dump_modify>` page for details on how to control
|
||||
the compression level in both variants.
|
||||
:doc:`dump_modify <dump_modify>` page for details on how to control the
|
||||
compression level in both variants.
|
||||
|
||||
As explained below, the *atom/mpiio*, *cfg/mpiio*, *custom/mpiio*, and
|
||||
*xyz/mpiio* styles are identical in command syntax and in the format
|
||||
of the dump files they create, to the corresponding styles without
|
||||
"mpiio," except the single dump file they produce is written in
|
||||
parallel via the MPI-IO library. For the remainder of this page,
|
||||
you should thus consider the *atom* and *atom/mpiio* styles (etc.) to
|
||||
be inter-changeable. The one exception is how the filename is
|
||||
specified for the MPI-IO styles, as explained below.
|
||||
*xyz/mpiio* styles are identical in command syntax and in the format of
|
||||
the dump files they create, to the corresponding styles without "mpiio",
|
||||
except the single dump file they produce is written in parallel via the
|
||||
MPI-IO library. For the remainder of this page, you should thus
|
||||
consider the *atom* and *atom/mpiio* styles (etc.) to be
|
||||
inter-changeable. The one exception is how the filename is specified
|
||||
for the MPI-IO styles, as explained below.
|
||||
|
||||
.. warning::
|
||||
|
||||
@ -434,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_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
|
||||
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`,
|
||||
@ -553,15 +552,14 @@ package installed, viz.,
|
||||
make yes-mpiio # installs the MPIIO package
|
||||
make mpi # build LAMMPS for your platform
|
||||
|
||||
Second, use a dump filename which contains ".mpiio." Note that it
|
||||
does not have to end in ".mpiio," just contain those characters.
|
||||
Unlike MPI-IO restart files, which must be both written and read using
|
||||
MPI-IO, the dump files produced by these MPI-IO styles are identical
|
||||
in format to the files produced by their non-MPI-IO style
|
||||
counterparts. This means you can write a dump file using MPI-IO and
|
||||
use the :doc:`read_dump <read_dump>` command or perform other
|
||||
post-processing, just as if the dump file was not written using
|
||||
MPI-IO.
|
||||
Second, use a dump filename which contains ".mpiio". Note that it does
|
||||
not have to end in ".mpiio", just contain those characters. Unlike
|
||||
MPI-IO restart files, which must be both written and read using MPI-IO,
|
||||
the dump files produced by these MPI-IO styles are identical in format
|
||||
to the files produced by their non-MPI-IO style counterparts. This
|
||||
means you can write a dump file using MPI-IO and use the :doc:`read_dump
|
||||
<read_dump>` command or perform other post-processing, just as if the
|
||||
dump file was not written using MPI-IO.
|
||||
|
||||
.. warning::
|
||||
|
||||
@ -570,37 +568,40 @@ MPI-IO.
|
||||
|
||||
Note that MPI-IO dump files are one large file which all processors
|
||||
write to. You thus cannot use the "%" wildcard character described
|
||||
above in the filename since that specifies generation of multiple
|
||||
files. 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
|
||||
same binary format as if it were written without MPI-IO.
|
||||
above in the filename since that specifies generation of multiple files.
|
||||
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 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
|
||||
"\*" or "%" is also used) is written in binary format. A binary dump file
|
||||
will be about the same size as a text version, but will typically
|
||||
write out much faster. Of course, when post-processing, you will need
|
||||
to convert it back to text format (see the :ref:`binary2txt tool <binary>`) or
|
||||
write your own code to read the binary file. The format of the binary file can
|
||||
be understood by looking at the :file:`tools/binary2txt.cpp` file. This option
|
||||
is only available for the *atom* and *custom* styles.
|
||||
If the filename ends with ".bin" or ".lammpsbin", the dump file (or
|
||||
files, if "\*" or "%" is also used) is written in binary format. A
|
||||
binary dump file will be about the same size as a text version, but will
|
||||
typically write out much faster. Of course, when post-processing, you
|
||||
will need to convert it back to text format (see the :ref:`binary2txt
|
||||
tool <binary>`) or write your own code to read the binary file. The
|
||||
format of the binary file can be understood by looking at the
|
||||
: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 "%"
|
||||
is also used) is written in gzipped format. A gzipped dump file will be about
|
||||
:math:`3\times` smaller than the text version, but will also take longer
|
||||
to write. This option is not available for the *dcd* and *xtc* styles.
|
||||
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 :math:`3\times` smaller than the text version, but will also take
|
||||
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
|
||||
reference values from a compute or fix or custom atom property, like
|
||||
the *custom*\ , *cfg*\ , or *local* styles, the bracketed index :math:`i` can
|
||||
be specified using a wildcard asterisk with the index to effectively
|
||||
specify multiple values. This takes the form "\*" or "\*n" or "m\*"
|
||||
or "m\*n." If :math:`N` is the number of columns in the array, then an
|
||||
asterisk with no numeric values means all column indices from 1 to :math:`N`.
|
||||
A leading asterisk means all indices from 1 to n (inclusive). A
|
||||
trailing asterisk means all indices from m to :math:`N` (inclusive). A middle
|
||||
asterisk means all indices from m to n (inclusive).
|
||||
reference values from a compute or fix or custom atom property, like the
|
||||
*custom*\ , *cfg*\ , or *local* styles, the bracketed index :math:`i`
|
||||
can be specified using a wildcard asterisk with the index to effectively
|
||||
specify multiple values. This takes the form "\*" or "\*n" or "m\*" or
|
||||
"m\*n". If :math:`N` is the number of columns in the array, then an
|
||||
asterisk with no numeric values means all column indices from 1 to
|
||||
:math:`N`. A leading asterisk means all indices from 1 to n
|
||||
(inclusive). A trailing asterisk means all indices from m to :math:`N`
|
||||
(inclusive). A middle asterisk means all indices from m to n
|
||||
(inclusive).
|
||||
|
||||
Using a wildcard is the same as if the individual columns of the array
|
||||
had been listed one by one. For example, these two dump commands are
|
||||
@ -679,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
|
||||
file for molecular systems. *Proc* is the ID of the processor (0 to
|
||||
:math:`N_\text{procs}-1`) that currently owns the atom.
|
||||
*Procp1* is the proc ID+1, which can be convenient in place of a *type*
|
||||
attribute (1 to :math:`N_\text{types}`) for coloring atoms in a visualization
|
||||
program. *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
|
||||
via the :doc:`dump_modify element <dump_modify>` command. More generally, it
|
||||
can be any string you wish to associated with an atom type. *Mass* is the atom
|
||||
mass. The quantities *vx*, *vy*, *vz*, *fx*, *fy*, *fz*, and *q* are components
|
||||
of atom velocity and force and atomic charge.
|
||||
:math:`N_\text{procs}-1`) that currently owns the atom. *Procp1* is the
|
||||
proc ID+1, which can be convenient in place of a *type* attribute (1 to
|
||||
:math:`N_\text{types}`) for coloring atoms in a visualization program.
|
||||
*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 via the :doc:`dump_modify element <dump_modify>` command. More
|
||||
generally, it can be any string you wish to associated with an atom
|
||||
type. *Mass* is the atom mass. The quantities *vx*, *vy*, *vz*, *fx*,
|
||||
*fy*, *fz*, and *q* are components of atom velocity and force and atomic
|
||||
charge.
|
||||
|
||||
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}`,
|
||||
:math:`\sigma`, etc.). Use *xs*, *ys*, and *zs* if you want the coordinates
|
||||
"scaled" to the box size so that each value is 0.0 to 1.0. If the simulation
|
||||
box is triclinic (tilted), then all atom coords will still be between 0.0 and
|
||||
1.0. The actual unscaled :math:`(x,y,z)` coordinate is
|
||||
:math:`x_s a + y_s b + z_s c`, where :math:`(a,b,c)` are the non-orthogonal
|
||||
vectors of the simulation box edges, as discussed on the
|
||||
:doc:`Howto triclinic <Howto_triclinic>` page.
|
||||
:math:`\sigma`, etc.). Use *xs*, *ys*, and *zs* if you want the
|
||||
coordinates "scaled" to the box size so that each value is 0.0 to 1.0.
|
||||
If the simulation box is triclinic (tilted), then all atom coords will
|
||||
still be between 0.0 and 1.0. The actual unscaled :math:`(x,y,z)`
|
||||
coordinate is :math:`x_s a + y_s b + z_s c`, where :math:`(a,b,c)` are
|
||||
the non-orthogonal vectors of the simulation box edges, as discussed on
|
||||
the :doc:`Howto triclinic <Howto_triclinic>` page.
|
||||
|
||||
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
|
||||
passed through a periodic boundary one or more times, the value is
|
||||
printed for what the coordinate would be if it had not been wrapped
|
||||
back into the periodic box. Note that using *xu*, *yu*, and *zu* means
|
||||
that the coordinate values may be far outside the box bounds printed
|
||||
with the snapshot. Using *xsu*, *ysu*, and *zsu* is similar to using
|
||||
*xu*, *yu*, and *zu*, except that the unwrapped coordinates are scaled by
|
||||
the box size. Atoms that have passed through a periodic boundary will
|
||||
have the corresponding coordinate increased or decreased by 1.0.
|
||||
image flags for each atom. Unwrapped means that if the atom has passed
|
||||
through a periodic boundary one or more times, the value is printed for
|
||||
what the coordinate would be if it had not been wrapped back into the
|
||||
periodic box. Note that using *xu*, *yu*, and *zu* means that the
|
||||
coordinate values may be far outside the box bounds printed with the
|
||||
snapshot. Using *xsu*, *ysu*, and *zsu* is similar to using *xu*, *yu*,
|
||||
and *zu*, except that the unwrapped coordinates are scaled by the box
|
||||
size. Atoms that have passed through a periodic boundary will have the
|
||||
corresponding coordinate increased or decreased by 1.0.
|
||||
|
||||
The image flags can be printed directly using the *ix*, *iy*, and *iz*
|
||||
attributes. For periodic dimensions, they specify which image of the
|
||||
@ -721,8 +723,8 @@ periodic boundaries during the simulation.
|
||||
|
||||
The *mux*, *muy*, and *muz* attributes are specific to dipolar systems
|
||||
defined with an atom style of *dipole*\ . They give the orientation of
|
||||
the atom's point dipole moment. The *mu* attribute gives the
|
||||
magnitude of the atom's dipole moment.
|
||||
the atom's point dipole moment. The *mu* attribute gives the magnitude
|
||||
of the atom's dipole moment.
|
||||
|
||||
The *radius* and *diameter* attributes are specific to spherical
|
||||
particles that have a finite size, such as those defined with an atom
|
||||
@ -736,17 +738,17 @@ The *angmomx*, *angmomy*, and *angmomz* attributes are specific to
|
||||
finite-size aspherical particles that have an angular momentum. Only
|
||||
the *ellipsoid* atom style defines this quantity.
|
||||
|
||||
The *tqx*, *tqy*, and *tqz* attributes are for finite-size particles that
|
||||
can sustain a rotational torque due to interactions with other
|
||||
The *tqx*, *tqy*, and *tqz* attributes are for finite-size particles
|
||||
that can sustain a rotational torque due to interactions with other
|
||||
particles.
|
||||
|
||||
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
|
||||
attribute should be replaced by the actual ID of the compute that has
|
||||
been defined previously in the input script. See the
|
||||
:doc:`compute <compute>` command for details. There are computes for
|
||||
calculating the per-atom energy, stress, centro-symmetry parameter,
|
||||
and coordination number of individual atoms.
|
||||
been defined previously in the input script. See the :doc:`compute
|
||||
<compute>` command for details. There are computes for calculating the
|
||||
per-atom energy, stress, centro-symmetry parameter, and coordination
|
||||
number of individual atoms.
|
||||
|
||||
Note that computes which calculate global or local quantities, as
|
||||
opposed to per-atom quantities, cannot be output in a dump custom
|
||||
@ -754,39 +756,39 @@ command. Instead, global quantities can be output by the
|
||||
:doc:`thermo_style custom <thermo_style>` command, and local quantities
|
||||
can be output by the dump local command.
|
||||
|
||||
If *c_ID* is used as a attribute, then the per-atom vector calculated
|
||||
by 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
|
||||
per-atom array with :math:`M` columns calculated by the compute. See the
|
||||
discussion above for how :math:`i` can be specified with a wildcard asterisk to
|
||||
effectively specify multiple values.
|
||||
If *c_ID* is used as a attribute, then the per-atom vector calculated by
|
||||
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 per-atom array with :math:`M` columns calculated by the compute.
|
||||
See the discussion above for how :math:`i` can be specified with a
|
||||
wildcard asterisk to effectively specify multiple values.
|
||||
|
||||
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
|
||||
the attribute should be replaced by the actual ID of the fix that has
|
||||
been defined previously in the input script. The :doc:`fix ave/atom
|
||||
quantities calculated by a :doc:`fix <fix>` to be output. The ID in the
|
||||
attribute should be replaced by the actual ID of the fix that has been
|
||||
defined previously in the input script. The :doc:`fix ave/atom
|
||||
<fix_ave_atom>` command is one that calculates per-atom quantities.
|
||||
Since it can time-average per-atom quantities produced by any
|
||||
:doc:`compute <compute>`, :doc:`fix <fix>`, or atom-style
|
||||
:doc:`variable <variable>`, this allows those time-averaged results to
|
||||
be written to a dump file.
|
||||
:doc:`compute <compute>`, :doc:`fix <fix>`, or atom-style :doc:`variable
|
||||
<variable>`, this allows those time-averaged results to be written to a
|
||||
dump file.
|
||||
|
||||
If *f_ID* is used as a attribute, then the per-atom vector calculated
|
||||
by 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
|
||||
per-atom array with :math:`M` columns calculated by the fix. See the
|
||||
discussion above for how :math:`i` can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
If *f_ID* is used as a attribute, then the per-atom vector calculated by
|
||||
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 per-atom array with :math:`M` columns calculated by the fix. See
|
||||
the discussion above for how :math:`i` can be specified with a wildcard
|
||||
asterisk to effectively specify multiple values.
|
||||
|
||||
The *v_name* attribute allows per-atom vectors calculated by a
|
||||
:doc:`variable <variable>` to be output. The name in the attribute
|
||||
should be replaced by the actual name of the variable that has been
|
||||
defined previously in the input script. Only an atom-style variable
|
||||
can be referenced, since it is the only style that generates per-atom
|
||||
defined previously in the input script. Only an atom-style variable can
|
||||
be referenced, since it is the only style that generates per-atom
|
||||
values. Variables of style *atom* can reference individual atom
|
||||
attributes, per-atom attributes, thermodynamic keywords, or invoke
|
||||
other computes, fixes, or variables when they are evaluated, so this
|
||||
is a very general means of creating quantities to output to a dump file.
|
||||
attributes, per-atom attributes, thermodynamic keywords, or invoke other
|
||||
computes, fixes, or variables when they are evaluated, so this is a very
|
||||
general means of creating quantities to output to a dump file.
|
||||
|
||||
The *i_name*, *d_name*, *i2_name*, *d2_name* attributes refer to
|
||||
per-atom integer and floating-point vectors or arrays that have been
|
||||
@ -794,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
|
||||
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
|
||||
the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where :math:`i` is in the
|
||||
range from 1 to :math:`M`, where :math:`M` is the number of columns in the
|
||||
custom array). See the discussion above for how :math:`i` can be specified with
|
||||
a wildcard asterisk to effectively specify multiple values.
|
||||
the name in brackets (e.g., d2_xyz[i], i2_mySpin[i], where :math:`i` is
|
||||
in the range from 1 to :math:`M`, where :math:`M` is the number of
|
||||
columns in the custom array). See the discussion above for how :math:`i`
|
||||
can be specified with a wildcard asterisk to effectively specify
|
||||
multiple values.
|
||||
|
||||
See the :doc:`Modify <Modify>` page for information on how to add
|
||||
new compute and fix styles to LAMMPS to calculate per-atom quantities
|
||||
|
||||
@ -196,8 +196,8 @@ Only atoms in the specified group are rendered in the image. The
|
||||
alter what atoms are included in the image.
|
||||
The filename suffix determines whether a JPEG, PNG, or PPM file is
|
||||
created with the *image* dump style. If the suffix is ".jpg" or
|
||||
".jpeg," then a `JPEG format <jpeg_format_>`_ file is created, if the
|
||||
suffix is ".png," then a `PNG format <png_format_>`_ is created, else
|
||||
".jpeg", then a `JPEG format <jpeg_format_>`_ file is created, if the
|
||||
suffix is ".png", then a `PNG format <png_format_>`_ is created, else
|
||||
a `PPM (aka NETPBM) format <ppm_format_>`_ file is created.
|
||||
The JPEG and PNG files are binary; PPM has a text mode header followed
|
||||
by binary data. JPEG images have lossy compression, PNG has lossless
|
||||
@ -261,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
|
||||
*element*\ . This includes per-atom quantities calculated by a
|
||||
: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
|
||||
all atoms by the optional *adiam* keyword.
|
||||
|
||||
@ -297,18 +297,18 @@ and sizes used by the `AtomEye <atomeye_>`_ visualization package.
|
||||
If other atom attributes are used for the *color* or *diameter*
|
||||
settings, they are interpreted in the following way.
|
||||
|
||||
If "vx," for example, is used as the *color* setting, then the color
|
||||
If "vx", for example, is used as the *color* setting, then the color
|
||||
of the atom will depend on the x-component of its velocity. The
|
||||
association of a per-atom value with a specific color is determined by
|
||||
a "color map," which can be specified via the dump_modify command, as
|
||||
a "color map", which can be specified via the dump_modify command, as
|
||||
described below. The basic idea is that the atom-attribute will be
|
||||
within a range of values, and every value within the range is mapped
|
||||
to a specific color. Depending on how the color map is defined, that
|
||||
mapping can take place via interpolation so that a value of -3.2 is
|
||||
halfway between "red" and "blue," or discretely so that the value of
|
||||
halfway between "red" and "blue", or discretely so that the value of
|
||||
-3.2 is "orange".
|
||||
|
||||
If "vx," for example, is used as the *diameter* setting, then the atom
|
||||
If "vx", for example, is used as the *diameter* setting, then the atom
|
||||
will be rendered using the x-component of its velocity as the
|
||||
diameter. If the per-atom value <= 0.0, them the atom will not be
|
||||
drawn. Note that finite-size spherical particles, as defined by
|
||||
@ -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,
|
||||
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
|
||||
individual atom, given the value :math:`X` of its atom attribute.
|
||||
:math:`X` will 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
|
||||
associated with those entries. For example, if :math:`X = -5.0` and the two
|
||||
surrounding entries are "red" at :math:`-10.0` and "blue" at :math:`0.0`,
|
||||
then the atom's color will be halfway between "red" and "blue," which happens
|
||||
to be "purple."
|
||||
Here is how the entries are used to determine the color of an individual
|
||||
atom, given the value :math:`X` of its atom attribute. :math:`X` will
|
||||
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 associated
|
||||
with those entries. For example, if :math:`X = -5.0` and the two
|
||||
surrounding entries are "red" at :math:`-10.0` and "blue" at
|
||||
:math:`0.0`, then the atom's color will be halfway between "red" and
|
||||
"blue", which happens to be "purple".
|
||||
|
||||
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
|
||||
@ -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
|
||||
entries can have any *lo* and *hi* values and the sub-ranges of
|
||||
different values can overlap. Note that numeric *lo* and *hi* values
|
||||
can be specified either 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.
|
||||
can be specified either 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.
|
||||
|
||||
Here is how the entries are used to determine the color of an
|
||||
individual atom, given the value X of its atom attribute. The entries
|
||||
are scanned from first to last. The first time that *lo* <= X <=
|
||||
*hi*, X is assigned the color associated with that entry. You can
|
||||
think of the last entry as assigning a default color (since it will
|
||||
always be matched by X), and the earlier entries as colors that
|
||||
override the default. Also note that no interpolation of a color RGB
|
||||
is done. All atoms will be drawn with one of the colors in the list
|
||||
of entries.
|
||||
Here is how the entries are used to determine the color of an individual
|
||||
atom, given the value X of its atom attribute. The entries are scanned
|
||||
from first to last. The first time that *lo* <= X <= *hi*, X is
|
||||
assigned the color associated with that entry. You can think of the
|
||||
last entry as assigning a default color (since it will always be matched
|
||||
by X), and the earlier entries as colors that override the default.
|
||||
Also note that no interpolation of a color RGB is done. All atoms will
|
||||
be drawn with one of the colors in the list of entries.
|
||||
|
||||
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,
|
||||
@ -867,7 +866,7 @@ that bonds of each type will be drawn in the image.
|
||||
The specified *type* should be an integer from 1 to :math:`N`, where :math:`N`
|
||||
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
|
||||
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n." If :math:`N`
|
||||
types. 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 numerical 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 m to :math:`N`
|
||||
|
||||
@ -176,6 +176,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
|
||||
output until the specified *Dstep* timestep or later. Specifying
|
||||
*Dstep* < 0 is the same as turning off the delay setting. This is a
|
||||
@ -365,7 +390,7 @@ always occur if the current timestep is a multiple of $N$, the
|
||||
frequency specified in the :doc:`dump <dump>` command or
|
||||
:doc:`dump_modify every <dump_modify>` command, including timestep 0.
|
||||
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.
|
||||
|
||||
But if this is not the case, a dump snapshot will only be written if
|
||||
@ -373,7 +398,7 @@ the setting of this keyword is *yes*\ . If it is *no*, which is the
|
||||
default, then it will not be written.
|
||||
|
||||
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
|
||||
only way to write a dump snapshot on the first timestep after the dump
|
||||
command is invoked.
|
||||
@ -388,30 +413,6 @@ performed with dump style *xtc*\ .
|
||||
|
||||
----------
|
||||
|
||||
.. 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.
|
||||
|
||||
----------
|
||||
|
||||
The *format* keyword can be used to change the default numeric format output
|
||||
by the text-based dump styles: *atom*, *local*, *custom*, *cfg*, and
|
||||
*xyz* styles, and their MPIIO variants. Only the *line* or *none*
|
||||
@ -498,6 +499,8 @@ boundary twice and is really two box lengths to the left of its
|
||||
current coordinate. Note that for dump style *custom* these various
|
||||
values can be printed in the dump file by using the appropriate atom
|
||||
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.
|
||||
|
||||
----------
|
||||
|
||||
@ -671,6 +674,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
|
||||
value of *no* means they are written in absolute distance units
|
||||
(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.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
@ -122,7 +122,7 @@ The *pstyle* argument is the name of the pair style. If
|
||||
sub-styles using the same pair style, then *pstyle* should be specified
|
||||
as "style:N", where :math:`N` is which instance of the pair style you wish to
|
||||
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
|
||||
current list of pair styles and parameters that can be varied by this
|
||||
fix. See the doc pages for individual pair styles and their energy
|
||||
@ -245,7 +245,7 @@ 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
|
||||
the :math:`I,J` arguments to set the coefficients for multiple pairs of atom
|
||||
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n." If :math:`N`
|
||||
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N`
|
||||
is the number of atom 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 m to :math:`N`
|
||||
@ -260,17 +260,17 @@ values defined (via the :doc:`pair_coeff <pair_coeff>` command) for
|
||||
that sub-style.
|
||||
|
||||
The *v_name* argument for keyword *pair* is the name of an
|
||||
:doc:`equal-style variable <variable>` which will be evaluated each
|
||||
time this fix is invoked to set the parameter to a new value. It
|
||||
should be specified as v_name, where name is the variable name.
|
||||
Equal-style variables can specify formulas with various mathematical
|
||||
functions, and include :doc:`thermo_style <thermo_style>` command
|
||||
keywords for the simulation box parameters and timestep and elapsed
|
||||
time. Thus it is easy to specify parameters that change as a function
|
||||
of time or span consecutive runs in a continuous fashion. For the
|
||||
latter, see the *start* and *stop* keywords of the :doc:`run <run>`
|
||||
command and the *elaplong* keyword of :doc:`thermo_style custom
|
||||
<thermo_style>` for details.
|
||||
:doc:`equal-style variable <variable>` which will be evaluated each time
|
||||
this fix is invoked to set the parameter to a new value. It should be
|
||||
specified as v_name, where name is the variable name. Equal-style
|
||||
variables can specify formulas with various mathematical functions, and
|
||||
include :doc:`thermo_style <thermo_style>` command keywords for the
|
||||
simulation box parameters and timestep and elapsed time. Thus it is
|
||||
easy to specify parameters that change as a function of time or span
|
||||
consecutive runs in a continuous fashion. For the latter, see the
|
||||
*start* and *stop* keywords of the :doc:`run <run>` command and the
|
||||
*elaplong* keyword of :doc:`thermo_style custom <thermo_style>` for
|
||||
details.
|
||||
|
||||
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
|
||||
@ -288,13 +288,14 @@ a bond coefficient over time, very similar to how the *pair* keyword
|
||||
operates. The only difference is that now a bond coefficient for a
|
||||
given bond type is adapted.
|
||||
|
||||
A wild-card asterisk can be used in place of or in conjunction with
|
||||
the bond type argument to set the coefficients for multiple bond
|
||||
types. 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
|
||||
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 m to :math:`N`
|
||||
(inclusive). A middle asterisk means all types from m to n (inclusive).
|
||||
A wild-card asterisk can be used in place of or in conjunction with the
|
||||
bond type argument to set the coefficients for multiple bond types.
|
||||
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 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 m to
|
||||
:math:`N` (inclusive). A middle asterisk means all types from m to n
|
||||
(inclusive).
|
||||
|
||||
Currently *bond* does not support bond_style hybrid nor bond_style
|
||||
hybrid/overlay as bond styles. The bond styles that currently work
|
||||
@ -323,13 +324,14 @@ an angle coefficient over time, very similar to how the *pair* keyword
|
||||
operates. The only difference is that now an angle coefficient for a
|
||||
given angle type is adapted.
|
||||
|
||||
A wild-card asterisk can be used in place of or in conjunction with
|
||||
the angle type argument to set the coefficients for multiple angle
|
||||
types. 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
|
||||
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 m to :math:`N`
|
||||
(inclusive). A middle asterisk means all types from m to n (inclusive).
|
||||
A wild-card asterisk can be used in place of or in conjunction with the
|
||||
angle type argument to set the coefficients for multiple angle types.
|
||||
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 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 m to
|
||||
:math:`N` (inclusive). A middle asterisk means all types from m to n
|
||||
(inclusive).
|
||||
|
||||
Currently *angle* does not support angle_style hybrid nor angle_style
|
||||
hybrid/overlay as angle styles. The angle styles that currently work
|
||||
|
||||
@ -115,7 +115,7 @@ overrides the parameters.
|
||||
|
||||
The *pstyle* argument is the name of the pair style. If :doc:`pair_style hybrid or hybrid/overlay <pair_hybrid>` is used, *pstyle* should be
|
||||
a sub-style name. For example, *pstyle* could be specified as "soft"
|
||||
or "lubricate." The *pparam* argument is the name of the parameter to
|
||||
or "lubricate". 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 fix. See the doc pages for individual pair
|
||||
styles and their energy formulas for the meaning of these parameters:
|
||||
@ -209,7 +209,7 @@ 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
|
||||
the :math:`I,J` arguments to set the coefficients for multiple pairs of atom
|
||||
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n." If :math:`N` is
|
||||
types. This takes the form "\*" or "\*n" or "m\*" or "m\*n". If :math:`N` is
|
||||
the number of atom 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 m to :math:`N`
|
||||
|
||||
@ -153,7 +153,7 @@ which can be accessed by various :doc:`output commands
|
||||
<Howto_output>`. The scalar is the potential energy discussed above.
|
||||
The vector is the total force on the group of atoms before the forces
|
||||
on individual atoms are changed by the fix. The scalar and vector
|
||||
values calculated by this fix are "extensive."
|
||||
values calculated by this fix are "extensive".
|
||||
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command.
|
||||
|
||||
@ -75,7 +75,7 @@ accessed by various :doc:`output commands <Howto_output>`. The scalar
|
||||
is the potential energy discussed above. The vector is the total
|
||||
torque on the group of atoms before the forces on individual atoms are
|
||||
changed by the fix. The scalar and vector values calculated by this
|
||||
fix are "extensive."
|
||||
fix are "extensive".
|
||||
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command.
|
||||
|
||||
@ -124,7 +124,7 @@ setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
|
||||
This fix computes a global scalar which can be accessed by various
|
||||
:doc:`output commands <Howto_output>`. The scalar is the potential
|
||||
energy discussed above. The scalar value calculated by this fix is
|
||||
"extensive."
|
||||
"extensive".
|
||||
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command.
|
||||
|
||||
@ -138,7 +138,7 @@ setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
|
||||
This fix computes a global scalar which can be accessed by various
|
||||
:doc:`output commands <Howto_output>`. The scalar is the potential
|
||||
energy discussed above. The scalar value calculated by this fix is
|
||||
"extensive."
|
||||
"extensive".
|
||||
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command.
|
||||
|
||||
@ -135,7 +135,7 @@ fix are listed below.
|
||||
|
||||
This fix computes a global scalar which can be accessed by various
|
||||
:doc:`output commands <Howto_output>`. The scalar is the energy
|
||||
discussed in the previous paragraph. The scalar value is "extensive."
|
||||
discussed in the previous paragraph. The scalar value is "extensive".
|
||||
|
||||
No parameter of this fix can be used with the
|
||||
*start/stop* keywords of the :doc:`run <run>` command. This fix is not
|
||||
|
||||
@ -167,7 +167,7 @@ the following global cumulative quantities:
|
||||
* 1 = swap attempts
|
||||
* 2 = swap accepts
|
||||
|
||||
The vector values calculated by this fix are "extensive."
|
||||
The vector values calculated by this fix are "extensive".
|
||||
|
||||
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
|
||||
|
||||
@ -70,7 +70,7 @@ per-atom vectors.
|
||||
Note that for values from a compute or fix, the bracketed index I can
|
||||
be specified using a wildcard asterisk with the index to effectively
|
||||
specify multiple values. This takes the form "\*" or "\*n" or "m\*" or
|
||||
"m\*n." If :math:`N` is the size of the vector (for *mode* = scalar) or the
|
||||
"m\*n". If :math:`N` is the size of the vector (for *mode* = scalar) or the
|
||||
number of columns in the array (for *mode* = vector), then an asterisk
|
||||
with no numeric values means all indices from 1 to :math:`N`. A leading
|
||||
asterisk means all indices from 1 to n (inclusive). A trailing
|
||||
@ -127,7 +127,7 @@ specifying an input value from that compute.
|
||||
:doc:`compute property/atom <compute_property_atom>`
|
||||
command via its *xu*, *yu*, and *zu* attributes.
|
||||
|
||||
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. If no bracketed term is
|
||||
appended, the per-atom vector calculated by the compute is used. If a
|
||||
bracketed term containing an index :math:`I` is appended, the
|
||||
@ -137,7 +137,7 @@ used. Users can also write code for their own compute styles and
|
||||
:math:`I` can be specified with a wildcard asterisk to effectively specify
|
||||
multiple values.
|
||||
|
||||
If a value begins with "f\_," a fix ID must follow which has been previously
|
||||
If a value begins with "f\_", a fix ID must follow which has been previously
|
||||
defined in the input script. If no bracketed term is appended, the per-atom
|
||||
vector calculated by the fix is used. If a bracketed term containing an index
|
||||
:math:`I` is appended, the :math:`I^\text{th}` column of the per-atom array
|
||||
@ -148,7 +148,7 @@ and :doc:`add them to LAMMPS <Modify>`. See the discussion above for how
|
||||
:math:`I` can be specified with a wildcard asterisk to effectively specify
|
||||
multiple values.
|
||||
|
||||
If a value begins with "v\_," a variable name must follow which has
|
||||
If a value begins with "v\_", a variable name must follow which has
|
||||
been previously defined in the input script as an
|
||||
:doc:`atom-style variable <variable>`. Variables of style *atom* can reference
|
||||
thermodynamic keywords or invoke other computes, fixes, or variables
|
||||
|
||||
@ -288,7 +288,7 @@ together as one set of atoms to calculate their temperature. The
|
||||
compute allows the center-of-mass velocity of each chunk to be
|
||||
subtracted before calculating the temperature; this fix does not.
|
||||
|
||||
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. If no bracketed integer is
|
||||
appended, the per-atom vector calculated by the compute is used. If a
|
||||
bracketed integer is appended, the Ith column of the per-atom array
|
||||
@ -297,7 +297,7 @@ their own compute styles and :doc:`add them to LAMMPS <Modify>`.
|
||||
See the discussion above for how I can be specified with a wildcard
|
||||
asterisk 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. If no bracketed integer is
|
||||
appended, the per-atom vector calculated by the fix is used. If a
|
||||
bracketed integer is appended, the Ith column of the per-atom array
|
||||
@ -308,7 +308,7 @@ their own fix styles and :doc:`add them to LAMMPS <Modify>`. See the
|
||||
discussion above for how I can be specified with a wildcard asterisk
|
||||
to effectively specify multiple values.
|
||||
|
||||
If a value begins with "v\_," a variable name must follow which has
|
||||
If a value begins with "v\_", a variable name must follow which has
|
||||
been previously defined in the input script. Variables of style
|
||||
*atom* can reference thermodynamic keywords and various per-atom
|
||||
attributes, or invoke other computes, fixes, or variables when they
|
||||
@ -348,7 +348,7 @@ at each sampling step.
|
||||
|
||||
If the *norm* setting is *none*, a similar computation as for the
|
||||
*sample* setting is done, except the individual "average sample
|
||||
values" are "summed sample values." A summed sample value is simply
|
||||
values" are "summed sample values". A summed sample value is simply
|
||||
the chunk value summed over atoms in the sample, without dividing by
|
||||
the number of atoms in the sample. The output value for the chunk on
|
||||
the :math:`N_\text{freq}` timesteps is the average of the
|
||||
@ -494,21 +494,21 @@ relevant to this fix.
|
||||
|
||||
This fix computes a global array of values which can be accessed by
|
||||
various :doc:`output commands <Howto_output>`. The values can only be
|
||||
accessed on timesteps that are multiples of :math:`N_\text{freq}`, since that
|
||||
is when averaging is performed. The global array has # of rows = the number
|
||||
of chunks :math:`N_\text{chunk}`, as calculated by the specified
|
||||
:doc:`compute chunk/atom <compute_chunk_atom>` command. The # of columns is
|
||||
:math:`M+1+N_\text{values}`, where :math:`M \in \{1,\dotsc,4\}`,
|
||||
depending on whether the optional
|
||||
columns for OrigID and CoordN are used, as explained above. Following
|
||||
the optional columns, the next column contains the count of atoms in
|
||||
the chunk, and the remaining columns are the Nvalue quantities. When
|
||||
the array is accessed with a row :math:`I` that exceeds the current number of
|
||||
chunks, than a 0.0 is returned by the fix instead of an error, since
|
||||
the number of chunks can vary as a simulation runs depending on how
|
||||
that value is computed by the compute chunk/atom command.
|
||||
accessed on timesteps that are multiples of :math:`N_\text{freq}`, since
|
||||
that is when averaging is performed. The global array has # of rows =
|
||||
the number of chunks :math:`N_\text{chunk}`, as calculated by the
|
||||
specified :doc:`compute chunk/atom <compute_chunk_atom>` command. The #
|
||||
of columns is :math:`M+1+N_\text{values}`, where :math:`M \in
|
||||
\{1,\dotsc,4\}`, depending on whether the optional columns for OrigID
|
||||
and CoordN are used, as explained above. Following the optional
|
||||
columns, the next column contains the count of atoms in the chunk, and
|
||||
the remaining columns are the Nvalue quantities. When the array is
|
||||
accessed with a row :math:`I` that exceeds the current number of chunks,
|
||||
than a 0.0 is returned by the fix instead of an error, since the number
|
||||
of chunks can vary as a simulation runs depending on how that value is
|
||||
computed by the compute chunk/atom command.
|
||||
|
||||
The array values calculated by this fix are treated as "intensive,"
|
||||
The array values calculated by this fix are treated as "intensive",
|
||||
since they are typically already normalized by the count of atoms in
|
||||
each chunk.
|
||||
|
||||
|
||||
@ -189,7 +189,7 @@ Also, if the *ave* keyword is set to *one* which is the default, then
|
||||
|
||||
----------
|
||||
|
||||
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. If no bracketed term is
|
||||
appended, the global scalar calculated by the compute is used. If a
|
||||
bracketed term is appended, the :math:`I^\text{th}` element of the global
|
||||
@ -206,7 +206,7 @@ or :doc:`fix temp/rescale <fix_temp_rescale>`. See the doc pages for
|
||||
these commands which give the IDs of these computes. Users can also
|
||||
write code for their own compute styles and :doc:`add them to LAMMPS <Modify>`.
|
||||
|
||||
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. If no bracketed term is
|
||||
appended, the global scalar calculated by the fix is used. If a
|
||||
bracketed term is appended, the :math:`I^\text{th}` element of the global
|
||||
@ -219,7 +219,7 @@ which must be compatible with :math:`N_\text{every}`, else an error will
|
||||
result. Users can also write code for their own fix styles and
|
||||
:doc:`add them to LAMMPS <Modify>`.
|
||||
|
||||
If a value begins with "v\_," a variable name must follow which has been
|
||||
If a value begins with "v\_", a variable name must follow which has been
|
||||
previously defined in the input script. Only equal-style or vector-style
|
||||
variables can be referenced; the latter requires a bracketed term to specify
|
||||
the :math:`I^\text{th}` element of the vector calculated by the variable.
|
||||
|
||||
@ -193,7 +193,7 @@ inputs to this fix by using the
|
||||
:doc:`compute property/atom <compute_property_atom>` command and then
|
||||
specifying 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. If *mode* = scalar, then if
|
||||
no bracketed term is appended, the global scalar calculated by the
|
||||
compute is used. If a bracketed term is appended, the Ith element of
|
||||
@ -215,7 +215,7 @@ these commands which give the IDs of these computes. Users can also
|
||||
write code for their own compute styles and
|
||||
:doc:`add them to LAMMPS <Modify>`.
|
||||
|
||||
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. If *mode* = scalar, then if
|
||||
no bracketed term is appended, the global scalar calculated by the fix
|
||||
is used. If a bracketed term is appended, the Ith element of the
|
||||
@ -232,7 +232,7 @@ which must be compatible with :math:`N_\text{every}`, else an error will
|
||||
result. Users can also write code for their own fix styles and
|
||||
:doc:`add them to LAMMPS <Modify>`.
|
||||
|
||||
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. If *mode* = scalar, then
|
||||
only equal-style or vector-style variables can be used, which both
|
||||
produce global values. In this mode, a vector-style variable requires
|
||||
|
||||
@ -358,11 +358,11 @@ of rows = length of the input vectors and # of columns = number of
|
||||
inputs.
|
||||
|
||||
If the fix produces a scalar or vector, then the scalar and each
|
||||
element of the vector can be either "intensive" or "extensive,"
|
||||
element of the vector can be either "intensive" or "extensive",
|
||||
depending on whether the values contributing to the scalar or vector
|
||||
element are "intensive" or "extensive." If the fix produces an array,
|
||||
element are "intensive" or "extensive". If the fix produces an array,
|
||||
then all elements in the array must be the same, either "intensive" or
|
||||
"extensive." If a compute or fix provides the value being time
|
||||
"extensive". If a compute or fix provides the value being time
|
||||
averaged, then the compute or fix determines whether the value is
|
||||
intensive or extensive; see the page for that compute or fix for
|
||||
further info. Values produced by a variable are treated as intensive.
|
||||
|
||||
@ -361,7 +361,7 @@ The "SQUARES" section lists the node IDs of the four vertices in a
|
||||
rectangle for each processor (1 to 4).
|
||||
|
||||
For a 3d problem, the syntax is similar but with eight vertices listed for
|
||||
each processor instead of four, and "SQUARES" replaced by "CUBES."
|
||||
each processor instead of four, and "SQUARES" replaced by "CUBES".
|
||||
|
||||
----------
|
||||
|
||||
@ -387,7 +387,7 @@ number of particles (or total weight) per processor.
|
||||
|
||||
These quantities can be accessed by various
|
||||
:doc:`output commands <Howto_output>`. The scalar and vector values calculated
|
||||
by this fix are "intensive."
|
||||
by this fix are "intensive".
|
||||
|
||||
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
|
||||
|
||||
@ -8,18 +8,27 @@ Syntax
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID latte peID
|
||||
fix ID group-ID latte keyword value ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* latte = style name of this fix command
|
||||
* peID = NULL or ID of compute used to calculate per-atom energy
|
||||
* zero or more keyword/value pairs may be appended
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
keyword = *coulomb* or *exclude*
|
||||
*coulomb* value = peID
|
||||
peID = ID of compute used to calculate per-atom energy
|
||||
*exclude* value = fixID
|
||||
fixID = ID of fix which potentially excludes atoms before calling LATTE
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix dftb all latte NULL
|
||||
fix dftb all latte
|
||||
fix dftb all exclude GCMC
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
@ -48,10 +57,41 @@ found in examples/latte.
|
||||
|
||||
A step-by-step tutorial can be followed at: `LAMMPS-LATTE tutorial <https://github.com/lanl/LATTE/wiki/Using-LATTE-through-LAMMPS>`_
|
||||
|
||||
The *peID* argument is not yet supported by fix latte, so it must be
|
||||
specified as NULL. Eventually it will be used to enable LAMMPS to
|
||||
calculate a Coulomb potential as an alternative to LATTE performing
|
||||
the calculation.
|
||||
Currently, LAMMPS must be run in serial or as a single MPI task, to
|
||||
use this fix. This is because the version of the LATTE library LAMMPS
|
||||
uses does not support MPI. On the LAMMPS size, this is typically not
|
||||
a bottleneck, since LATTE will be doing 99% or more of the work to
|
||||
compute quantum-accurate forces. On the LATTE side, the LATTE library
|
||||
does support threaded parallelism via OpenMP. You must build the
|
||||
LATTE library with OpenMP support, then set the OMP_NUM_THREADS
|
||||
environment variable before performing a LAMMPS + LATTE simulation to
|
||||
tell LATTE how many threads to invoke.
|
||||
|
||||
.. note::
|
||||
|
||||
NEB calculations can be done using this fix using multiple
|
||||
replicas and running LAMMPS in parallel. However, each replica must
|
||||
be run on a single MPI task. For details, see the :doc:`neb <neb>`
|
||||
command page and the :doc:`-partition command-line switch <Run_options>`
|
||||
|
||||
----------
|
||||
|
||||
The *coulomb* argument is not yet supported by fix latte (as of Sept
|
||||
2022). Eventually it will be used to enable LAMMPS to calculate a
|
||||
Coulomb potential as an alternative to LATTE performing the
|
||||
calculation.
|
||||
|
||||
The *exclude* argument allows this fix to work in tandem with another
|
||||
fix which may decide to delete one or more atoms of molecules. The
|
||||
specified fixID is the ID of the other fix.
|
||||
|
||||
The one current example of such a fix is the :doc:`fix gcmc
|
||||
<fix_gcmc>` command which performs Monte Carlo insertions and
|
||||
deletions. If a trial deletion is performed, then LAMMPS needs to
|
||||
only pass LATTE the atoms which remain. Fix gcmc does not actually
|
||||
remove any atoms until after the new energy is computed (in this case
|
||||
by LATTE), and a Monte Carlo accept/reject decision is made for the
|
||||
trial deletion.
|
||||
|
||||
----------
|
||||
|
||||
@ -153,18 +193,8 @@ use this fix.
|
||||
|
||||
LATTE does not currently compute per-atom energy or per-atom virial
|
||||
contributions. So they will not show up as part of the calculations
|
||||
performed by the :doc:`compute pe/atom <compute_pe_atom>` or :doc:`compute stress/atom <compute_stress_atom>` commands.
|
||||
|
||||
Currently, LAMMPS must be run in serial or as a single MPI task, to
|
||||
use this fix. This is typically not a bottleneck, since LATTE will be
|
||||
doing 99% or more of the work to compute quantum-accurate forces.
|
||||
|
||||
.. note::
|
||||
|
||||
NEB calculations can be done using this fix using multiple
|
||||
replicas and running LAMMPS in parallel. However, each replica must
|
||||
be run on a single MPI task. For details, see the :doc:`neb <neb>`
|
||||
command page and the :doc:`-partition command-line switch <Run_options>`
|
||||
performed by the :doc:`compute pe/atom <compute_pe_atom>` or
|
||||
:doc:`compute stress/atom <compute_stress_atom>` commands.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -318,7 +318,7 @@ Restrictions
|
||||
""""""""""""
|
||||
|
||||
There can be no more than 32 groups defined at one time, including
|
||||
"all."
|
||||
"all".
|
||||
|
||||
The parent group of a dynamic group cannot itself be a dynamic group.
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ Syntax
|
||||
|
||||
improper_coeff N args
|
||||
|
||||
* N = improper type (see asterisk form below)
|
||||
* N = numeric improper type (see asterisk form below), or type label
|
||||
* args = coefficients for one or more improper types
|
||||
|
||||
Examples
|
||||
@ -22,27 +22,34 @@ Examples
|
||||
improper_coeff * 80.2 -1 2
|
||||
improper_coeff *4 80.2 -1 2
|
||||
|
||||
labelmap improper 1 benzene
|
||||
improper_coeff benzene 300.0 0.0
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Specify the improper force field coefficients for one or more improper
|
||||
types. The number and meaning of the coefficients depends on the
|
||||
improper style. Improper coefficients can also be set in the data
|
||||
file read by the :doc:`read_data <read_data>` command or in a restart
|
||||
file.
|
||||
improper style. Improper coefficients can also be set in the data 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
|
||||
be used, as in the first example above. Or a wild-card asterisk can be
|
||||
used to set the coefficients for multiple improper types. This takes
|
||||
the form "\*" or "\*n" or "n\*" or "m\*n". If N = the number of improper
|
||||
types, then an asterisk with no numeric values means all types from 1
|
||||
to N. A leading asterisk means all types from 1 to n (inclusive). A
|
||||
trailing asterisk means all types from n to N (inclusive). A middle
|
||||
asterisk means all types from m to n (inclusive).
|
||||
:math:`N` can be specified in one of two ways. An explicit numeric
|
||||
value can be used, as in the first example above. Or :math:`N` can be a
|
||||
type label, which is an alphanumeric string defined by the
|
||||
:doc:`labelmap <labelmap>` command or in a section of a data file read
|
||||
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 improper types. This takes the form "\*" or
|
||||
"\*n" or "n\*" or "m\*n". If :math:`N` = the number of improper 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 improper_coeff command can override a previous
|
||||
setting for the same improper type. For example, these commands set
|
||||
the coeffs for all improper types, then overwrite the coeffs for just
|
||||
setting for the same improper type. For example, these commands set the
|
||||
coeffs for all improper types, then overwrite the coeffs for just
|
||||
improper type 2:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
@ -53,9 +60,9 @@ improper type 2:
|
||||
A line in a data file that specifies improper coefficients uses the
|
||||
exact same format as the arguments of the improper_coeff command in an
|
||||
input script, except that wild-card asterisks should not be used since
|
||||
coefficients for all N types must be listed in the file. For example,
|
||||
under the "Improper Coeffs" section of a data file, the line that
|
||||
corresponds to the first example above would be listed as
|
||||
coefficients for all :math:`N` types must be listed in the file. For
|
||||
example, under the "Improper Coeffs" section of a data file, the line
|
||||
that corresponds to the first example above would be listed as
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
|
||||
@ -981,7 +981,7 @@ In the last example, "new-property.edn" and
|
||||
"/home/mary/marys-kim-properties/dissociation-energy.edn" are the names of files
|
||||
that contain user-defined (local) property definitions.
|
||||
|
||||
A KIM property instance takes the form of a "map," i.e. a set of key-value
|
||||
A KIM property instance takes the form of a "map", i.e. a set of key-value
|
||||
pairs akin to Perl's hash, Python's dictionary, or Java's Hashtable. It
|
||||
consists of a set of property key names, each of which is referred to here by
|
||||
the *key_name* argument, that are defined as part of the relevant KIM Property
|
||||
|
||||
100
doc/src/labelmap.rst
Normal file
100
doc/src/labelmap.rst
Normal file
@ -0,0 +1,100 @@
|
||||
.. index:: labelmap
|
||||
|
||||
labelmap command
|
||||
==================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
labelmap option args
|
||||
|
||||
* *option* = *atom* or *bond* or *angle* or *dihedral* or *improper* or *clear* or *write*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*clear* = no args
|
||||
*write* arg = filename
|
||||
*atom* or *bond* or *angle* or *dihedral* or *improper*
|
||||
args = list of one or more numeric-type/type-label pairs
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
labelmap atom 3 carbon 4 'c3"' 5 "c1'" 6 "c#"
|
||||
labelmap bond 1 carbonyl 2 nitrile 3 """ c1'-c2" """
|
||||
labelmap atom $(label2type(atom,carbon)) C # change type label from 'carbon' to 'C'
|
||||
labelmap clear
|
||||
labelmap write mymap.include
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
.. versionadded:: TBD
|
||||
|
||||
Define alphanumeric type labels to associate with one or more numeric
|
||||
atom, bond, angle, dihedral or improper types. A collection of type
|
||||
labels for all atom types, bond types, etc. is stored as a label map.
|
||||
|
||||
The label map can also be defined by the :doc:`read_data <read_data>`
|
||||
command when it reads these sections in a data file: Atom Type Labels,
|
||||
Bond Type Labels, etc. See the :doc:`Howto type labels
|
||||
<Howto_type_labels>` doc page for a general discussion of how type
|
||||
labels can be used.
|
||||
|
||||
Valid type labels can contain any alphanumeric character, but must not
|
||||
start with a number, a '#', or a '*' character. They can contain other
|
||||
standard ASCII characters such as angular or square brackets '<' and '>'
|
||||
or '[' and ']', parenthesis '(' and ')', dash '-', underscore '_', plus
|
||||
'+' and equals '=' signs and more. They must not contain blanks or any
|
||||
other whitespace. Note that type labels must be put in single or double
|
||||
quotation marks if they contain the '#' character or if they contain a
|
||||
double (") or single quotation mark ('). If the label contains both
|
||||
a single and a double quotation mark, then triple quotation (""") must
|
||||
be used. When enclosing a type label with quotation marks, the
|
||||
LAMMPS input parser may require adding leading or trailing blanks
|
||||
around the type label so it can identify the enclosing quotation
|
||||
marks. Those blanks will be removed when defining the label.
|
||||
|
||||
A *labelmap* command can only modify the label map for one type-kind
|
||||
(atom types, bond types, etc). Any number of numeric-type/type-label
|
||||
pairs may follow. If a type label already exists for the same numeric
|
||||
type, it will be overwritten. Type labels must be unique; assigning the
|
||||
same type label to multiple numeric types within the same type-kind is
|
||||
not allowed. When reading and writing data files, it is required that
|
||||
there is a label defined for *every* numeric type within a given
|
||||
type-kind in order to write out the type label section for that
|
||||
type-kind.
|
||||
|
||||
The *clear* option resets the label map and thus discards all previous
|
||||
settings.
|
||||
|
||||
The *write* option takes a filename as argument and writes the current
|
||||
label mappings to a file as a sequence of *labelmap* commands, so the
|
||||
file can be copied into a new LAMMPS input file or read in using the
|
||||
:doc:`include <include>` command.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This command must come after the simulation box is defined by a
|
||||
:doc:`read_data <read_data>`, :doc:`read_restart <read_restart>`, or
|
||||
:doc:`create_box <create_box>` command.
|
||||
|
||||
Label maps are currently not supported when using the KOKKOS package.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`read_data <read_data>`, :doc:`write_data <write_data>`,
|
||||
:doc:`molecule <molecule>`, :doc:`fix bond/react <fix_bond_react>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
@ -10,7 +10,7 @@ Syntax
|
||||
|
||||
mass I value
|
||||
|
||||
* I = atom type (see asterisk form below)
|
||||
* I = atom type (see asterisk form below), or type label
|
||||
* value = mass
|
||||
|
||||
Examples
|
||||
@ -22,6 +22,9 @@ Examples
|
||||
mass * 62.5
|
||||
mass 2* 62.5
|
||||
|
||||
labelmap atom 1 C
|
||||
mass C 12.01
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
@ -30,12 +33,16 @@ values can also be set in the :doc:`read_data <read_data>` data file
|
||||
using the "Masses" keyword. See the :doc:`units <units>` command for
|
||||
what mass units to use.
|
||||
|
||||
The I index can be specified in one of two ways. An explicit numeric
|
||||
value can be used, as in the first example above. Or a wild-card
|
||||
asterisk can be used to set the mass for multiple atom types. This
|
||||
takes the form "\*" or "\*n" or "n\*" or "m\*n". If N = the number of
|
||||
atom types, then an asterisk with no numeric values means all types
|
||||
from 1 to N. A leading asterisk means all types from 1 to n
|
||||
The I index can be specified in one of several ways. An explicit
|
||||
numeric value can be used, as in the first example above. Or I can be
|
||||
a type label, which is an alphanumeric string defined by the
|
||||
:doc:`labelmap <labelmap>` command or in a section of a data file read
|
||||
by the :doc:`read_data <read_data>` command, and which converts
|
||||
internally to a numeric type. Or a wild-card asterisk can be used to
|
||||
set the mass for multiple atom types. This takes the form "\*" or
|
||||
"\*n" or "n\*" or "m\*n", where m and n are numbers. If N = the
|
||||
number of atom types, then an asterisk with no numeric values means
|
||||
all types from 1 to N. A leading asterisk means all types from 1 to n
|
||||
(inclusive). A trailing asterisk means all types from n to N
|
||||
(inclusive). A middle asterisk means all types from m to n
|
||||
(inclusive).
|
||||
|
||||
@ -70,8 +70,9 @@ and underscores.
|
||||
A single template can contain multiple molecules, listed one per file.
|
||||
Some of the commands listed above currently use only the first
|
||||
molecule in the template, and will issue a warning if the template
|
||||
contains multiple molecules. The :doc:`atom_style template <atom_style>` command allows multiple-molecule templates
|
||||
to define a system with more than one templated molecule.
|
||||
contains multiple molecules. The :doc:`atom_style template
|
||||
<atom_style>` command allows multiple-molecule templates to define a
|
||||
system with more than one templated molecule.
|
||||
|
||||
Each filename can be followed by optional keywords which are applied
|
||||
only to the molecule in the file as used in this template. This is to
|
||||
@ -88,6 +89,12 @@ molecule file. E.g. if *toff* = 2, and the file uses atom types
|
||||
individual values will be ignored if the molecule template does not
|
||||
use that attribute (e.g. no bonds).
|
||||
|
||||
.. note::
|
||||
|
||||
Offsets are **ignored** on lines using type labels, as the type
|
||||
labels will determine the actual types directly depending on the
|
||||
current :doc:`labelmap <labelmap>` settings.
|
||||
|
||||
The *scale* keyword scales the size of the molecule. This can be
|
||||
useful for modeling polydisperse granular rigid bodies. The scale
|
||||
factor is applied to each of these properties in the molecule file, if
|
||||
@ -118,14 +125,18 @@ The format of an individual molecule file is similar but
|
||||
(not identical) to the data file read by the :doc:`read_data <read_data>`
|
||||
commands, and is as follows.
|
||||
|
||||
A molecule file has a header and a body. The header appears first.
|
||||
The first line of the header is always skipped; it typically contains
|
||||
a description of the file. Then lines are read one at a time. Lines
|
||||
can have a trailing comment starting with '#' that is ignored. If the
|
||||
line is blank (only white-space after comment is deleted), it is
|
||||
A molecule file has a header and a body. The header appears first. The
|
||||
first line of the header and thus of the molecule file is *always* skipped;
|
||||
it typically contains a description of the file or a comment from the software
|
||||
that created the file.
|
||||
|
||||
Then lines are read one line at a time. Lines can have a trailing
|
||||
comment starting with '#' that is ignored. There *must* be at least one
|
||||
blank between any valid content and the comment. If the line is blank
|
||||
(i.e. contains only white-space after comments are deleted), it is
|
||||
skipped. If the line contains a header keyword, the corresponding
|
||||
value(s) is read from the line. If it does not contain a header
|
||||
keyword, the line begins the body of the file.
|
||||
value(s) is/are read from the line. A line that is *not* blank and does
|
||||
*not* contains a header keyword begins the body of the file.
|
||||
|
||||
The body of the file contains zero or more sections. The first line
|
||||
of a section has only a keyword. The next line is skipped. The
|
||||
@ -173,31 +184,43 @@ These are the allowed section keywords for the body of the file.
|
||||
* *Special Bond Counts, Special Bonds* = special neighbor info
|
||||
* *Shake Flags, Shake Atoms, Shake Bond Types* = SHAKE info
|
||||
|
||||
For the Types, Bonds, Angles, Dihedrals, and Impropers sections, each
|
||||
atom/bond/angle/etc type can be specified either as a number (numeric
|
||||
type) or as an alphanumeric type label. The latter is only allowed if
|
||||
type labels have been defined, either by the :doc:`labelmap
|
||||
<labelmap>` command or in data files read by the :doc:`read_data
|
||||
<read_data>` command which have sections for Atom Type Labels, Bond
|
||||
Type Labels, Angle Type Labels, etc. See the :doc:`Howto type labels
|
||||
<Howto_type_labels>` doc page for the allowed syntax of type labels
|
||||
and a general discussion of how type labels can be used.
|
||||
When using type labels, any values specified as *offset* are ignored.
|
||||
|
||||
If a Bonds section is specified then the Special Bond Counts and
|
||||
Special Bonds sections can also be used, if desired, to explicitly
|
||||
list the 1-2, 1-3, 1-4 neighbors within the molecule topology (see
|
||||
details below). This is optional since if these sections are not
|
||||
included, LAMMPS will auto-generate this information. Note that
|
||||
LAMMPS uses this info to properly exclude or weight bonded pairwise
|
||||
interactions between bonded atoms. See the
|
||||
:doc:`special_bonds <special_bonds>` command for more details. One
|
||||
reason to list the special bond info explicitly is for the
|
||||
:doc:`thermalized Drude oscillator model <Howto_drude>` which treats the
|
||||
bonds between nuclear cores and Drude electrons in a different manner.
|
||||
interactions between bonded atoms. See the :doc:`special_bonds
|
||||
<special_bonds>` command for more details. One reason to list the
|
||||
special bond info explicitly is for the :doc:`thermalized Drude
|
||||
oscillator model <Howto_drude>` which treats the bonds between nuclear
|
||||
cores and Drude electrons in a different manner.
|
||||
|
||||
.. note::
|
||||
|
||||
Whether a section is required depends on how the molecule
|
||||
template is used by other LAMMPS commands. For example, to add a
|
||||
molecule via the :doc:`fix deposit <fix_deposit>` command, the Coords
|
||||
and Types sections are required. To add a rigid body via the :doc:`fix pour <fix_pour>` command, the Bonds (Angles, etc) sections are not
|
||||
Whether a section is required depends on how the molecule template
|
||||
is used by other LAMMPS commands. For example, to add a molecule
|
||||
via the :doc:`fix deposit <fix_deposit>` command, the Coords and
|
||||
Types sections are required. To add a rigid body via the :doc:`fix
|
||||
pour <fix_pour>` command, the Bonds (Angles, etc) sections are not
|
||||
required, since the molecule will be treated as a rigid body. Some
|
||||
sections are optional. For example, the :doc:`fix pour <fix_pour>`
|
||||
command can be used to add "molecules" which are clusters of
|
||||
finite-size granular particles. If the Diameters section is not
|
||||
specified, each particle in the molecule will have a default diameter
|
||||
of 1.0. See the doc pages for LAMMPS commands that use molecule
|
||||
templates for more details.
|
||||
specified, each particle in the molecule will have a default
|
||||
diameter of 1.0. See the doc pages for LAMMPS commands that use
|
||||
molecule templates for more details.
|
||||
|
||||
Each section is listed below in alphabetic order. The format of each
|
||||
section is described including the number of lines it must contain and
|
||||
@ -222,7 +245,7 @@ order.
|
||||
|
||||
* one line per atom
|
||||
* line syntax: ID type
|
||||
* type = atom type of atom
|
||||
* type = atom type of atom (1-Natomtype, or type label)
|
||||
|
||||
----------
|
||||
|
||||
@ -289,7 +312,7 @@ included, the default mass for each atom is derived from its volume
|
||||
|
||||
* one line per bond
|
||||
* line syntax: ID type atom1 atom2
|
||||
* type = bond type (1-Nbondtype)
|
||||
* type = bond type (1-Nbondtype, or type label)
|
||||
* atom1,atom2 = IDs of atoms in bond
|
||||
|
||||
The IDs for the two atoms in each bond should be values
|
||||
@ -301,7 +324,7 @@ from 1 to Natoms, where Natoms = # of atoms in the molecule.
|
||||
|
||||
* one line per angle
|
||||
* line syntax: ID type atom1 atom2 atom3
|
||||
* type = angle type (1-Nangletype)
|
||||
* type = angle type (1-Nangletype, or type label)
|
||||
* atom1,atom2,atom3 = IDs of atoms in angle
|
||||
|
||||
The IDs for the three atoms in each angle should be values from 1 to
|
||||
@ -315,7 +338,7 @@ which the angle is computed) is the atom2 in the list.
|
||||
|
||||
* one line per dihedral
|
||||
* line syntax: ID type atom1 atom2 atom3 atom4
|
||||
* type = dihedral type (1-Ndihedraltype)
|
||||
* type = dihedral type (1-Ndihedraltype, or type label)
|
||||
* atom1,atom2,atom3,atom4 = IDs of atoms in dihedral
|
||||
|
||||
The IDs for the four atoms in each dihedral should be values from 1 to
|
||||
@ -328,7 +351,7 @@ ordered linearly within the dihedral.
|
||||
|
||||
* one line per improper
|
||||
* line syntax: ID type atom1 atom2 atom3 atom4
|
||||
* type = improper type (1-Nimpropertype)
|
||||
* type = improper type (1-Nimpropertype, or type label)
|
||||
* atom1,atom2,atom3,atom4 = IDs of atoms in improper
|
||||
|
||||
The IDs for the four atoms in each improper should be values from 1 to
|
||||
@ -447,11 +470,15 @@ This section is only needed when molecules created using the template
|
||||
will be constrained by SHAKE via the "fix shake" command. The other
|
||||
two Shake sections must also appear in the file.
|
||||
|
||||
The a,b,c values are bond types (from 1 to Nbondtypes) for all bonds
|
||||
in the SHAKE cluster that this atom belongs to. The number of values
|
||||
that must appear is determined by the shake flag for the atom (see the
|
||||
Shake Flags section above). All atoms in a particular cluster should
|
||||
list their a,b,c values identically.
|
||||
The a,b,c values are bond types for all bonds in the SHAKE cluster that
|
||||
this atom belongs to. Bond types may be either numbers (from 1 to Nbondtypes)
|
||||
or bond type labels as defined by the :doc:`labelmap <labelmap>` command
|
||||
or a "Bond Type Labels" section of a data file.
|
||||
|
||||
|
||||
The number of values that must appear is determined by the shake flag
|
||||
for the atom (see the Shake Flags section above). All atoms in a
|
||||
particular cluster should list their a,b,c values identically.
|
||||
|
||||
If flag = 0, no a,b,c values are listed on the line, just the
|
||||
(ignored) ID.
|
||||
@ -459,8 +486,9 @@ If flag = 0, no a,b,c values are listed on the line, just the
|
||||
If flag = 1, a,b,c are listed, where a = bondtype of the bond between
|
||||
the central atom and the first non-central atom (value b in the Shake
|
||||
Atoms section), b = bondtype of the bond between the central atom and
|
||||
the second non-central atom (value c in the Shake Atoms section), and c =
|
||||
the angle type (1 to Nangletypes) of the angle between the 3 atoms.
|
||||
the second non-central atom (value c in the Shake Atoms section), and c
|
||||
= the angle type (1 to Nangletypes, or angle type label) of the angle
|
||||
between the 3 atoms.
|
||||
|
||||
If flag = 2, only a is listed, where a = bondtype of the bond between
|
||||
the 2 atoms in the cluster.
|
||||
@ -473,9 +501,9 @@ and the second non-central atom (value c in the Shake Atoms section).
|
||||
If flag = 4, a,b,c are listed, where a = bondtype of the bond between
|
||||
the central atom and the first non-central atom (value b in the Shake
|
||||
Atoms section), b = bondtype of the bond between the central atom and
|
||||
the second non-central atom (value c in the Shake Atoms section), and c =
|
||||
bondtype of the bond between the central atom and the third non-central
|
||||
atom (value d in the Shake Atoms section).
|
||||
the second non-central atom (value c in the Shake Atoms section), and c
|
||||
= bondtype of the bond between the central atom and the third
|
||||
non-central atom (value d in the Shake Atoms section).
|
||||
|
||||
See the :doc:`fix shake <fix_shake>` page for a further description
|
||||
of SHAKE clusters.
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user