Merge branch 'develop' into collected-small-changes
This commit is contained in:
@ -100,7 +100,6 @@ KOKKOS, o = OPENMP, t = OPT.
|
||||
* :doc:`pe/tally <compute_tally>`
|
||||
* :doc:`plasticity/atom <compute_plasticity_atom>`
|
||||
* :doc:`pressure <compute_pressure>`
|
||||
* :doc:`pressure/cylinder <compute_pressure_cylinder>`
|
||||
* :doc:`pressure/uef <compute_pressure_uef>`
|
||||
* :doc:`property/atom <compute_property_atom>`
|
||||
* :doc:`property/chunk <compute_property_chunk>`
|
||||
@ -143,8 +142,11 @@ KOKKOS, o = OPENMP, t = OPT.
|
||||
* :doc:`sph/t/atom <compute_sph_t_atom>`
|
||||
* :doc:`spin <compute_spin>`
|
||||
* :doc:`stress/atom <compute_stress_atom>`
|
||||
* :doc:`stress/cartesian <compute_stress_cartesian>`
|
||||
* :doc:`stress/cylinder <compute_stress_cartesian>`
|
||||
* :doc:`stress/mop <compute_stress_mop>`
|
||||
* :doc:`stress/mop/profile <compute_stress_mop>`
|
||||
* :doc:`stress/spherical <compute_stress_cartesian>`
|
||||
* :doc:`stress/tally <compute_tally>`
|
||||
* :doc:`tdpd/cc/atom <compute_tdpd_cc_atom>`
|
||||
* :doc:`temp (k) <compute_temp>`
|
||||
|
||||
@ -246,7 +246,6 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
|
||||
* :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
|
||||
* :doc:`pressure/uef <compute_pressure_uef>` - pressure tensor in the reference frame of an applied flow field
|
||||
* :doc:`property/atom <compute_property_atom>` - convert atom attributes to per-atom vectors/arrays
|
||||
* :doc:`property/chunk <compute_property_chunk>` - extract various per-chunk attributes
|
||||
@ -289,8 +288,11 @@ The individual style names on the :doc:`Commands compute <Commands_compute>` pag
|
||||
* :doc:`sph/t/atom <compute_sph_t_atom>` - per-atom internal temperature of Smooth-Particle Hydrodynamics atoms
|
||||
* :doc:`spin <compute_spin>` - magnetic quantities for a system of atoms having spins
|
||||
* :doc:`stress/atom <compute_stress_atom>` - stress tensor for each atom
|
||||
* :doc:`stress/cartesian <compute_stress_cartesian>` - stress tensor in cartesian coordinates
|
||||
* :doc:`stress/cylinder <compute_stress_cartesian>` - stress tensor in cylindrical coordinates
|
||||
* :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/spherical <compute_stress_cartesian>` - stress tensor in spherical coordinates
|
||||
* :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
|
||||
|
||||
@ -1,88 +0,0 @@
|
||||
.. index:: compute pressure/cylinder
|
||||
|
||||
compute pressure/cylinder command
|
||||
=================================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
compute ID group-ID pressure/cylinder zlo zhi Rmax bin_width
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* pressure/cylinder = style name of this compute command
|
||||
* zlo = minimum z-boundary for cylinder
|
||||
* zhi = maximum z-boundary for cylinder
|
||||
* Rmax = maximum radius to perform calculation to
|
||||
* bin_width = width of radial bins to use for calculation
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all pressure/cylinder -10.0 10.0 15.0 0.25
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that calculates the pressure tensor of a system in
|
||||
cylindrical coordinates, as discussed in :ref:`(Addington) <Addington1>`.
|
||||
This is useful for systems with a single axis of rotational symmetry,
|
||||
such as cylindrical micelles or carbon nanotubes. The compute splits the
|
||||
system into radial, cylindrical-shell-type bins of width bin_width,
|
||||
centered at x=0,y=0, and calculates the radial (P_rhorho), azimuthal
|
||||
(P_phiphi), and axial (P_zz) components of the configurational pressure
|
||||
tensor. The local density is also calculated for each bin, so that the
|
||||
true pressure can be recovered as P_kin+P_conf=density\*k\*T+P_conf. The
|
||||
output is a global array with 5 columns; one each for bin radius, local
|
||||
number density, P_rhorho, P_phiphi, and P_zz. The number of rows is
|
||||
governed by the values of Rmax and bin_width. Pressure tensor values are
|
||||
output in pressure units.
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a global array with 5 columns and Rmax/bin_width
|
||||
rows. The output columns are: R (distance units), number density (inverse
|
||||
volume units), configurational radial pressure (pressure units),
|
||||
configurational azimuthal pressure (pressure units), and configurational
|
||||
axial pressure (pressure units).
|
||||
|
||||
The values calculated by this compute are
|
||||
"intensive". The pressure values will be in pressure
|
||||
:doc:`units <units>`. The number density values will be in
|
||||
inverse volume :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute currently calculates the pressure tensor contributions
|
||||
for pair styles only (i.e. no bond, angle, dihedral, etc. contributions
|
||||
and in the presence of bonded interactions, the result will be incorrect
|
||||
due to exclusions for special bonds) and requires pairwise force
|
||||
calculations not available for most many-body pair styles. K-space
|
||||
calculations are also excluded. Note that this pressure compute outputs
|
||||
the configurational terms only; the kinetic contribution is not included
|
||||
and may be calculated from the number density output by P_kin=density\*k\*T.
|
||||
|
||||
This compute is part of the EXTRA-COMPUTE package. It is only enabled
|
||||
if LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute temp <compute_temp>`, :doc:`compute stress/atom <compute_stress_atom>`,
|
||||
:doc:`thermo_style <thermo_style>`,
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
none
|
||||
|
||||
----------
|
||||
|
||||
.. _Addington1:
|
||||
|
||||
**(Addington)** Addington, Long, Gubbins, J Chem Phys, 149, 084109 (2018).
|
||||
165
doc/src/compute_stress_cartesian.rst
Normal file
165
doc/src/compute_stress_cartesian.rst
Normal file
@ -0,0 +1,165 @@
|
||||
.. index:: compute stress/cartesian
|
||||
.. index:: compute stress/cylinder
|
||||
.. index:: compute stress/spherical
|
||||
|
||||
|
||||
compute stress/cartesian command
|
||||
==================================
|
||||
|
||||
compute stress/cylinder command
|
||||
=================================
|
||||
|
||||
compute stress/spherical command
|
||||
==================================
|
||||
|
||||
Syntax
|
||||
""""""
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
compute ID group-ID style args
|
||||
|
||||
* ID, group-ID are documented in :doc:`compute <compute>` command
|
||||
* style = stress/cartesian or stress/spherical or stress/cylinder
|
||||
* args = argument specific to the compute style
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
*stress/cartesian* args = dim bin_width
|
||||
dim = x, y, or z. One or two dim/bin_width pairs may be appended
|
||||
bin_width = width of the bin
|
||||
*stress/cylinder* args = zlo zh Rmax bin_width keyword
|
||||
zlo = minimum z-boundary for cylinder
|
||||
zhi = maximum z-boundary for cylinder
|
||||
Rmax = maximum radius to perform calculation to
|
||||
bin_width = width of radial bins to use for calculation
|
||||
keyword = ke (zero or one can be specified)
|
||||
ke = yes or no
|
||||
*stress/spherical*
|
||||
x0, y0, z0 = origin of the spherical coordinate system
|
||||
bin_width = width of spherical shells
|
||||
Rmax = maximum radius of spherical shells
|
||||
|
||||
Examples
|
||||
""""""""
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
compute 1 all stress/cartesian x 0.1
|
||||
compute 1 all stress/cartesian y 0.25 z 0.1
|
||||
compute 1 all stress/cylinder -10.0 10.0 15.0 0.25
|
||||
compute 1 all stress/cylinder -10.0 10.0 15.0 0.25 ke no
|
||||
compute 1 all stress/spherical 0 0 0 0.1 10
|
||||
|
||||
Description
|
||||
"""""""""""
|
||||
|
||||
Compute *stress/cartesian*, compute *stress/cylinder*, and compute
|
||||
*stress/spherical* define computations that calculate profiles of the
|
||||
diagonal components of the local stress tensor in the specified
|
||||
coordinate system. The stress tensor is split into a kinetic
|
||||
contribution :math:`P^k` and a virial contribution :math:`P^v`. The sum
|
||||
gives the total stress tensor :math:`P = P^k+P^v`. These computes can
|
||||
for example be used to calculate the diagonal components of the local
|
||||
stress tensor of interfaces with flat, cylindrical, or spherical
|
||||
symmetry. These computes obeys momentum balance through fluid
|
||||
interfaces. They use the Irving-Kirkwood contour, which is the straight
|
||||
line between particle pairs.
|
||||
|
||||
The *stress/cartesian* computes the stress profile along one or two
|
||||
Cartesian coordinates, as described in :ref:`(Ikeshoji)<Ikeshoji2>`. The
|
||||
compute *stress/cylinder* computes the stress profile along the
|
||||
radial direction in cylindrical coordinates, as described in
|
||||
:ref:`(Addington)<Addington1>`. The compute *stress/spherical*
|
||||
computes the stress profile along the radial direction in spherical
|
||||
coordinates, as described in :ref:`(Ikeshoji)<Ikeshoji2>`.
|
||||
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
|
||||
The output columns for *stress/cartesian* are the position of the
|
||||
center of the local volume in the first and second dimensions, number
|
||||
density, :math:`P^k_{xx}`, :math:`P^k_{yy}`, :math:`P^k_{zz}`,
|
||||
:math:`P^v_{xx}`, :math:`P^v_{yy}`, and :math:`P^v_{zz}`. There are 8
|
||||
columns when one dimension is specified and 9 columns when two
|
||||
dimensions are specified. The number of bins/rows are
|
||||
(L1/bin_width1)*(L2/bin_width2), L1 and L2 are the sizes of the
|
||||
simulation box in the specified dimensions, and bin_width1 and
|
||||
bin_width2 are the specified bin widths. When only one dimension is
|
||||
specified the number of bins/rows are L1/bin_width.
|
||||
|
||||
The default output columns for *stress/cylinder* are the radius to the
|
||||
center of the cylindrical shell, number density, :math:`P^k_{rr}`,
|
||||
:math:`P^k_{\phi\phi}`, :math:`P^k_{zz}`, :math:`P^v_{rr}`,
|
||||
:math:`P^v_{\phi\phi}`, and :math:`P^v_{zz}`. When the keyword *ke* is
|
||||
set to no, the kinetic contributions are not calculated, and
|
||||
consequently there are only 5 columns the radius to the center of the
|
||||
cylindrical shell, number density, :math:`P^v_{rr}`,
|
||||
:math:`P^v_{\phi\phi}`, :math:`P^v_{zz}`. The number of bins/rows are
|
||||
Rmax/bin_width.
|
||||
|
||||
The output columns for *stress/spherical* are the radius to the center
|
||||
of the spherical shell, number density, :math:`P^k_{rr}`,
|
||||
:math:`P^k_{\theta\theta}`, :math:`P^k_{\phi\phi}`, :math:`P^v_{rr}`,
|
||||
:math:`P^v_{\theta\theta}`, and :math:`P^v_{\phi\phi}`. There are 8
|
||||
columns and the number of bins/rows are Rmax/bin_width.
|
||||
|
||||
This array can be output with :doc:`fix ave/time <fix_ave_time>`,
|
||||
|
||||
.. code-block:: LAMMPS
|
||||
|
||||
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
|
||||
values will be in pressure :doc:`units <units>`. The number density
|
||||
values are in inverse volume :doc:`units <units>`.
|
||||
|
||||
NOTE 1: The local stress does not include any Lennard-Jones tail
|
||||
corrections to the stress added by the :doc:`pair_modify tail yes <pair_modify>`
|
||||
command, since those are contributions to the global system pressure.
|
||||
|
||||
NOTE 2: The local stress profiles generated by these computes are
|
||||
similar to those obtained by the
|
||||
:doc:`method-of-planes (MOP) <compute_stress_mop>`.
|
||||
A key difference
|
||||
is that compute `stress/mop/profile <compute_stress_mop>`
|
||||
considers particles crossing a set of planes, while
|
||||
*stress/cartesian* computes averages for a set of small volumes.
|
||||
More information on the similarities and differences can be found in
|
||||
:ref:`(Ikeshoji)<Ikeshoji2>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
These computes calculate the stress tensor contributions for pair
|
||||
styles only (i.e. no bond, angle, dihedral, etc. contributions, and in
|
||||
the presence of bonded interactions, the result will be incorrect due to
|
||||
exclusions for special bonds) and requires pairwise force calculations
|
||||
not available for most many-body pair styles. K-space calculations are
|
||||
also excluded.
|
||||
|
||||
These computes are part of the EXTRA-COMPUTE package. They are only
|
||||
enabled if LAMMPS was built with that package. See the :doc:`Build
|
||||
package <Build_package>` doc page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute stress/atom <compute_stress_atom>`, :doc:`compute pressure <compute_pressure>`, :doc:`compute stress/mop/profile <compute_stress_mop>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The keyword default for ke in style *stress/cylinder* is yes.
|
||||
|
||||
----------
|
||||
|
||||
.. _Ikeshoji2:
|
||||
|
||||
**(Ikeshoji)** Ikeshoji, Hafskjold, Furuholt, Mol Sim, 29, 101-109, (2003).
|
||||
|
||||
.. _Addington1:
|
||||
|
||||
**(Addington)** Addington, Long, Gubbins, J Chem Phys, 149, 084109 (2018).
|
||||
@ -68,7 +68,19 @@ configurational stress (conf), and/or total stress (total).
|
||||
NOTE 1: The configurational stress is computed considering all pairs of atoms where at least one atom belongs to group group-ID.
|
||||
|
||||
NOTE 2: The local stress does not include any Lennard-Jones tail
|
||||
corrections to the pressure added by the :doc:`pair_modify tail yes <pair_modify>` command, since those are contributions to the global system pressure.
|
||||
corrections to the stress added by the :doc:`pair_modify tail yes <pair_modify>`
|
||||
command, since those are contributions to the global system pressure.
|
||||
|
||||
NOTE 3: The local stress profile generated by compute *stress/mop/profile*
|
||||
is similar to that obtained by compute
|
||||
:doc:`stress/cartesian <compute_stress_cartesian>`.
|
||||
A key difference
|
||||
is that compute *stress/mop/profile* considers particles
|
||||
crossing a set of planes,
|
||||
while compute *stress/cartesian* computes averages for a set of
|
||||
small volumes. More information
|
||||
on the similarities and differences can be found in
|
||||
:ref:`(Ikeshoji)<Ikeshoji2>`.
|
||||
|
||||
Output info
|
||||
"""""""""""
|
||||
@ -87,7 +99,10 @@ and stress_dir,z.
|
||||
|
||||
The values are in pressure :doc:`units <units>`.
|
||||
|
||||
The values produced by this compute can be accessed by various :doc:`output commands <Howto_output>`. For instance, the results can be written to a file using the :doc:`fix ave/time <fix_ave_time>` command. Please see the example in the examples/PACKAGES/mop folder.
|
||||
The values produced by this compute can be accessed by various :doc:`output commands <Howto_output>`.
|
||||
For instance, the results can be written to a file using the
|
||||
:doc:`fix ave/time <fix_ave_time>` command. Please see the example
|
||||
in the examples/PACKAGES/mop folder.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
@ -107,7 +122,7 @@ intra-molecular interactions, and long range (kspace) interactions.
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute stress/atom <compute_stress_atom>`
|
||||
:doc:`compute stress/atom <compute_stress_atom>`, :doc:`compute pressure <compute_pressure>`, :doc:`compute stress/cartesian <compute_stress_cartesian>`, :doc:`compute stress/cylinder <compute_stress_cartesian>`, :doc:`compute stress/spherical <compute_stress_cartesian>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
@ -120,3 +135,7 @@ none
|
||||
|
||||
**(Todd)** B. D. Todd, Denis J. Evans, and Peter J. Daivis: "Pressure tensor for inhomogeneous fluids",
|
||||
Phys. Rev. E 52, 1627 (1995).
|
||||
|
||||
.. _Ikeshoji3:
|
||||
|
||||
**(Ikeshoji)** Ikeshoji, Hafskjold, Furuholt, Mol Sim, 29, 101-109, (2003).
|
||||
|
||||
@ -94,10 +94,6 @@ boron nitride nanotubes.
|
||||
Atoms belonging to different CNTs need to be assigned
|
||||
different molecule IDs.
|
||||
|
||||
A full summary of the method and LAMMPS implementation details
|
||||
is expected to soon become available in Computer Physics
|
||||
Communications.
|
||||
|
||||
----------
|
||||
|
||||
Mixing, shift, table, tail correction, restart, rRESPA info
|
||||
|
||||
@ -19,13 +19,14 @@ Syntax
|
||||
|
||||
.. parsed-literal::
|
||||
|
||||
keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* or *minhbonds* or *list/blocking*
|
||||
keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* or *minhbonds* or *tabulate* or *list/blocking*
|
||||
*checkqeq* value = *yes* or *no* = whether or not to require qeq/reaxff or acks2/reaxff fix
|
||||
*enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds
|
||||
*lgvdw* value = *yes* or *no* = whether or not to use a low gradient vdW correction
|
||||
*safezone* = factor used for array allocation
|
||||
*mincap* = minimum size for array allocation
|
||||
*minhbonds* = minimum size use for storing hydrogen bonds
|
||||
*tabulate* value = size of interpolation table for Lennard-Jones and Coulomb interactions
|
||||
*list/blocking* value = *yes* or *no* = whether or not to use "blocking" scheme for bond list build
|
||||
|
||||
Examples
|
||||
@ -159,6 +160,13 @@ the Kokkos version, which instead uses a more robust memory allocation
|
||||
scheme that checks if the sizes of the arrays have been exceeded and
|
||||
automatically allocates more memory.
|
||||
|
||||
The keyword *tabulate* controls the size of interpolation table for
|
||||
Lennard-Jones and Coulomb interactions. Tabulation may also be set in the
|
||||
control file (see below). If tabulation is set in both the input script and the
|
||||
control file, the value in the control file will be ignored. A size of 10000 is
|
||||
typically used for the interpolation table. A value of 0 means no tabulation
|
||||
will be used.
|
||||
|
||||
The keyword *list/blocking* is only supported by the Kokkos version of
|
||||
ReaxFF and ignored otherwise. Setting the value to *yes* enables the
|
||||
"blocking" scheme (dynamically building interaction lists) for the
|
||||
@ -369,8 +377,9 @@ Related commands
|
||||
Default
|
||||
"""""""
|
||||
|
||||
The keyword defaults are checkqeq = yes, enobonds = yes, lgvdw = no,
|
||||
safezone = 1.2, mincap = 50, minhbonds = 25, list/blocking = yes on CPU, no on GPU.
|
||||
The keyword defaults are checkqeq = yes, enobonds = yes, lgvdw = no, safezone =
|
||||
1.2, mincap = 50, minhbonds = 25, tabulate = 0, list/blocking = yes on CPU, no
|
||||
on GPU.
|
||||
|
||||
----------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user