Merge branch 'master' into package-reorganization2
This commit is contained in:
@ -31,36 +31,36 @@ This is the list of packages that may require additional steps.
|
||||
.. table_from_list::
|
||||
:columns: 6
|
||||
|
||||
* :ref:`COMPRESS <compress>`
|
||||
* :ref:`GPU <gpu>`
|
||||
* :ref:`KIM <kim>`
|
||||
* :ref:`KOKKOS <kokkos>`
|
||||
* :ref:`LATTE <latte>`
|
||||
* :ref:`MESSAGE <message>`
|
||||
* :ref:`ML-IAP <mliap>`
|
||||
* :ref:`MSCG <mscg>`
|
||||
* :ref:`OPT <opt>`
|
||||
* :ref:`POEMS <poems>`
|
||||
* :ref:`PYTHON <python>`
|
||||
* :ref:`VORONOI <voronoi>`
|
||||
* :ref:`ADIOS <adios>`
|
||||
* :ref:`ATC <atc>`
|
||||
* :ref:`AWPMD <awpmd>`
|
||||
* :ref:`COLVARS <colvars>`
|
||||
* :ref:`COMPRESS <compress>`
|
||||
* :ref:`GPU <gpu>`
|
||||
* :ref:`H5MD <h5md>`
|
||||
* :ref:`ML-HDNNP <ml-hdnnp>`
|
||||
* :ref:`INTEL <intel>`
|
||||
* :ref:`KIM <kim>`
|
||||
* :ref:`KOKKOS <kokkos>`
|
||||
* :ref:`LATTE <latte>`
|
||||
* :ref:`MACHDYN <machdyn>`
|
||||
* :ref:`MDI <mdi>`
|
||||
* :ref:`MESONT <mesont>`
|
||||
* :ref:`MOLFILE <molfile>`
|
||||
* :ref:`NETCDF <netcdf>`
|
||||
* :ref:`MESSAGE <message>`
|
||||
* :ref:`ML-HDNNP <ml-hdnnp>`
|
||||
* :ref:`ML-IAP <mliap>`
|
||||
* :ref:`ML-PACE <ml-pace>`
|
||||
* :ref:`PLUMED <plumed>`
|
||||
* :ref:`OPENMP <openmp>`
|
||||
* :ref:`QMMM <qmmm>`
|
||||
* :ref:`ML-QUIP <ml-quip>`
|
||||
* :ref:`MOLFILE <molfile>`
|
||||
* :ref:`MSCG <mscg>`
|
||||
* :ref:`NETCDF <netcdf>`
|
||||
* :ref:`OPENMP <openmp>`
|
||||
* :ref:`OPT <opt>`
|
||||
* :ref:`PLUMED <plumed>`
|
||||
* :ref:`POEMS <poems>`
|
||||
* :ref:`PYTHON <python>`
|
||||
* :ref:`QMMM <qmmm>`
|
||||
* :ref:`SCAFACOS <scafacos>`
|
||||
* :ref:`MACHDYN <machdyn>`
|
||||
* :ref:`VORONOI <voronoi>`
|
||||
* :ref:`VTK <vtk>`
|
||||
|
||||
----------
|
||||
@ -1857,8 +1857,8 @@ ML-QUIP package
|
||||
To build with this package, you must download and build the QUIP
|
||||
library. It can be obtained from GitHub. For support of GAP
|
||||
potentials, additional files with specific licensing conditions need
|
||||
to be downloaded and configured. See step 1 and step 1.1 in the
|
||||
``lib/quip/README`` file for details on how to do this.
|
||||
to be downloaded and configured. The automatic download will from
|
||||
within CMake will download the non-commercial use version.
|
||||
|
||||
.. tabs::
|
||||
|
||||
@ -1866,11 +1866,14 @@ to be downloaded and configured. See step 1 and step 1.1 in the
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
-D DOWNLOAD_QUIP=value # download OpenKIM API v2 for build, value = no (default) or yes
|
||||
-D QUIP_LIBRARY=path # path to libquip.a (only needed if a custom location)
|
||||
|
||||
CMake will **not** download and build the QUIP library. But once you have
|
||||
done that, a CMake build of LAMMPS with ``-D PKG_ML-QUIP=yes`` should
|
||||
work. Set the ``QUIP_LIBRARY`` variable if CMake cannot find the QUIP library.
|
||||
CMake will try to download and build the QUIP library from GitHub, if it is not
|
||||
found on the local machine. This requires to have git installed. It will use the same compilers
|
||||
and flags as used for compiling LAMMPS. Currently this is only supported for the GNU and the
|
||||
Intel compilers. Set the ``QUIP_LIBRARY`` variable if you want to use a previously compiled
|
||||
and installed QUIP library and CMake cannot find it.
|
||||
|
||||
.. tab:: Traditional make
|
||||
|
||||
|
||||
@ -72,6 +72,7 @@ KOKKOS, o = OPENMP, t = OPT.
|
||||
* :doc:`gyration/shape/chunk <compute_gyration_shape_chunk>`
|
||||
* :doc:`heat/flux <compute_heat_flux>`
|
||||
* :doc:`heat/flux/tally <compute_tally>`
|
||||
* :doc:`heat/flux/virial/tally <compute_tally>`
|
||||
* :doc:`hexorder/atom <compute_hexorder_atom>`
|
||||
* :doc:`hma <compute_hma>`
|
||||
* :doc:`improper <compute_improper>`
|
||||
|
||||
@ -157,6 +157,7 @@ OPT.
|
||||
* :doc:`orient/fcc <fix_orient>`
|
||||
* :doc:`orient/eco <fix_orient_eco>`
|
||||
* :doc:`pafi <fix_pafi>`
|
||||
* :doc:`pair/tracker <fix_pair_tracker>`
|
||||
* :doc:`phonon <fix_phonon>`
|
||||
* :doc:`pimd <fix_pimd>`
|
||||
* :doc:`planeforce <fix_planeforce>`
|
||||
|
||||
@ -273,6 +273,7 @@ OPT.
|
||||
* :doc:`tip4p/cut (o) <pair_coul>`
|
||||
* :doc:`tip4p/long (o) <pair_coul>`
|
||||
* :doc:`tip4p/long/soft (o) <pair_fep_soft>`
|
||||
* :doc:`tracker <pair_tracker>`
|
||||
* :doc:`tri/lj <pair_tri_lj>`
|
||||
* :doc:`ufm (got) <pair_ufm>`
|
||||
* :doc:`vashishta (gko) <pair_vashishta>`
|
||||
|
||||
@ -150,6 +150,8 @@ Lowercase directories
|
||||
+-------------+------------------------------------------------------------------+
|
||||
| threebody | regression test input for a variety of manybody potentials |
|
||||
+-------------+------------------------------------------------------------------+
|
||||
| tracker | track interactions in LJ melt |
|
||||
+-------------+------------------------------------------------------------------+
|
||||
| vashishta | use of the Vashishta potential |
|
||||
+-------------+------------------------------------------------------------------+
|
||||
| voronoi | Voronoi tesselation via compute voronoi/atom command |
|
||||
|
||||
@ -84,6 +84,13 @@ commands:
|
||||
the bond topology in the data file. The first (second) atom in a bond definition
|
||||
is understood to point towards the 3'-end (5'-end) of the strand.
|
||||
|
||||
.. warning::
|
||||
|
||||
If data files are produced with :doc:`write_data <write_data>`, then the
|
||||
:doc:`newton <newton>` command should be set to *newton on* or *newton off on*.
|
||||
Otherwise the data files will not have the same 3'-to-5' polarity as the
|
||||
initial data file. This limitation does not apply to binary restart files
|
||||
produced with :doc:`write_restart <write_restart>`.
|
||||
|
||||
Example input and data files for DNA and RNA duplexes can be found in
|
||||
examples/PACKAGES/cgdna/examples/oxDNA/ , /oxDNA2/ and /oxRNA2/. A simple python
|
||||
|
||||
@ -208,7 +208,7 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` doc
|
||||
* :doc:`event/displace <compute_event_displace>` - detect event on atom displacement
|
||||
* :doc:`fabric <compute_fabric>` - calculates fabric tensors from pair interactions
|
||||
* :doc:`fep <compute_fep>` -
|
||||
* :doc:`force/tally <compute_tally>` -
|
||||
* :doc:`force/tally <compute_tally>` - force between two groups of atoms via the tally callback mechanism
|
||||
* :doc:`fragment/atom <compute_cluster_atom>` - fragment ID for each atom
|
||||
* :doc:`global/atom <compute_global_atom>` -
|
||||
* :doc:`group/group <compute_group_group>` - energy/force between two groups of atoms
|
||||
@ -217,7 +217,8 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` doc
|
||||
* :doc:`gyration/shape <compute_gyration_shape>` - shape parameters from gyration tensor
|
||||
* :doc:`gyration/shape/chunk <compute_gyration_shape_chunk>` - shape parameters from gyration tensor for each chunk
|
||||
* :doc:`heat/flux <compute_heat_flux>` - heat flux through a group of atoms
|
||||
* :doc:`heat/flux/tally <compute_tally>` -
|
||||
* :doc:`heat/flux/tally <compute_tally>` - heat flux through a group of atoms via the tally callback mechanism
|
||||
* :doc:`heat/flux/virial/tally <compute_tally>` - virial heat flux between two groups via the tally callback mechanism
|
||||
* :doc:`hexorder/atom <compute_hexorder_atom>` - bond orientational order parameter q6
|
||||
* :doc:`hma <compute_hma>` - harmonically mapped averaging for atomic crystals
|
||||
* :doc:`improper <compute_improper>` - energy of each improper sub-style
|
||||
@ -240,8 +241,8 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` doc
|
||||
* :doc:`pe <compute_pe>` - potential energy
|
||||
* :doc:`pe/atom <compute_pe_atom>` - potential energy for each atom
|
||||
* :doc:`mesont <compute_mesont>` - Nanotube bending,stretching, and intertube energies
|
||||
* :doc:`pe/mol/tally <compute_tally>` -
|
||||
* :doc:`pe/tally <compute_tally>` -
|
||||
* :doc:`pe/mol/tally <compute_tally>` - potential energy between two groups of atoms separated into intermolecular and intramolecular components via the tally callback mechanism
|
||||
* :doc:`pe/tally <compute_tally>` - potential energy between two groups of atoms via the tally callback mechanism
|
||||
* :doc:`plasticity/atom <compute_plasticity_atom>` - Peridynamic plasticity for each atom
|
||||
* :doc:`pressure <compute_pressure>` - total pressure and pressure tensor
|
||||
* :doc:`pressure/cylinder <compute_pressure_cylinder>` - pressure tensor in cylindrical coordinates
|
||||
@ -289,7 +290,7 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` doc
|
||||
* :doc:`stress/atom <compute_stress_atom>` - stress tensor for each atom
|
||||
* :doc:`stress/mop <compute_stress_mop>` - normal components of the local stress tensor using the method of planes
|
||||
* :doc:`stress/mop/profile <compute_stress_mop>` - profile of the normal components of the local stress tensor using the method of planes
|
||||
* :doc:`stress/tally <compute_tally>` -
|
||||
* :doc:`stress/tally <compute_tally>` - stress between two groups of atoms via the tally callback mechanism
|
||||
* :doc:`tdpd/cc/atom <compute_tdpd_cc_atom>` - per-atom chemical concentration of a specified species for each tDPD particle
|
||||
* :doc:`temp <compute_temp>` - temperature of group of atoms
|
||||
* :doc:`temp/asphere <compute_temp_asphere>` - temperature of aspherical particles
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
.. index:: compute force/tally
|
||||
.. index:: compute heat/flux/tally
|
||||
.. index:: compute heat/flux/virial/tally
|
||||
.. index:: compute pe/tally
|
||||
.. index:: compute pe/mol/tally
|
||||
.. index:: compute stress/tally
|
||||
@ -10,6 +11,9 @@ compute force/tally command
|
||||
compute heat/flux/tally command
|
||||
===============================
|
||||
|
||||
compute heat/flux/virial/tally command
|
||||
======================================
|
||||
|
||||
compute pe/tally command
|
||||
========================
|
||||
|
||||
@ -27,7 +31,7 @@ Syntax
|
||||
compute ID group-ID style group2-ID
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* style = *force/tally* or *pe/tally* or *pe/mol/tally* or *stress/tally*
|
||||
* style = *force/tally* or *heat/flux/tally* or *heat/flux/virial/tally* or * or *pe/tally* or *pe/mol/tally* or *stress/tally*
|
||||
* group2-ID = group ID of second (or same) group
|
||||
|
||||
Examples
|
||||
@ -38,13 +42,17 @@ Examples
|
||||
compute 1 lower force/tally upper
|
||||
compute 1 left pe/tally right
|
||||
compute 1 lower stress/tally lower
|
||||
compute 1 subregion heat/flux/tally all
|
||||
compute 1 liquid heat/flux/virial/tally solid
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that calculates properties between two groups of
|
||||
atoms by accumulating them from pairwise non-bonded computations. The
|
||||
two groups can be the same. This is similar to :doc:`compute group/group <compute_group_group>` only that the data is
|
||||
atoms by accumulating them from pairwise non-bonded computations.
|
||||
Except for *heat/flux/virial/tally*, the two groups can be the same.
|
||||
This is similar to :doc:`compute group/group <compute_group_group>`
|
||||
only that the data is
|
||||
accumulated directly during the non-bonded force computation. The
|
||||
computes *force/tally*\ , *pe/tally*\ , *stress/tally*\ , and
|
||||
*heat/flux/tally* are primarily provided as example how to program
|
||||
@ -57,6 +65,76 @@ the based classes of LAMMPS.
|
||||
|
||||
----------
|
||||
|
||||
Compute *heat/flux/tally* obtains the heat flux
|
||||
(strictly speaking, heat flow) inside the first group,
|
||||
which is the sum of the convective contribution
|
||||
due to atoms in the first group and the virial contribution
|
||||
due to interaction between the first and second groups:
|
||||
|
||||
.. math::
|
||||
|
||||
\mathbf{Q}= \sum_{i \in \text{group 1}} e_i \mathbf{v}_i + \frac{1}{2} \sum_{i \in \text{group 1}} \sum_{\substack{j \in \text{group 2} \\ j \neq i } } \left( \mathbf{F}_{ij} \cdot \mathbf{v}_j \right) \mathbf{r}_{ij}
|
||||
|
||||
When the second group in *heat/flux/tally* is set to "all",
|
||||
the resulting values will be identical
|
||||
to that obtained by :doc:`compute heat/flux <compute_heat_flux>`,
|
||||
provided only pairwise interactions exist.
|
||||
|
||||
Compute *heat/flux/virial/tally* obtains the total virial heat flux
|
||||
(strictly speaking, heat flow) into the first group due to interaction
|
||||
with the second group, and is defined as:
|
||||
|
||||
.. math::
|
||||
|
||||
Q = \frac{1}{2} \sum_{i \in \text{group 1}} \sum_{j \in \text{group 2}} \mathbf{F}_{ij} \cdot \left(\mathbf{v}_i + \mathbf{v}_j \right)
|
||||
|
||||
Although, the *heat/flux/virial/tally* compute
|
||||
does not include the convective term,
|
||||
it can be used to obtain the total heat flux over control surfaces,
|
||||
when there are no particles crossing over,
|
||||
such as is often in solid-solid and solid-liquid interfaces.
|
||||
This would be identical to the method of planes method.
|
||||
Note that the *heat/flux/virial/tally* compute is distinctly different
|
||||
from the *heat/flux* and *heat/flux/tally* computes,
|
||||
that are essentially volume averaging methods.
|
||||
The following example demonstrates the difference:
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
# System with only pairwise interactions.
|
||||
# Non-periodic boundaries in the x direction.
|
||||
# Has LeftLiquid and RightWall groups along x direction.
|
||||
|
||||
# Heat flux over the solid-liquid interface
|
||||
compute hflow_hfvt LeftLiquid heat/flux/virial/tally RightWall
|
||||
variable hflux_hfvt equal c_hflow_hfvt/(ly*lz)
|
||||
|
||||
# x component of approximate heat flux vector inside the liquid region,
|
||||
# two approaches.
|
||||
#
|
||||
compute myKE all ke/atom
|
||||
compute myPE all pe/atom
|
||||
compute myStress all stress/atom NULL virial
|
||||
compute hflow_hf LeftLiquid heat/flux myKE myPE myStress
|
||||
variable hflux_hf equal c_hflow_hf[1]/${volLiq}
|
||||
#
|
||||
compute hflow_hft LeftLiquid heat/flux/tally all
|
||||
variable hflux_hft equal c_hflow_hft[1]/${volLiq}
|
||||
|
||||
# Pressure over the solid-liquid interface, three approaches.
|
||||
#
|
||||
compute force_gg RightWall group/group LeftLiquid
|
||||
variable press_gg equal c_force_gg[1]/(ly*lz)
|
||||
#
|
||||
compute force_ft RightWall force/tally LeftLiquid
|
||||
compute rforce_ft RightWall reduce sum c_force_ft[1]
|
||||
variable press_ft equal c_rforce_ft/(ly*lz)
|
||||
#
|
||||
compute rforce_hfvt all reduce sum c_hflow_hfvt[1]
|
||||
variable press_hfvt equal -c_rforce_hfvt/(ly*lz)
|
||||
|
||||
----------
|
||||
|
||||
The pairwise contributions are computing via a callback that the
|
||||
compute registers with the non-bonded pairwise force computation.
|
||||
This limits the use to systems that have no bonds, no Kspace, and no
|
||||
@ -83,7 +161,17 @@ magnitude) and a per atom 3-element vector (force contribution from
|
||||
each atom). Compute *stress/tally* calculates a global scalar
|
||||
(average of the diagonal elements of the stress tensor) and a per atom
|
||||
vector (the 6 elements of stress tensor contributions from the
|
||||
individual atom).
|
||||
individual atom). As in :doc:`compute heat/flux <compute_heat_flux>`,
|
||||
compute *heat/flux/tally* calculates a global vector of length 6,
|
||||
where the first 3 components are the :math:`x`, :math:`y`, :math:`z`
|
||||
components of the full heat flow vector,
|
||||
and the next 3 components are the corresponding components
|
||||
of just the convective portion of the flow, i.e. the
|
||||
first term in the equation for :math:`\mathbf{Q}`.
|
||||
Compute *heat/flux/virial/tally* calculates a global scalar (heat flow)
|
||||
and a per atom 3-element vector
|
||||
(contribution to the force acting over atoms in the first group
|
||||
from individual atoms in both groups).
|
||||
|
||||
Both the scalar and vector values calculated by this compute are
|
||||
"extensive".
|
||||
|
||||
@ -66,7 +66,7 @@ Syntax
|
||||
*unwrap* arg = *yes* or *no*
|
||||
|
||||
* these keywords apply only to the *image* and *movie* :doc:`styles <dump_image>`
|
||||
* keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate*
|
||||
* keyword = *acolor* or *adiam* or *amap* or *backcolor* or *bcolor* or *bdiam* or *boxcolor* or *color* or *bitrate* or *framerate* or *header*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
@ -113,6 +113,9 @@ Syntax
|
||||
rate = target bitrate for movie in kbps
|
||||
*framerate* arg = fps
|
||||
fps = frames per second for movie
|
||||
*header* arg = *yes* or *no*
|
||||
*yes* to write the header
|
||||
*no* to not write the header
|
||||
|
||||
* these keywords apply only to the */gz* and */zstd* dump styles
|
||||
* keyword = *compression_level*
|
||||
@ -977,6 +980,13 @@ images less frequently.
|
||||
|
||||
----------
|
||||
|
||||
The *header* keyword toggles whether the dump file will include a header.
|
||||
Excluding a header will reduce the size of the dump file for fixes such as
|
||||
:doc:`fix pair/tracker <fix_pair_tracker>` which do not require the information
|
||||
typically written to the header.
|
||||
|
||||
----------
|
||||
|
||||
The COMPRESS package offers both GZ and Zstd compression variants of styles
|
||||
atom, custom, local, cfg, and xyz. When using these styles the compression
|
||||
level can be controlled by the :code:`compression_level` parameter. File names
|
||||
|
||||
@ -73,6 +73,9 @@ NETCDF package. They are only enabled if LAMMPS was built with
|
||||
that package. See the :doc:`Build package <Build_package>` doc page for
|
||||
more info.
|
||||
|
||||
The *netcdf* and *netcdf/mpiio* dump styles currently cannot dump
|
||||
string properties or properties from variables.
|
||||
|
||||
----------
|
||||
|
||||
Related commands
|
||||
|
||||
@ -300,6 +300,7 @@ accelerated styles exist.
|
||||
* :doc:`orient/fcc <fix_orient>` - add grain boundary migration force for FCC
|
||||
* :doc:`orient/eco <fix_orient_eco>` - add generalized grain boundary migration force
|
||||
* :doc:`pafi <fix_pafi>` - constrained force averages on hyper-planes to compute free energies (PAFI)
|
||||
* :doc:`pair/tracker <fix_pair_tracker>` - track properties of pairwise interactions
|
||||
* :doc:`phonon <fix_phonon>` - calculate dynamical matrix from MD simulations
|
||||
* :doc:`pimd <fix_pimd>` - Feynman path integral molecular dynamics
|
||||
* :doc:`planeforce <fix_planeforce>` - constrain atoms to move in a plane
|
||||
|
||||
@ -50,7 +50,9 @@ the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minim
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
none
|
||||
|
||||
This fix is part of the MISC package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
124
doc/src/fix_pair_tracker.rst
Normal file
124
doc/src/fix_pair_tracker.rst
Normal file
@ -0,0 +1,124 @@
|
||||
.. index:: fix pair/tracker
|
||||
|
||||
fix pair/tracker command
|
||||
========================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
fix ID group-ID pair/tracker N attribute1 attribute2 ... keyword values ...
|
||||
|
||||
* ID, group-ID are documented in :doc:`fix <fix>` command
|
||||
* pair/tracker = style name of this fix command
|
||||
* N = prepare data for output every this many timesteps
|
||||
* one or more attributes may be appended
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
possible attributes = id1 id2 time/created time/broken time/total
|
||||
rmin rave x y z
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
id1, id2 = IDs of the 2 atoms in each pair interaction
|
||||
time/created = the time that the 2 atoms began interacting
|
||||
time/broken = the time that the 2 atoms stopped interacting
|
||||
time/total = the total time the 2 atoms interacted
|
||||
r/min = the minimum radial distance between the 2 atoms during the interaction
|
||||
r/ave = the average radial distance between the 2 atoms during the interaction
|
||||
x, y, z = the center of mass position of the 2 atoms when they stopped interacting
|
||||
|
||||
* zero or more keyword/value pairs may be appended
|
||||
* keyword = *time/min* or *type/include*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*time/min* value = T
|
||||
T = minimum interaction time
|
||||
*type/include* value = arg1 arg2
|
||||
arg = separate lists of types (see below)
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
fix 1 all pair/tracker 1000 id1 id2 time/min 100
|
||||
fix 1 all pair/tracker 1000 time/created time/broken type/include 1 * type/include 2 3,4
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Tracks properties of pairwise interactions between two atoms and records data
|
||||
whenever the atoms move beyond the interaction cutoff.
|
||||
Must be used in conjunction with :doc:`pair tracker <pair_tracker>`.
|
||||
Data is accumulated over a span of *N* timesteps before being deleted.
|
||||
The number of datums generated, aggregated across all processors, equals
|
||||
the number of broken interactions. Interactions are only included if both
|
||||
atoms are included in the specified fix group. Additional filters can be
|
||||
applied using the *time/min* or *type/include* keywords described below.
|
||||
|
||||
.. note::
|
||||
|
||||
For extremely long-lived interactions, the calculation of *r/ave* may not be
|
||||
correct due to double overflow.
|
||||
|
||||
The *time/min* keyword sets a minimum amount of time that an interaction must
|
||||
persist to be included. This setting can be used to censor short-lived interactions.
|
||||
The *type/include* keyword filters interactions based on the types of the two atoms.
|
||||
Data is only saved for interactions between atoms with types in the two lists.
|
||||
Each list consists of a series of type
|
||||
ranges separated by commas. The range can be specified as a
|
||||
single numeric value, or a wildcard asterisk can be used to specify a range
|
||||
of values. This takes the form "\*" or "\*n" or "n\*" or "m\*n". For
|
||||
example, if M = the number of atom types, then an asterisk with no numeric
|
||||
values means all types from 1 to M. A leading asterisk means all types
|
||||
from 1 to n (inclusive). A trailing asterisk means all types from n to M
|
||||
(inclusive). A middle asterisk means all types from m to n (inclusive).
|
||||
Multiple *type/include* keywords may be added.
|
||||
|
||||
----------
|
||||
|
||||
Restart, fix_modify, run start/stop, minimize info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
No information about this fix is written to :doc:`binary restart files <restart>`.
|
||||
None of the :doc:`fix_modify <fix_modify>` options are
|
||||
relevant to this fix.
|
||||
No parameter of this fix can be used with the *start/stop* keywords of
|
||||
the :doc:`run <run>` command.
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a local vector or local array depending on the
|
||||
number of input values. The length of the vector or number of rows in
|
||||
the array is the number of recorded, lost interactions. If a single input is
|
||||
specified, a local vector is produced. If two or more inputs are
|
||||
specified, a local array is produced where the number of columns = the
|
||||
number of inputs. The vector or array can be accessed by any command
|
||||
that uses local values from a compute as input. See the :doc:`Howto output <Howto_output>` doc page for an overview of LAMMPS output
|
||||
options.
|
||||
|
||||
The vector or array values will be doubles that correspond to the
|
||||
specified attribute.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
Must be used in conjunction with :doc:`pair style tracker <pair_tracker>`.
|
||||
|
||||
This fix is part of the MISC package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`pair tracker <pair_tracker>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
@ -41,7 +41,7 @@ and when PLUMED is used as a stand alone code for analysis. The full
|
||||
`documentation for PLUMED <plumeddocs_>`_ is available online and included
|
||||
in the PLUMED source code. The PLUMED library development is hosted at
|
||||
`https://github.com/plumed/plumed2 <https://github.com/plumed/plumed2>`_
|
||||
A detailed discussion of the code can be found in :ref:`(PLUMED) <PLUMED>`.
|
||||
A detailed discussion of the code can be found in :ref:`(Tribello) <Tribello>`.
|
||||
|
||||
There is an example input for using this package with LAMMPS in the
|
||||
examples/PACKAGES/plumed directory.
|
||||
@ -132,9 +132,9 @@ The default options are plumedfile = NULL and outfile = NULL
|
||||
|
||||
----------
|
||||
|
||||
.. _PLUMED:
|
||||
.. _Tribello:
|
||||
|
||||
**(PLUMED)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
|
||||
**(Tribello)** G.A. Tribello, M. Bonomi, D. Branduardi, C. Camilloni and G. Bussi, Comp. Phys. Comm 185, 604 (2014)
|
||||
|
||||
.. _plumeddocs: https://www.plumed.org/doc.html
|
||||
|
||||
|
||||
@ -665,12 +665,6 @@ then LAMMPS will use that cutoff for the specified atom type
|
||||
combination, and automatically set pairwise cutoffs for the remaining
|
||||
atom types.
|
||||
|
||||
If two particles are moving away from each other while in contact, there
|
||||
is a possibility that the particles could experience an effective attractive
|
||||
force due to damping. If the *limit_damping* keyword is used, this option
|
||||
will zero out the normal component of the force if there is an effective
|
||||
attractive force. This keyword cannot be used with the JKR or DMT models.
|
||||
|
||||
----------
|
||||
|
||||
.. include:: accel_styles.rst
|
||||
|
||||
@ -338,6 +338,7 @@ accelerated styles exist.
|
||||
* :doc:`tip4p/cut <pair_coul>` - Coulomb for TIP4P water w/out LJ
|
||||
* :doc:`tip4p/long <pair_coul>` - long-range Coulomb for TIP4P water w/out LJ
|
||||
* :doc:`tip4p/long/soft <pair_fep_soft>` -
|
||||
* :doc:`tracker <pair_tracker>` - monitor information about pairwise interactions
|
||||
* :doc:`tri/lj <pair_tri_lj>` - LJ potential between triangles
|
||||
* :doc:`ufm <pair_ufm>` -
|
||||
* :doc:`vashishta <pair_vashishta>` - Vashishta 2-body and 3-body potential
|
||||
|
||||
97
doc/src/pair_tracker.rst
Normal file
97
doc/src/pair_tracker.rst
Normal file
@ -0,0 +1,97 @@
|
||||
.. index:: pair_style tracker
|
||||
|
||||
pair_style tracker command
|
||||
==========================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style tracker keyword
|
||||
|
||||
* zero or more keyword/arg pairs may be appended
|
||||
* keyword = *finite*
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*finite* value = none
|
||||
pair style uses atomic diameters to identify contacts
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
pair_style hybrid/overlay tracker ...
|
||||
pair_coeff 1 1 tracker 2.0
|
||||
|
||||
pair_style hybrid/overlay tracker finite ...
|
||||
pair_coeff * * tracker
|
||||
|
||||
fix 1 all pair/tracker 1000 time/created time/broken
|
||||
dump 1 all local 1000 dump.local f_1[1] f_1[2]
|
||||
dump_modify 1 write_header no
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Style *tracker* monitors information about pairwise interactions.
|
||||
It does not calculate any forces on atoms.
|
||||
:doc:`Pair hybrid/overlay <pair_hybrid>` can be used to combine this pair
|
||||
style with another pair style. Style *tracker* must be used in conjunction
|
||||
with about :doc:`fix pair_tracker <fix_pair_tracker>` which contains
|
||||
information on what data can be output.
|
||||
|
||||
If the *finite* keyword is not defined, the following coefficients must be
|
||||
defined for each pair of atom types via the :doc:`pair_coeff <pair_coeff>`
|
||||
command as in the examples above, or in the data file or restart files
|
||||
read by the :doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
|
||||
commands, or by mixing as described below:
|
||||
|
||||
* cutoff (distance units)
|
||||
|
||||
If the *finite* keyword is defined, no coefficients may be defined.
|
||||
Interaction cutoffs are alternatively calculated based on the
|
||||
diameter of finite particles.
|
||||
|
||||
|
||||
Mixing, shift, table, tail correction, restart, rRESPA info
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
||||
|
||||
For atom type pairs I,J and I != J, the cutoff coefficient and cutoff
|
||||
distance for this pair style can be mixed. The cutoff is always mixed via a
|
||||
*geometric* rule. The cutoff is mixed according to the pair_modify
|
||||
mix value. The default mix value is *geometric*\ . See the
|
||||
"pair_modify" command for details.
|
||||
|
||||
This pair style writes its information to :doc:`binary restart files <restart>`, so
|
||||
pair_style and pair_coeff commands do not need
|
||||
to be specified in an input script that reads a restart file.
|
||||
|
||||
The :doc:`pair_modify <pair_modify>` shift, table, and tail options
|
||||
are not relevant for this pair style.
|
||||
|
||||
----------
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
A corresponding :doc:`fix pair_tracker <fix_pair_tracker>` must be defined
|
||||
to use this pair style.
|
||||
|
||||
This pair style is currently incompatible with granular pair styles that extend
|
||||
beyond the contact (e.g. JKR and DMT).
|
||||
|
||||
This fix is part of the MISC package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`fix pair_tracker <fix_pair_tracker>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
Reference in New Issue
Block a user