diff --git a/doc/compute_centro_atom.html b/doc/compute_centro_atom.html index 3571f19d70..49b3b449f4 100644 --- a/doc/compute_centro_atom.html +++ b/doc/compute_centro_atom.html @@ -26,7 +26,11 @@
Define a computation that calculates the centro-symmetry parameter for each atom in a group. This can be output via the dump -custom command. +custom command. In solid state systems the centro-symmetry +parameter is a useful measure of the local lattice disorder 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 or stacking +fault), or at a surface.
This parameter is computed using the following formula from (Kelchner) @@ -35,10 +39,8 @@ custom command.
where the 12 nearest neighbors are found and Ri and Ri+6 are the vectors from the central atom to the opposite pair of nearest -neighbors. In solid state systems this is a useful measure of the -local lattice disorder 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 or stacking fault), or at a surface. +neighbors. Atoms not in the group are included in the 12 neighbors +used in this calculation.
The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms diff --git a/doc/compute_centro_atom.txt b/doc/compute_centro_atom.txt index ef1dddce5e..d60c1541f7 100644 --- a/doc/compute_centro_atom.txt +++ b/doc/compute_centro_atom.txt @@ -23,7 +23,11 @@ compute 1 all centro/atom :pre Define a computation that calculates the centro-symmetry parameter for each atom in a group. This can be output via the "dump -custom"_dump.html command. +custom"_dump.html command. In solid state systems the centro-symmetry +parameter is a useful measure of the local lattice disorder 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 or stacking +fault), or at a surface. This parameter is computed using the following formula from "(Kelchner)"_#Kelchner @@ -32,10 +36,8 @@ This parameter is computed using the following formula from where the 12 nearest neighbors are found and Ri and Ri+6 are the vectors from the central atom to the opposite pair of nearest -neighbors. In solid state systems this is a useful measure of the -local lattice disorder 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 or stacking fault), or at a surface. +neighbors. Atoms not in the group are included in the 12 neighbors +used in this calculation. The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms diff --git a/doc/compute_coord_atom.html b/doc/compute_coord_atom.html index 15792e5654..d165447f53 100644 --- a/doc/compute_coord_atom.html +++ b/doc/compute_coord_atom.html @@ -30,7 +30,9 @@ atom in a group. This can be output via the dump custom command.
The coordination number is defined as the number of neighbor atoms -within the specified cutoff distance from the central atom. +within the specified cutoff distance from the central atom. Atoms not +in the group are included in the coordination number of atoms in the +group.
The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms diff --git a/doc/compute_coord_atom.txt b/doc/compute_coord_atom.txt index 5c90c4fb04..54e1a8d640 100644 --- a/doc/compute_coord_atom.txt +++ b/doc/compute_coord_atom.txt @@ -27,7 +27,9 @@ atom in a group. This can be output via the "dump custom"_dump.html command. The coordination number is defined as the number of neighbor atoms -within the specified cutoff distance from the central atom. +within the specified cutoff distance from the central atom. Atoms not +in the group are included in the coordination number of atoms in the +group. The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e. each time a snapshot of atoms diff --git a/doc/compute_ebond_atom.html b/doc/compute_ebond_atom.html new file mode 100644 index 0000000000..f07772f612 --- /dev/null +++ b/doc/compute_ebond_atom.html @@ -0,0 +1,52 @@ + +
Syntax: +
+compute ID group-ID ebond/atom ++
Examples: +
+compute 1 all ebond/atom ++
Description: +
+Define a computation that computes the per-atom bond energy for each +atom in a group. This can be output via the dump custom +command. +
+The bond energy for each atom is computed by looping over its +neighbors and computing the energy associated with the defined +pair_style command for each IJ pair (divided by 2). +Thus the sum of per-atom energy for all atoms should give the total +pairwise energy of the system. +
+If two atoms are bonded and only one of them is in the compute group, +the energy of the bond is included in the per-atom energy of the atom +in the group. +
+Computation of per-atom bond energy requires a loop thru the bond list +and inter-processor communication, so it can be inefficient to +compute/dump this quantity too frequently or to have multiple +compute/dump commands, each of a ebond/atom style. +
+Restrictions: none +
+Related commands: none +
+Default: none +
+ diff --git a/doc/compute_ebond_atom.txt b/doc/compute_ebond_atom.txt new file mode 100644 index 0000000000..728d967aad --- /dev/null +++ b/doc/compute_ebond_atom.txt @@ -0,0 +1,47 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +compute ebond/atom command :h3 + +[Syntax:] + +compute ID group-ID ebond/atom :pre + +ID, group-ID are documented in "compute"_compute.html command +ebond/atom = style name of this compute command :ul + +[Examples:] + +compute 1 all ebond/atom :pre + +[Description:] + +Define a computation that computes the per-atom bond energy for each +atom in a group. This can be output via the "dump custom"_dump.html +command. + +The bond energy for each atom is computed by looping over its +neighbors and computing the energy associated with the defined +"pair_style"_pair_style.html command for each IJ pair (divided by 2). +Thus the sum of per-atom energy for all atoms should give the total +pairwise energy of the system. + +If two atoms are bonded and only one of them is in the compute group, +the energy of the bond is included in the per-atom energy of the atom +in the group. + +Computation of per-atom bond energy requires a loop thru the bond list +and inter-processor communication, so it can be inefficient to +compute/dump this quantity too frequently or to have multiple +compute/dump commands, each of a {ebond/atom} style. + +[Restrictions:] none + +[Related commands:] none + +[Default:] none diff --git a/doc/compute_epair_atom.html b/doc/compute_epair_atom.html index 7197554ef3..39a09adb13 100644 --- a/doc/compute_epair_atom.html +++ b/doc/compute_epair_atom.html @@ -30,20 +30,27 @@ custom command.The pairwise energy for each atom is computed by looping over its neighbors and computing the energy associated with the defined -pair_style command for each IJ pair (divided by 2). +pair_style command for each I,J pair (divided by 2). Thus the sum of per-atom energy for all atoms should give the total pairwise energy of the system.
+If two atoms interact and only one of them is in the compute group, +the energy of the pairwise interaction is included in the per-atom +energy of the atom in the group. +
For force fields that include a contribution to the pairwise energy that is computed as part of dihedral terms (i.e. 1-4 interactions), -this contribution is not included in the per-atom pairwise energy. +this contribution is NOT included in the per-atom pairwise energy.
Computation of per-atom pairwise energy requires a loop thru the neighbor list and inter-processor communication, so it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of a epair/atom style.
-Restrictions: none +
Restrictions: +
+Some pair potentials do not allow the calculation of per-atom energy +via this command. An error will be generated if this is the case.
Related commands: none
diff --git a/doc/compute_epair_atom.txt b/doc/compute_epair_atom.txt index f970e2c703..31c6114bd6 100644 --- a/doc/compute_epair_atom.txt +++ b/doc/compute_epair_atom.txt @@ -27,20 +27,27 @@ custom"_dump.html command. The pairwise energy for each atom is computed by looping over its neighbors and computing the energy associated with the defined -"pair_style"_pair_style.html command for each IJ pair (divided by 2). +"pair_style"_pair_style.html command for each I,J pair (divided by 2). Thus the sum of per-atom energy for all atoms should give the total pairwise energy of the system. +If two atoms interact and only one of them is in the compute group, +the energy of the pairwise interaction is included in the per-atom +energy of the atom in the group. + For force fields that include a contribution to the pairwise energy that is computed as part of dihedral terms (i.e. 1-4 interactions), -this contribution is not included in the per-atom pairwise energy. +this contribution is NOT included in the per-atom pairwise energy. Computation of per-atom pairwise energy requires a loop thru the neighbor list and inter-processor communication, so it can be inefficient to compute/dump this quantity too frequently or to have multiple compute/dump commands, each of a {epair/atom} style. -[Restrictions:] none +[Restrictions:] + +Some pair potentials do not allow the calculation of per-atom energy +via this command. An error will be generated if this is the case. [Related commands:] none diff --git a/doc/compute_etotal_atom.html b/doc/compute_etotal_atom.html index d150d212a5..b21b357249 100644 --- a/doc/compute_etotal_atom.html +++ b/doc/compute_etotal_atom.html @@ -29,17 +29,27 @@ pairwise) for each atom in a group. This can be output via the dump custom command. +IMPORTANT NOTE: The per-atom total energy does NOT include +contributions due to bonds, angles, dihedrals, impropers that the atom +is part of, or a long-range Coulombic contribution. The bond +contribution can be computed separately via the compute +ebond/atom command. Currently, there is no +way in LAMMPS to calculate per-atom energy from angles, dihedrals, +improper, or long-range interactions. +
The kinetic energy for each atom is computed the same way as in the compute ke/atom command, namely as 1/2 m v^2.
-The pairwise energy is not calculated by this compute, but rather by -the epair/atom compute specified as the last -argument of the command. +
The pairwise energy for each atom is computed the same way as in the +compute epair/atom command. In fact, the +last argument to this command is the ID of the epair/atom compute that +performs this calculation.
-Note that the total energy per atom as defined here does not include -contributions due to bonds, angles, etc that the atom is part of. +
Restrictions:
-Restrictions: none +
Some pair potentials do not allow the calculation of per-atom energy +and via the auxiliary compute epair/atom +compute that is an argument to this command.
Related commands:
diff --git a/doc/compute_etotal_atom.txt b/doc/compute_etotal_atom.txt index 9fdcd6c678..8e96df39cb 100644 --- a/doc/compute_etotal_atom.txt +++ b/doc/compute_etotal_atom.txt @@ -26,17 +26,27 @@ Define a computation that computes the total energy (kinetic + pairwise) for each atom in a group. This can be output via the "dump custom"_dump.html command. +IMPORTANT NOTE: The per-atom total energy does NOT include +contributions due to bonds, angles, dihedrals, impropers that the atom +is part of, or a long-range Coulombic contribution. The bond +contribution can be computed separately via the "compute +ebond/atom"_compute_ebond_atom.html command. Currently, there is no +way in LAMMPS to calculate per-atom energy from angles, dihedrals, +improper, or long-range interactions. + The kinetic energy for each atom is computed the same way as in the "compute ke/atom"_compute_ke_atom.html command, namely as 1/2 m v^2. -The pairwise energy is not calculated by this compute, but rather by -the "epair/atom compute"_compute_epair_atom.html specified as the last -argument of the command. +The pairwise energy for each atom is computed the same way as in the +"compute epair/atom"_compute_epair_atom.html command. In fact, the +last argument to this command is the ID of the epair/atom compute that +performs this calculation. -Note that the total energy per atom as defined here does not include -contributions due to bonds, angles, etc that the atom is part of. +[Restrictions:] -[Restrictions:] none +Some pair potentials do not allow the calculation of per-atom energy +and via the auxiliary "compute epair/atom"_compute_epair_atom.html +compute that is an argument to this command. [Related commands:] diff --git a/doc/compute_stress_atom.html b/doc/compute_stress_atom.html index 1234549657..1e95ecd697 100644 --- a/doc/compute_stress_atom.html +++ b/doc/compute_stress_atom.html @@ -13,52 +13,94 @@Syntax:
-compute ID group-ID stress/atom +compute ID group-ID stress/atom keyword value ...-
ke arg = yes or no + yes/no = include/exclude kinetic energy contribution to stress + pair arg = yes or no + yes/no = include/exclude pairwise energy contribution to stress + bond arg = yes or no + yes/no = include/exclude bond energy contribution to stress ++
Examples:
compute 1 mobile stress/atom+
compute 1 all stress/atom ke no +
Description:
Define a computation that computes the per-atom stress tensor for each atom in a group. The 6 components can be output via the dump custom command.
-The stress tensor is computed for only pairwise forces where the ab -component of stress on atom i is given by +
The stress tensor for each atom is the sum of 3 terms in the following +formula. Any of the terms can be excluded by setting the ke, +pair, or bond keywords to no. The ab component of stress on +atom I is as follows, where a and b take on values x,y,z to +generate the 6 components of the symmetric tensor:
where the first term is a kinetic energy component for atom i, j -loops over the N neighbors of atom i, and Fb is one of 3 -components of force on atom i due to atom j. Both a and b -take on values x,y,z to generate the 6 components of the symmetric -tensor. +
The first term is a kinetic energy contribution for atom I. The +second term is a pairwise energy contribution where J loops over the +Np neighbors of atom I, and Fp is one of 3 components of force +on atom I due to the pairwise interaction with atom J. The third +term is a bond energy contribution where J loops over the Nb bonds +which atom I is part of, and Fb is one of 3 components of force on +atom I due to the bonded interaction with atom J.
-Note that this formula for stress does not include virial -contributions from intra-molecular interactions (e.g. bonds, angles, -torsions, etc). Also note that this quantity is the negative of the +
If two atoms interact, either pairwise or in a bond, and only one of +them is in the compute group, the interaction is included in the +per-atom stress of the atom in the group. +
+For force fields that include a contribution to the pairwise +interaction that is computed as part of dihedral terms (i.e. 1-4 +interactions), this contribution is NOT included in the per-atom +pairwise stress. +
+IMPORTANT NOTE: The per-atom stress does NOT include contributions due +to angles, dihedrals, impropers that the atom is part of, or a +long-range Coulombic contribution. Currently, there is no way in +LAMMPS to calculate per-atom stress from angles, dihedrals, improper, +or long-range interactions. +
+Note that as defined above, per-atom stress is the negative of the per-atom pressure tensor. It is also really a stress-volume formulation. It would need to be divided by a per-atom volume to have units of stress, but an individual atom's volume is not easy to compute in a deformed solid. Thus, if you sum the diagonal components of the per-atom stress tensor for all atoms in the system and divide the sum by 3V, where V is the volume of the system, you should get -P, -where P is the total pressure of the system. +where P is the total pressure of the system (assuming there is no +angle, dihedral, improper, or long-range contribution to the total +pressure).
Computation of per-atom stress tensor components requires a loop thru -the neighbor list and inter-processor communication, so it can be -inefficient to compute/dump this quantity too frequently or to have -multiple compute/dump commands, each of a stress/atom style. +the pairwise and bond neighbor lists and inter-processor +communication, so it can be inefficient to compute/dump this quantity +too frequently or to have multiple compute/dump commands, each of a +stress/atom style.
-Restrictions: none +
Restrictions: +
+Some pair potentials do not allow the calculation of per-atom stress +via this command. An error will be generated if this is the case.
Related commands: none
-Default: none +
Default: +
+The option defaults are ke = yes, pair = yes, bond = yes.