diff --git a/doc/src/angle_style.rst b/doc/src/angle_style.rst index e745524add..5be7bc1a9a 100644 --- a/doc/src/angle_style.rst +++ b/doc/src/angle_style.rst @@ -10,7 +10,7 @@ Syntax angle_style style -* style = *none* or *hybrid* or *charmm* or *class2* or *cosine* or *cosine/squared* or *harmonic* +* style = *none* or *zero* or *hybrid* or *amoeba* or *charmm* or *class2* or *class2/p6* or *cosine* or *cosine/buck6d* or *cosine/delta* or *cosine/periodic* or *cosine/shift* or *cosine/shift/exp* or *cosine/squared* or *cross* or *dipole* or *fourier* or *fourier/simple* or *gaussian* or *harmonic* or *mm3* or *quartic* or *spica* or *table* Examples """""""" diff --git a/doc/src/balance.rst b/doc/src/balance.rst index 1d24e467d8..4873fc35c9 100644 --- a/doc/src/balance.rst +++ b/doc/src/balance.rst @@ -6,7 +6,7 @@ balance command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS balance thresh style args ... keyword args ... diff --git a/doc/src/bond_style.rst b/doc/src/bond_style.rst index 95ba1572c1..1573a6847b 100644 --- a/doc/src/bond_style.rst +++ b/doc/src/bond_style.rst @@ -10,7 +10,7 @@ Syntax bond_style style args -* style = *none* or *hybrid* or *class2* or *fene* or *fene/expand* or *harmonic* or *morse* or *nonlinear* or *quartic* +* style = *none* or *zero* or *hybrid* or *bpm/rotational* or *bpm/spring* or *class2* or *fene* or *fene/expand* or *fene/nm* or *gaussian* or *gromos* or *harmonic* or *harmonic/shift* or *harmonic/shift/cut* or *morse* or *nonlinear* or *oxdna/fene* or *oxdena2/fene* or *oxrna2/fene* or *quartic* or *special* or *table* * args = none for any style except *hybrid* diff --git a/doc/src/boundary.rst b/doc/src/boundary.rst index d6458e7c39..3af0e2fa43 100644 --- a/doc/src/boundary.rst +++ b/doc/src/boundary.rst @@ -6,7 +6,7 @@ boundary command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS boundary x y z diff --git a/doc/src/box.rst b/doc/src/box.rst index b9c586b6f7..096a171249 100644 --- a/doc/src/box.rst +++ b/doc/src/box.rst @@ -6,7 +6,7 @@ box command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS box keyword value ... diff --git a/doc/src/clear.rst b/doc/src/clear.rst index e9664a6112..a8d224a5c9 100644 --- a/doc/src/clear.rst +++ b/doc/src/clear.rst @@ -6,18 +6,18 @@ clear command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS clear Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS - (commands for 1st simulation) + # (commands for 1st simulation) clear - (commands for 2nd simulation) + # (commands for 2nd simulation) Description """"""""""" diff --git a/doc/src/comm_modify.rst b/doc/src/comm_modify.rst index 914509b14d..bf0c1a5075 100644 --- a/doc/src/comm_modify.rst +++ b/doc/src/comm_modify.rst @@ -10,7 +10,7 @@ Syntax comm_modify keyword value ... -* zero or more keyword/value pairs may be appended +* one or more keyword/value pairs may be appended * keyword = *mode* or *cutoff* or *cutoff/multi* or *multi/reduce* or *group* or *vel* .. parsed-literal:: diff --git a/doc/src/compute.rst b/doc/src/compute.rst index 508c440e78..e910598c7a 100644 --- a/doc/src/compute.rst +++ b/doc/src/compute.rst @@ -6,7 +6,7 @@ compute command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID style args @@ -198,10 +198,10 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`dipole ` - dipole vector and total dipole * :doc:`dipole/chunk ` - dipole vector and total dipole for each chunk * :doc:`displace/atom ` - displacement of each atom -* :doc:`dpd ` - -* :doc:`dpd/atom ` - +* :doc:`dpd ` - total values of internal conductive energy, internal mechanical energy, chemical energy, and harmonic average of internal temperature +* :doc:`dpd/atom ` - per-particle values of internal conductive energy, internal mechanical energy, chemical energy, and internal temperature * :doc:`edpd/temp/atom ` - per-atom temperature for each eDPD particle in a group -* :doc:`efield/atom ` - +* :doc:`efield/atom ` - electric field at each atom * :doc:`entropy/atom ` - pair entropy fingerprint of each atom * :doc:`erotate/asphere ` - rotational energy of aspherical particles * :doc:`erotate/rigid ` - rotational energy of rigid bodies @@ -261,25 +261,25 @@ The individual style names on the :doc:`Commands compute ` pag * :doc:`rigid/local ` - extract rigid body attributes * :doc:`saed ` - electron diffraction intensity on a mesh of reciprocal lattice nodes * :doc:`slice ` - extract values from global vector or array -* :doc:`smd/contact/radius ` - +* :doc:`smd/contact/radius ` - contact radius for Smooth Mach Dynamics * :doc:`smd/damage ` - damage status of SPH particles in Smooth Mach Dynamics -* :doc:`smd/hourglass/error ` - +* :doc:`smd/hourglass/error ` - error associated with approximated relative separation in Smooth Mach Dynamics * :doc:`smd/internal/energy ` - per-particle enthalpy in Smooth Mach Dynamics * :doc:`smd/plastic/strain ` - equivalent plastic strain per particle in Smooth Mach Dynamics * :doc:`smd/plastic/strain/rate ` - time rate of the equivalent plastic strain in Smooth Mach Dynamics * :doc:`smd/rho ` - per-particle mass density in Smooth Mach Dynamics * :doc:`smd/tlsph/defgrad ` - deformation gradient in Smooth Mach Dynamics * :doc:`smd/tlsph/dt ` - CFL-stable time increment per particle in Smooth Mach Dynamics -* :doc:`smd/tlsph/num/neighs ` - -* :doc:`smd/tlsph/shape ` - -* :doc:`smd/tlsph/strain ` - -* :doc:`smd/tlsph/strain/rate ` - +* :doc:`smd/tlsph/num/neighs ` - number of particles inside the smoothing kernel radius for Smooth Mach Dynamics +* :doc:`smd/tlsph/shape ` - current shape of the volume of a particle for Smooth Mach Dynamics +* :doc:`smd/tlsph/strain ` - Green--Lagrange strain tensor for Smooth Mach Dynamics +* :doc:`smd/tlsph/strain/rate ` - rate of strain for Smooth Mach Dynamics * :doc:`smd/tlsph/stress ` - per-particle Cauchy stress tensor for SPH particles -* :doc:`smd/triangle/vertices ` - +* :doc:`smd/triangle/vertices ` - coordinates of vertices corresponding to the triangle elements of a mesh for Smooth Mach Dynamics * :doc:`smd/ulsph/effm ` - per-particle effective shear modulus -* :doc:`smd/ulsph/num/neighs ` - -* :doc:`smd/ulsph/strain ` - -* :doc:`smd/ulsph/strain/rate ` - +* :doc:`smd/ulsph/num/neighs ` - number of neighbor particles inside the smoothing kernel radius for Smooth Mach Dynamics +* :doc:`smd/ulsph/strain ` - logarithmic strain tensor for Smooth Mach Dynamics +* :doc:`smd/ulsph/strain/rate ` - logarithmic strain rate for Smooth Mach Dynamics * :doc:`smd/ulsph/stress ` - per-particle Cauchy stress tensor and von Mises equivalent stress in Smooth Mach Dynamics * :doc:`smd/vol ` - per-particle volumes and their sum in Smooth Mach Dynamics * :doc:`snap ` - gradients of SNAP energy and forces w.r.t. linear coefficients and related quantities for fitting SNAP potentials diff --git a/doc/src/compute_ackland_atom.rst b/doc/src/compute_ackland_atom.rst index 0dc6630980..33644b6d7e 100644 --- a/doc/src/compute_ackland_atom.rst +++ b/doc/src/compute_ackland_atom.rst @@ -6,7 +6,7 @@ compute ackland/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID ackland/atom keyword/value @@ -17,7 +17,7 @@ Syntax .. parsed-literal:: - *legacy* yes/no = use (\ *yes*\ ) or do not use (\ *no*\ ) legacy ackland algorithm implementation + *legacy* args = *yes* or *no* = use (\ *yes*\ ) or do not use (\ *no*\ ) legacy Ackland algorithm implementation Examples """""""" diff --git a/doc/src/compute_adf.rst b/doc/src/compute_adf.rst index 31351a547c..6adc6cabf0 100644 --- a/doc/src/compute_adf.rst +++ b/doc/src/compute_adf.rst @@ -6,7 +6,7 @@ compute adf command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID adf Nbin itype1 jtype1 ktype1 Rjinner1 Rjouter1 Rkinner1 Rkouter1 ... @@ -16,10 +16,10 @@ Syntax * itypeN = central atom type for Nth ADF histogram (see asterisk form below) * jtypeN = J atom type for Nth ADF histogram (see asterisk form below) * ktypeN = K atom type for Nth ADF histogram (see asterisk form below) -* RjinnerN = inner radius of J atom shell for Nth ADF histogram (distance units) -* RjouterN = outer radius of J atom shell for Nth ADF histogram (distance units) +* RjinnerN = inner radius of J atom shell for Nth ADF histogram (distance units) +* RjouterN = outer radius of J atom shell for Nth ADF histogram (distance units) * RkinnerN = inner radius of K atom shell for Nth ADF histogram (distance units) -* RkouterN = outer radius of K atom shell for Nth ADF histogram (distance units) +* RkouterN = outer radius of K atom shell for Nth ADF histogram (distance units) * zero or one keyword/value pairs may be appended * keyword = *ordinate* @@ -177,8 +177,8 @@ Output info """"""""""" This compute calculates a global array with the number of rows = -*Nbins*, and the number of columns = 1 + 2\*Ntriples, where Ntriples is the -number of I,J,K triples specified. The first column has the bin +*Nbins* and the number of columns = :math:`1 + 2 \times` *Ntriples*, where *Ntriples* +is the number of I,J,K triples specified. The first column has the bin coordinate (angle-related ordinate at midpoint of bin). Each subsequent column has the two ADF values for a specific set of (\ *itypeN*,\ *jtypeN*,\ *ktypeN*\ ) interactions, as described above. These values can be used @@ -192,10 +192,10 @@ The first column of array values is the angle-related ordinate, either the angle in degrees or radians, or the cosine of the angle. Each subsequent pair of columns gives the first and second kinds of ADF for a specific set of (\ *itypeN*,\ *jtypeN*,\ *ktypeN*\ ). The values -in the first ADF column are normalized numbers >= 0.0, +in the first ADF column are normalized numbers :math:`\ge 0.0`, whose integral w.r.t. the ordinate is 1, i.e. the first ADF is a normalized probability distribution. -The values in the second ADF column are also numbers >= 0.0. +The values in the second ADF column are also numbers :math:`\ge 0.0`. They are the cumulative density distribution of angles per atom. By definition, this ADF is monotonically increasing from zero to a maximum value equal to the average total number of diff --git a/doc/src/compute_angle.rst b/doc/src/compute_angle.rst index b4a7d9a060..ee08af24d8 100644 --- a/doc/src/compute_angle.rst +++ b/doc/src/compute_angle.rst @@ -6,7 +6,7 @@ compute angle command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID angle @@ -35,12 +35,12 @@ the hybrid sub-styles. Output info """"""""""" -This compute calculates a global vector of length N where N is the number of -sub_styles defined by the :doc:`angle_style hybrid ` command, -which can be accessed by indices 1-N. 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 ` page for an overview of LAMMPS output -options. +This compute calculates a global vector of length *N*, where *N* is the number +of sub_styles defined by the :doc:`angle_style hybrid ` command, +which can be accessed by indices 1 through *N*. 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 ` page for an overview of LAMMPS +output options. The vector values are "extensive" and will be in energy :doc:`units `. diff --git a/doc/src/compute_angle_local.rst b/doc/src/compute_angle_local.rst index 688bfbeecb..126dd309af 100644 --- a/doc/src/compute_angle_local.rst +++ b/doc/src/compute_angle_local.rst @@ -6,7 +6,7 @@ compute angle/local command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID angle/local value1 value2 ... keyword args ... @@ -47,7 +47,7 @@ interactions. The number of datums generated, aggregated across all processors, equals the number of angles in the system, modified by the group parameter as explained below. -The value *theta* is the angle for the 3 atoms in the interaction. +The value *theta* is the angle for the three atoms in the interaction. The value *eng* is the interaction energy for the angle. @@ -65,8 +65,8 @@ Note that the value of theta for each angle which stored in the internal variable is in radians, not degrees. As an example, these commands can be added to the bench/in.rhodo -script to compute the cosine and cosine\^2 of every angle in the system -and output the statistics in various ways: +script to compute the cosine and cosine-squared of every angle in the +system and output the statistics in various ways: .. code-block:: LAMMPS @@ -83,19 +83,20 @@ and output the statistics in various ways: fix 10 all ave/histo 10 10 100 -1 1 20 c_2[3] mode vector file tmp.histo -The :doc:`dump local ` command will output the energy, angle, -cosine(angle), cosine\^2(angle) for every angle in the system. The -:doc:`thermo_style ` command will print the average of -those quantities via the :doc:`compute reduce ` command -with thermo output. And the :doc:`fix ave/histo ` -command will histogram the cosine(angle) values and write them to a +The :doc:`dump local ` command will output the potential energy +(:math:`\phi`), the angle (:math:`\theta`), :math:`\cos(\theta`), and +:math:`\cos^2(\theta)` for every angle :math:`\theta` in the system. +The :doc:`thermo_style ` command will print the +average of those quantities via the :doc:`compute reduce ` +command with thermo output. And the :doc:`fix ave/histo ` +command will histogram the :math:`\cos(\theta)` values and write them to a file. ---------- The local data stored by this command is generated by looping over all the atoms owned on a processor and their angles. An angle will only -be included if all 3 atoms in the angle are in the specified compute +be included if all three atoms in the angle are in the specified compute group. Any angles that have been broken (see the :doc:`angle_style ` command) by setting their angle type to 0 are not included. Angles that have been turned off (see the :doc:`fix shake ` or :doc:`delete_bonds ` commands) by diff --git a/doc/src/compute_angmom_chunk.rst b/doc/src/compute_angmom_chunk.rst index 10678c4e47..2e98742772 100644 --- a/doc/src/compute_angmom_chunk.rst +++ b/doc/src/compute_angmom_chunk.rst @@ -6,7 +6,7 @@ compute angmom/chunk command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID angmom/chunk chunkID @@ -72,13 +72,13 @@ Output info """"""""""" This compute calculates a global array where the number of rows = the -number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = -3 for the 3 xyz components of the angular momentum for each chunk. +number of chunks *Nchunk* as calculated by the specified :doc:`compute chunk/atom ` command. The number of columns = 3 for the three +(*x*, *y*, *z*) components of the angular momentum for 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 ` 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 `. Restrictions diff --git a/doc/src/compute_ave_sphere_atom.rst b/doc/src/compute_ave_sphere_atom.rst index 48dbf377cb..e5ed7e1437 100644 --- a/doc/src/compute_ave_sphere_atom.rst +++ b/doc/src/compute_ave_sphere_atom.rst @@ -9,7 +9,7 @@ Accelerator Variants: *ave/sphere/atom/kk* Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID ave/sphere/atom keyword values ... @@ -37,13 +37,13 @@ Description Define a computation that calculates the local mass density and temperature for each atom based on its neighbors inside a spherical -cutoff. If an atom has M neighbors, then its local mass density is -calculated as the sum of its mass and its M neighbor masses, divided +cutoff. If an atom has :math:`M` neighbors, then its local mass density is +calculated as the sum of its mass and its :math:`M` neighbor masses, divided by the volume of the cutoff sphere (or circle in 2d). The local temperature of the atom is calculated as the temperature of the -collection of M+1 atoms, after subtracting the center-of-mass velocity -of the M+1 atoms from each of the M+1 atom's velocities. This is -effectively the thermal velocity of the neighborhood of the central +collection of :math:`M+1` atoms, after subtracting the center-of-mass velocity +of the :math:`M+1` atoms from each of the :math:`M+1` atom's velocities. This +is effectively the thermal velocity of the neighborhood of the central atom, similar to :doc:`compute temp/com `. The optional keyword *cutoff* defines the distance cutoff used when diff --git a/doc/src/compute_basal_atom.rst b/doc/src/compute_basal_atom.rst index 3a74379acb..b6391eb5b5 100644 --- a/doc/src/compute_basal_atom.rst +++ b/doc/src/compute_basal_atom.rst @@ -6,7 +6,7 @@ compute basal/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID basal/atom @@ -47,12 +47,12 @@ in examples/PACKAGES/basal. Output info """"""""""" -This compute calculates a per-atom array with 3 columns, which can be -accessed by indices 1-3 by any command that uses per-atom values from +This compute calculates a per-atom array with three columns, which can be +accessed by indices 1--3 by any command that uses per-atom values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. -The per-atom vector values are unitless since the 3 columns represent +The per-atom vector values are unitless since the three columns represent components of a unit vector. Restrictions diff --git a/doc/src/compute_body_local.rst b/doc/src/compute_body_local.rst index 662838b08f..95c8b14330 100644 --- a/doc/src/compute_body_local.rst +++ b/doc/src/compute_body_local.rst @@ -6,7 +6,7 @@ compute body/local command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID body/local input1 input2 ... @@ -33,7 +33,7 @@ Description """"""""""" Define a computation that calculates properties of individual body -sub-particles. The number of datums generated, aggregated across all +sub-particles. The number of data generated, aggregated across all processors, equals the number of body sub-particles plus the number of non-body particles in the system, modified by the group parameter as explained below. See the :doc:`Howto body ` page for @@ -41,8 +41,8 @@ more details on using body particles. The local data stored by this command is generated by looping over all the atoms. An atom will only be included if it is in the group. If -the atom is a body particle, then its N sub-particles will be looped -over, and it will contribute N datums to the count of datums. If it +the atom is a body particle, then its :math:`N` sub-particles will be looped +over, and it will contribute :math:`N` data to the count of data. If it is not a body particle, it will contribute 1 datum. For both body particles and non-body particles, the *id* keyword @@ -64,8 +64,8 @@ by the :doc:`atom_style body `, determines how many fields exist and what they are. See the :doc:`Howto_body ` doc page for details of the different styles. -Here is an example of how to output body information using the :doc:`dump local ` command with this compute. If fields 1,2,3 for the -body sub-particles are x,y,z coordinates, then the dump file will be +Here is an example of how to output body information using the :doc:`dump local ` command with this compute. If fields 1, 2, and 3 for the +body sub-particles are (*x*, *y*, *z*) coordinates, then the dump file will be formatted similar to the output of a :doc:`dump atom or custom ` command. @@ -79,7 +79,7 @@ Output info This compute calculates a local vector or local array depending on the number of keywords. The length of the vector or number of rows in the -array is the number of datums as described above. If a single keyword +array is the number of data as described above. If a single keyword is specified, a local vector is produced. If two or more keywords are specified, a local array is produced where the number of columns = the number of keywords. The vector or array can be accessed by any diff --git a/doc/src/compute_bond.rst b/doc/src/compute_bond.rst index ddca97420d..82caef8e93 100644 --- a/doc/src/compute_bond.rst +++ b/doc/src/compute_bond.rst @@ -6,7 +6,7 @@ compute bond command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID bond @@ -35,10 +35,13 @@ or more of the hybrid sub-styles. Output info """"""""""" -This compute calculates a global vector of length N where N is the -number of sub_styles defined by the :doc:`bond_style hybrid ` command, which can be accessed by indices 1-N. +This compute calculates a global vector of length :math:`N`, where :math:`N` +is the number of sub_styles defined by the +:doc:`bond_style hybrid ` command, +which can be accessed by indices 1 through :math:`N`. 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 ` page for an overview of LAMMPS output +vector values from a compute as input. See the +:doc:`Howto output ` page for an overview of LAMMPS output options. The vector values are "extensive" and will be in energy diff --git a/doc/src/compute_bond_local.rst b/doc/src/compute_bond_local.rst index 24b0943484..468fcc710d 100644 --- a/doc/src/compute_bond_local.rst +++ b/doc/src/compute_bond_local.rst @@ -6,7 +6,7 @@ compute bond/local command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID bond/local value1 value2 ... keyword args ... @@ -35,8 +35,8 @@ Syntax .. parsed-literal:: - *set* args = dist name - dist = only currently allowed arg + *set* args = *dist* name + *dist* = only currently allowed arg name = name of variable to set with distance (dist) Examples @@ -49,7 +49,7 @@ Examples compute 1 all bond/local dist fx fy fz - compute 1 all angle/local dist v_distsq set dist d + compute 1 all bond/local dist v_distsq set dist d Description """"""""""" @@ -82,32 +82,34 @@ relative to the center of mass (COM) velocity of the 2 atoms in the bond. The value *engvib* is the vibrational kinetic energy of the two atoms -in the bond, which is simply 1/2 m1 v1\^2 + 1/2 m2 v2\^2, where v1 and -v2 are the magnitude of the velocity of the 2 atoms along the bond -direction, after the COM velocity has been subtracted from each. - -The value *engrot* is the rotational kinetic energy of the two atoms -in the bond, which is simply 1/2 m1 v1\^2 + 1/2 m2 v2\^2, where v1 and -v2 are the magnitude of the velocity of the 2 atoms perpendicular to -the bond direction, after the COM velocity has been subtracted from +in the bond, which is simply :math:`\frac12 m_1 v_1^2 + \frac12 m_2 v_2^2,` +where :math:`v_1` and :math:`v_2` are the magnitude of the velocity of the two +atoms along the bond direction, after the COM velocity has been subtracted from each. -The value *engtrans* is the translational kinetic energy associated -with the motion of the COM of the system itself, namely 1/2 (m1+m2) -Vcm\^2 where Vcm = magnitude of the velocity of the COM. +The value *engrot* is the rotational kinetic energy of the two atoms +in the bond, which is simply :math:`\frac12 m_1 v_1^2 + \frac12 m_2 v_2^2,` +where :math:`v_1` and :math:`v_2` are the magnitude of the velocity of the two +atoms perpendicular to the bond direction, after the COM velocity has been +subtracted from each. -Note that these 3 kinetic energy terms are simply a partitioning of -the summed kinetic energy of the 2 atoms themselves. I.e. total KE = -1/2 m1 v1\^2 + 1/2 m2 v2\^2 = engvib + engrot + engtrans, where v1,v2 -are the magnitude of the velocities of the 2 atoms, without any -adjustment for the COM velocity. +The value *engtrans* is the translational kinetic energy associated +with the motion of the COM of the system itself, namely :math:`\frac12(m_1+m_2) +V_{\mathrm{cm}}^2`, where `Vcm` = magnitude of the velocity of the COM. + +Note that these three kinetic energy terms are simply a partitioning of +the summed kinetic energy of the two atoms themselves. That is, the total +kinetic energy is +:math:`\frac12 m_1 v_1^2 + \frac12 m_2 v_2^2` = engvib + engrot + engtrans, +where :math:`v_1` and :math:`v_2` are the magnitude of the velocities of the +two atoms, without any adjustment for the COM velocity. The value *omega* is the magnitude of the angular velocity of the two atoms around their COM position. The value *velvib* is the magnitude of the relative velocity of the two atoms in the bond towards each other. A negative value means the -2 atoms are moving toward each other; a positive value means they are +two atoms are moving toward each other; a positive value means they are moving apart. The value *v_name* can be used together with the *set* keyword to @@ -121,7 +123,7 @@ directly. The *set* keyword is used to identify the name of this other variable associated with theta. As an example, these commands can be added to the bench/in.rhodo -script to compute the distance\^2 of every bond in the system and +script to compute the length\^2 of every bond in the system and output the statistics in various ways: .. code-block:: LAMMPS @@ -138,12 +140,12 @@ output the statistics in various ways: fix 10 all ave/histo 10 10 100 0 6 20 c_2[3] mode vector file tmp.histo -The :doc:`dump local ` command will output the energy, distance, -distance\^2 for every bond in the system. The +The :doc:`dump local ` command will output the energy, length, +and length\^2 for every bond in the system. The :doc:`thermo_style ` command will print the average of those quantities via the :doc:`compute reduce ` command -with thermo output. And the :doc:`fix ave/histo ` -command will histogram the distance\^2 values and write them to a file. +with thermo output, and the :doc:`fix ave/histo ` +command will histogram the length\^2 values and write them to a file. ---------- diff --git a/doc/src/compute_born_matrix.rst b/doc/src/compute_born_matrix.rst index 423df9961d..920ae46532 100644 --- a/doc/src/compute_born_matrix.rst +++ b/doc/src/compute_born_matrix.rst @@ -6,20 +6,26 @@ compute born/matrix command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID born/matrix keyword value ... * ID, group-ID are documented in :doc:`compute ` command * born/matrix = style name of this compute command -* zero or more keyword/value pairs may be appended +* zero or more keywords or keyword/value pairs may be appended .. parsed-literal:: - keyword = *numdiff* + keyword = *numdiff* or *pair* or *bond* or *angle* or *dihedral* or *improper* *numdiff* values = delta virial-ID delta = magnitude of strain (dimensionless) virial-ID = ID of pressure compute for virial (string) + (*numdiff* cannot be used with any other keyword) + *pair* = compute pair-wise contributions + *bond* = compute bonding contributions + *angle* = compute angle contributions + *dihedral* = compute dihedral contributions + *improper* = compute improper contributions Examples """""""" @@ -36,8 +42,8 @@ Description .. versionadded:: 4May2022 Define a compute that calculates -:math:`\frac{\partial{}^2U}{\partial\varepsilon_{i}\partial\varepsilon_{j}}` the -second derivatives of the potential energy :math:`U` w.r.t. strain +:math:`\frac{\partial{}^2U}{\partial\varepsilon_{i}\partial\varepsilon_{j}},` the +second derivatives of the potential energy :math:`U` with respect to the strain tensor :math:`\varepsilon` elements. These values are related to: .. math:: @@ -69,14 +75,14 @@ whose 21 independent elements are output in this order: .. math:: - \begin{matrix} + \begin{bmatrix} C_{1} & C_{7} & C_{8} & C_{9} & C_{10} & C_{11} \\ C_{7} & C_{2} & C_{12} & C_{13} & C_{14} & C_{15} \\ \vdots & C_{12} & C_{3} & C_{16} & C_{17} & C_{18} \\ \vdots & C_{13} & C_{16} & C_{4} & C_{19} & C_{20} \\ \vdots & \vdots & \vdots & C_{19} & C_{5} & C_{21} \\ \vdots & \vdots & \vdots & \vdots & C_{21} & C_{6} - \end{matrix} + \end{bmatrix} in this matrix the indices of :math:`C_{k}` value are the corresponding element :math:`k` in the global vector output by this compute. Each term comes from the sum @@ -169,14 +175,14 @@ requiring that it use the virial keyword e.g. **Output info:** This compute calculates a global vector with 21 values that are -the second derivatives of the potential energy w.r.t. strain. +the second derivatives of the potential energy with respect to strain. The values are in energy units. The values are ordered as explained above. These values can be used by any command that uses global values from a compute as input. See the :doc:`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 """""""""""" @@ -188,7 +194,7 @@ the :doc:`Build package ` page for more info. The Born term can be decomposed as a product of two terms. The first one is a general term which depends on the configuration. The second one is specific to -every interaction composing your force field (non-bonded, bonds, angle...). +every interaction composing your force field (non-bonded, bonds, angle, ...). Currently not all LAMMPS interaction styles implement the *born_matrix* method giving first and second order derivatives and LAMMPS will exit with an error if this compute is used with such interactions unless the *numdiff* option is diff --git a/doc/src/compute_centro_atom.rst b/doc/src/compute_centro_atom.rst index 3d32b75459..eab8793466 100644 --- a/doc/src/compute_centro_atom.rst +++ b/doc/src/compute_centro_atom.rst @@ -6,17 +6,17 @@ compute centro/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID centro/atom lattice keyword value ... * ID, group-ID are documented in :doc:`compute ` command - centro/atom = style name of this compute command - lattice = *fcc* or *bcc* or N = # of neighbors per atom to include +* centro/atom = style name of this compute command +* lattice = *fcc* or *bcc* or N = # of neighbors per atom to include * zero or more keyword/value pairs may be appended * keyword = *axes* -.. parsed-literal:: + .. parsed-literal:: *axes* value = *no* or *yes* *no* = do not calculate 3 symmetry axes @@ -83,12 +83,13 @@ atoms with smallest contributions to the centrosymmetry parameter, i.e. the two most symmetric pairs of atoms. The third vector is normal to the first two by the right-hand rule. All three vectors are normalized to unit length. For FCC crystals, the first two vectors -will lie along a <110> direction, while the third vector will lie -along either a <100> or <111> direction. For HCP crystals, the first -two vectors will lie along <1000> directions, while the third vector -will lie along <0001>. This provides a simple way to measure local -orientation in HCP structures. In general, the *axes* keyword can be -used to estimate the orientation of symmetry axes in the neighborhood +will lie along a :math:`\langle110\rangle` direction, while the third vector +will lie along either a :math:`\langle100\rangle` or :math:`\langle111\rangle` +direction. For HCP crystals, the first two vectors will lie along +:math:`\langle1000\rangle` directions, while the third vector +will lie along :math:`\langle0001\rangle`. This provides a simple way to +measure local orientation in HCP structures. In general, the *axes* keyword +can be used to estimate the orientation of symmetry axes in the neighborhood of any atom. Only atoms within the cutoff of the pairwise neighbor list are @@ -96,7 +97,7 @@ considered as possible neighbors. Atoms not in the compute group are included in the :math:`N` neighbors used in this calculation. The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (e.g. each time a snapshot of atoms +time the calculation is performed (e.g., each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each with a *centro/atom* style. @@ -111,11 +112,11 @@ options. If the *axes* keyword setting is *yes*, then a per-atom array is calculated. The first column is the centrosymmetry parameter. The -next three columns are the x, y, and z components of the first +next three columns are the *x*, *y*, and *z* components of the first symmetry axis, followed by the second, and third symmetry axes in -columns 5-7 and 8-10. +columns 5--7 and 8--10. -The centrosymmetry values are unitless values >= 0.0. Their magnitude +The centrosymmetry values are unitless values :math:`\ge 0.0`. Their magnitude depends on the lattice style due to the number of contributing neighbor pairs in the summation in the formula above. And it depends on the local defects surrounding the central atom, as described above. For diff --git a/doc/src/compute_chunk_atom.rst b/doc/src/compute_chunk_atom.rst index 9d36827c25..5a806aa6d5 100644 --- a/doc/src/compute_chunk_atom.rst +++ b/doc/src/compute_chunk_atom.rst @@ -6,7 +6,7 @@ compute chunk/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID chunk/atom style args keyword values ... @@ -150,14 +150,14 @@ The *binning* styles perform a spatial binning of atoms, and assign an atom the chunk ID corresponding to the bin number it is in. *Nchunk* is set to the number of bins, which can change if the simulation box size changes. This also depends on the setting of the *units* -keyword; e.g. for *reduced* units the number of chunks may not change -even if the box size does. +keyword (e.g., for *reduced* units the number of chunks may not change +even if the box size does). The *bin/1d*, *bin/2d*, and *bin/3d* styles define bins as 1d layers (slabs), 2d pencils, or 3d boxes. The *dim*, *origin*, and *delta* settings are specified 1, 2, or 3 times. For 2d or 3d bins, there is -no restriction on specifying dim = x before dim = y or z, or dim = y -before dim = z. Bins in a particular *dim* have a bin size in that +no restriction on specifying dim = *x* before dim = *y* or *z*, or dim = *y* +before dim = *z*. Bins in a particular *dim* have a bin size in that dimension given by *delta*\ . In each dimension, bins are defined relative to a specified *origin*, which may be the lower/upper edge of the simulation box (in that dimension), or its center point, or a @@ -170,10 +170,11 @@ boxes aligned with the xyz coordinate axes. For triclinic (non-orthogonal) simulation boxes, the bin faces are parallel to the tilted faces of the simulation box. See the :doc:`Howto triclinic ` page for a discussion of the geometry of triclinic boxes in LAMMPS. As described there, a tilted -simulation box has edge vectors a,b,c. In that nomenclature, bins in -the x dimension have faces with normals in the "b" cross "c" -direction. Bins in y have faces normal to the "a" cross "c" -direction. And bins in z have faces normal to the "a" cross "b" +simulation box has edge vectors :math:`\vec a`, :math:`\vec b`, and +:math:`\vec c`. In that nomenclature, bins in +the *x* dimension have faces with normals in the :math:`\vec b \times \vec c` +direction, bins in *y* have faces normal to the :math:`\vec a \times \vec c` +direction, and bins in *z* have faces normal to the :math:`\vec a \times \vec b` direction. Note that in order to define the size and position of these bins in an unambiguous fashion, the *units* option must be set to *reduced* when using a triclinic simulation box, as noted below. @@ -181,46 +182,46 @@ to *reduced* when using a triclinic simulation box, as noted below. The meaning of *origin* and *delta* for triclinic boxes is as follows. Consider a triclinic box with bins that are 1d layers or slabs in the x dimension. No matter how the box is tilted, an *origin* of 0.0 -means start layers at the lower "b" cross "c" plane of the simulation -box and an *origin* of 1.0 means to start layers at the upper "b" -cross "c" face of the box. A *delta* value of 0.1 in *reduced* units -means there will be 10 layers from 0.0 to 1.0, regardless of the -current size or shape of the simulation box. +means start layers at the lower :math:`\vec b \times \vec c` plane of the +simulation box and an *origin* of 1.0 means to start layers at the upper +:math:`\vec b \times \vec c` face of the box. A *delta* value of 0.1 in +*reduced* units means there will be 10 layers from 0.0 to 1.0, regardless of +the current size or shape of the simulation box. The *bin/sphere* style defines a set of spherical shell bins around the origin (\ *xorig*,\ *yorig*,\ *zorig*\ ), using *nsbin* bins with radii equally spaced between *srmin* and *srmax*\ . This is effectively a 1d vector of bins. For example, if *srmin* = 1.0 and *srmax* = 10.0 and -*nsbin* = 9, then the first bin spans 1.0 < r < 2.0, and the last bin -spans 9.0 < r 10.0. The geometry of the bins is the same whether the -simulation box is orthogonal or triclinic; i.e. the spherical shells +*nsbin* = 9, then the first bin spans :math:`1.0 < r < 2.0`, and the last bin +spans :math:`9.0 < r < 10.0`. The geometry of the bins is the same whether the +simulation box is orthogonal or triclinic (i.e., the spherical shells are not tilted or scaled differently in different dimensions to -transform them into ellipsoidal shells. +transform them into ellipsoidal shells). The *bin/cylinder* style defines bins for a cylinder oriented along the axis *dim* with the axis coordinates in the other two radial -dimensions at (\ *c1*,\ *c2*\ ). For dim = x, c1/c2 = y/z; for dim = y, -c1/c2 = x/z; for dim = z, c1/c2 = x/y. This is effectively a 2d array -of bins. The first dimension is along the cylinder axis, the second -dimension is radially outward from the cylinder axis. The bin size -and positions along the cylinder axis are specified by the *origin* -and *delta* values, the same as for the *bin/1d*, *bin/2d*, and -*bin/3d* styles. There are *ncbin* concentric circle bins in the +dimensions at (\ *c1*,\ *c2*\ ). For dim = *x*, :math:`c_1/c_2 = y/z`; +for dim = *y*, :math:`c_1/c_2 = x/z`; for dim = *z*, +:math:`c_1/c_2 = x/y`. This is effectively a 2d array of bins. The first +dimension is along the cylinder axis, the second dimension is radially outward +from the cylinder axis. The bin size and positions along the cylinder axis are +specified by the *origin* and *delta* values, the same as for the *bin/1d*, +*bin/2d*, and *bin/3d* styles. There are *ncbin* concentric circle bins in the radial direction from the cylinder axis with radii equally spaced between *crmin* and *crmax*\ . For example, if *crmin* = 1.0 and -*crmax* = 10.0 and *ncbin* = 9, then the first bin spans 1.0 < r < -2.0, and the last bin spans 9.0 < r 10.0. The geometry of the bins in +*crmax* = 10.0 and *ncbin* = 9, then the first bin spans :math:`1.0 < r < 2.0` +and the last bin spans :math:`9.0 < r < 10.0`. The geometry of the bins in the radial dimensions is the same whether the simulation box is -orthogonal or triclinic; i.e. the concentric circles are not tilted or +orthogonal or triclinic (i.e., the concentric circles are not tilted or scaled differently in the two different dimensions to transform them -into ellipses. +into ellipses). The created bins (and hence the chunk IDs) are numbered consecutively from 1 to the number of bins = *Nchunk*\ . For *bin2d* and *bin3d*, the numbering varies most rapidly in the first dimension (which could be -x, y, or z), next rapidly in the second dimension, and most slowly in the +*x*, *y*, or *z*), next rapidly in the second dimension, and most slowly in the third dimension. For *bin/sphere*, the bin with smallest radii is chunk -1 and the bni with largest radii is chunk Nchunk = *ncbin*\ . For +1 and the bin with largest radii is chunk Nchunk = *ncbin*\ . For *bin/cylinder*, the numbering varies most rapidly in the dimension along the cylinder axis and most slowly in the radial direction. @@ -236,8 +237,8 @@ assigned to the atom. ---------- The *type* style uses the atom type as the chunk ID. *Nchunk* is set -to the number of atom types defined for the simulation, e.g. via the -:doc:`create_box ` or :doc:`read_data ` commands. +to the number of atom types defined for the simulation (e.g., via the +:doc:`create_box ` or :doc:`read_data ` commands). ---------- @@ -264,8 +265,8 @@ on a quantity calculated and stored by a compute, fix, or variable. In each case, it must be a per-atom quantity. In each case the referenced floating point values are converted to an integer chunk ID as follows. The floating point value is truncated (rounded down) to -an integer value. If the integer value is <= 0, then a chunk ID of 0 -is assigned to the atom. If the integer value is > 0, it becomes the +an integer value. If the integer value is :math:`\le 0`, then a chunk ID of 0 +is assigned to the atom. If the integer value is :math:`> 0`, it becomes the chunk ID to the atom. *Nchunk* is set to the largest chunk ID. Note that this excludes atoms which are not in the specified group or optional region. @@ -362,7 +363,7 @@ If *limit* is set to *Nc* = 0, then no limit is imposed on *Nchunk*, though the *compress* keyword can still be used to reduce *Nchunk*, as described below. -If *Nc* > 0, then the effect of the *limit* keyword depends on whether +If *Nc* :math:`>` 0, then the effect of the *limit* keyword depends on whether the *compress* keyword is also used with a setting of *yes*, and whether the *compress* keyword is specified before the *limit* keyword or after. @@ -374,7 +375,7 @@ First, here is what occurs if *compress yes* is not set. If *limit* is set to *Nc max*, then *Nchunk* is reset to the smaller of *Nchunk* and *Nc*\ . If *limit* is set to *Nc exact*, then *Nchunk* is reset to *Nc*, whether the original *Nchunk* was larger or smaller than *Nc*\ . -If *Nchunk* shrank due to the *limit* setting, then atom chunk IDs > +If *Nchunk* shrank due to the *limit* setting, then atom chunk IDs :math:`>` *Nchunk* will be reset to 0 or *Nchunk*, depending on the setting of the *discard* keyword. If *Nchunk* grew, there will simply be some chunks with no atoms assigned to them. @@ -384,22 +385,22 @@ If *compress yes* is set, and the *compress* keyword comes before the described below, which resets *Nchunk*\ . The *limit* keyword is then applied to the new *Nchunk* value, exactly as described in the preceding paragraph. Note that in this case, all atoms will end up -with chunk IDs <= *Nc*, but their original values (e.g. molecule ID or -compute/fix/variable) may have been > *Nc*, because of the compression -operation. +with chunk IDs :math:`\le` *Nc*, but their original values (e.g., molecule ID +or compute/fix/variable) may have been :math:`>` *Nc*, because of the +compression operation. If *compress yes* is set, and the *compress* keyword comes after the *limit* keyword, then the *limit* value of *Nc* is applied first to -the uncompressed value of *Nchunk*, but only if *Nc* < *Nchunk* +the uncompressed value of *Nchunk*, but only if *Nc* :math:`<` *Nchunk* (whether *Nc max* or *Nc exact* is used). This effectively means all -atoms with chunk IDs > *Nc* have their chunk IDs reset to 0 or *Nc*, +atoms with chunk IDs :math:`>` *Nc* have their chunk IDs reset to 0 or *Nc*, depending on the setting of the *discard* keyword. The compression operation is then performed, which may shrink *Nchunk* further. If -the new *Nchunk* < *Nc* and *limit* = *Nc exact* is specified, then +the new *Nchunk* :math:`<` *Nc* and *limit* = *Nc exact* is specified, then *Nchunk* is reset to *Nc*, which results in extra chunks with no atoms assigned to them. Note that in this case, all atoms will end up with -chunk IDs <= *Nc*, and their original values (e.g. molecule ID or -compute/fix/variable value) will also have been <= *Nc*\ . +chunk IDs :math:`\le` *Nc*, and their original values (e.g., molecule ID or +compute/fix/variable value) will also have been :math:`\le` *Nc*\ . ---------- @@ -601,7 +602,7 @@ be used. For non-orthogonal (triclinic) simulation boxes, only the *reduced* option may be used. A *box* value selects standard distance units as defined by the -:doc:`units ` command, e.g. Angstroms for units = real or metal. +:doc:`units ` command (e.g., Ångströms for units = *real* or *metal*). A *lattice* value means the distance units are in lattice spacings. The :doc:`lattice ` command must have been previously used to define the lattice spacing. A *reduced* value means normalized @@ -615,8 +616,8 @@ scaled by the lattice spacing or reduced value of the *x* dimension. Note that for the *bin/cylinder* style, the radii *crmin* and *crmax* are scaled by the lattice spacing or reduced value of the first -dimension perpendicular to the cylinder axis. E.g. y for an x-axis -cylinder, x for a y-axis cylinder, and x for a z-axis cylinder. +dimension perpendicular to the cylinder axis (e.g., *y* for an *x*-axis +cylinder, *x* for a *y*-axis cylinder, and *x* for a *z*-axis cylinder). ---------- diff --git a/doc/src/compute_chunk_spread_atom.rst b/doc/src/compute_chunk_spread_atom.rst index 1fd260ab2c..dc80ad9ea9 100644 --- a/doc/src/compute_chunk_spread_atom.rst +++ b/doc/src/compute_chunk_spread_atom.rst @@ -6,7 +6,7 @@ compute chunk/spread/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID chunk/spread/atom chunkID input1 input2 ... @@ -18,10 +18,10 @@ Syntax .. parsed-literal:: - c_ID = global vector calculated by a compute with ID - c_ID[I] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) - f_ID = global vector calculated by a fix with ID - f_ID[I] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) + c_ID = global vector calculated by a compute with ID + c_ID[I] = Ith column of global array calculated by a compute with ID, I can include wildcard (see below) + f_ID = global vector calculated by a fix with ID + f_ID[I] = Ith column of global array calculated by a fix with ID, I can include wildcard (see below) Examples """""""" diff --git a/doc/src/compute_cluster_atom.rst b/doc/src/compute_cluster_atom.rst index 32954480cc..2c20ffdd28 100644 --- a/doc/src/compute_cluster_atom.rst +++ b/doc/src/compute_cluster_atom.rst @@ -14,7 +14,7 @@ compute aggregate/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID cluster/atom cutoff compute ID group-ID fragment/atom keyword value ... diff --git a/doc/src/compute_cna_atom.rst b/doc/src/compute_cna_atom.rst index 756a9d932c..144a09d467 100644 --- a/doc/src/compute_cna_atom.rst +++ b/doc/src/compute_cna_atom.rst @@ -6,7 +6,7 @@ compute cna/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID cna/atom cutoff @@ -44,20 +44,22 @@ performed on mono-component systems. The CNA calculation can be sensitive to the specified cutoff value. You should insure the appropriate nearest neighbors of an atom are -found within the cutoff distance for the presumed crystal structure. -E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest -neighbors for perfect BCC crystals. These formulas can be used to +found within the cutoff distance for the presumed crystal structure +(e.g., 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest +neighbors for perfect BCC crystals). These formulas can be used to obtain a good cutoff distance: .. math:: - r_{c}^{fcc} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ - r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ - r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} + r_{c}^{\mathrm{fcc}} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) a + \approx 0.8536 a \\ + r_{c}^{\mathrm{bcc}} = & \frac{1}{2}(\sqrt{2} + 1) a + \approx 1.207 a \\ + r_{c}^{\mathrm{hcp}} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) a -where a is the lattice constant for the crystal structure concerned -and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a -for HCP crystals. +where :math:`a` is the lattice constant for the crystal structure concerned +and in the HCP case, :math:`x = (c/a) / 1.633`, where 1.633 is the ideal +:math:`c/a` for HCP crystals. Also note that since the CNA calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the diff --git a/doc/src/compute_cnp_atom.rst b/doc/src/compute_cnp_atom.rst index 59c45107b3..41fdb8324e 100644 --- a/doc/src/compute_cnp_atom.rst +++ b/doc/src/compute_cnp_atom.rst @@ -6,7 +6,7 @@ compute cnp/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID cnp/atom cutoff @@ -28,7 +28,7 @@ Define a computation that calculates the Common Neighborhood Parameter (CNP) for each atom in the group. In solid-state systems the CNP is a useful measure of the local crystal structure around an atom and can be used to characterize whether the -atom is part of a perfect lattice, a local defect (e.g. a dislocation +atom is part of a perfect lattice, a local defect (e.g., a dislocation or stacking fault), or at a surface. The value of the CNP parameter will be 0.0 for atoms not in the @@ -40,7 +40,7 @@ This parameter is computed using the following formula from .. math:: - Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} \left | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} \right | ^{2} + Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} \left\lVert \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} \right\rVert^{2} where the index *j* goes over the :math:`n_i` nearest neighbors of atom *i*, and the index *k* goes over the :math:`n_{ij}` common nearest neighbors @@ -58,13 +58,15 @@ obtain a good cutoff distance: .. math:: - r_{c}^{fcc} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ - r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ - r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} + r_{c}^{\mathrm{fcc}} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) a + \approx 0.8536 a \\ + r_{c}^{\mathrm{bcc}} = & \frac{1}{2}(\sqrt{2} + 1) a + \approx 1.207 a \\ + r_{c}^{\mathrm{hcp}} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) a -where a is the lattice constant for the crystal structure concerned -and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a -for HCP crystals. +where :math:`a` is the lattice constant for the crystal structure concerned +and in the HCP case, :math:`x = (c/a) / 1.633`, where 1.633 is the ideal +:math:`c/a` for HCP crystals. Also note that since the CNP calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the @@ -81,7 +83,7 @@ cutoff is the argument used with the compute cnp/atom command. LAMMPS will issue a warning if this is not the case. The neighbor list needed to compute this quantity is constructed each -time the calculation is performed (e.g. each time a snapshot of atoms +time the calculation is performed (e.g., each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each with a *cnp/atom* style. @@ -103,9 +105,9 @@ values: BCC lattice = 0.0 HCP lattice = 4.4 - FCC (111) surface ~ 13.0 - FCC (100) surface ~ 26.5 - FCC dislocation core ~ 11 + FCC (111) surface = 13.0 + FCC (100) surface = 26.5 + FCC dislocation core = 11 Restrictions """""""""""" diff --git a/doc/src/compute_com.rst b/doc/src/compute_com.rst index 203eaaf687..cb5782efec 100644 --- a/doc/src/compute_com.rst +++ b/doc/src/compute_com.rst @@ -6,7 +6,7 @@ compute com command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID com @@ -28,7 +28,7 @@ of atoms, including all effects due to atoms passing through periodic boundaries. A vector of three quantities is calculated by this compute, which -are the x,y,z coordinates of the center of mass. +are the :math:`(x,y,z)` coordinates of the center of mass. .. note:: @@ -44,11 +44,11 @@ Output info """"""""""" This compute calculates a global vector of length 3, which can be -accessed by indices 1-3 by any command that uses global vector values +accessed by indices 1--3 by any command that uses global vector values from a compute as input. See the :doc:`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 `. Restrictions diff --git a/doc/src/compute_stress_atom.rst b/doc/src/compute_stress_atom.rst index 2c8be0c05a..08f7e3032e 100644 --- a/doc/src/compute_stress_atom.rst +++ b/doc/src/compute_stress_atom.rst @@ -10,7 +10,7 @@ compute centroid/stress/atom command Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS compute ID group-ID style temp-ID keyword ... diff --git a/doc/src/dihedral_style.rst b/doc/src/dihedral_style.rst index f037d95226..3fe88c0afe 100644 --- a/doc/src/dihedral_style.rst +++ b/doc/src/dihedral_style.rst @@ -10,7 +10,7 @@ Syntax dihedral_style style -* style = *none* or *hybrid* or *charmm* or *class2* or *harmonic* or *helix* or *multi/harmonic* or *opls* +* style = *none* or *zero* or *hybrid* or *charmm* or *charmmfsw* or *class2* or *osine/shift/exp* or *fourier* or *harmonic* or *helix* or *multi/harmonic* or *nharmonic* or *opls* or *spherical* or *table* or *table/cut* Examples """"""""