git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@708 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2007-07-02 19:59:42 +00:00
parent 884cf474f1
commit 86e1488387
12 changed files with 286 additions and 67 deletions

View File

@ -26,7 +26,11 @@
</P>
<P>Define a computation that calculates the centro-symmetry parameter for
each atom in a group. This can be output via the <A HREF = "dump.html">dump
custom</A> command.
custom</A> 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.
</P>
<P>This parameter is computed using the following formula from
<A HREF = "#Kelchner">(Kelchner)</A>
@ -35,10 +39,8 @@ custom</A> command.
</CENTER>
<P>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.
</P>
<P>The neighbor list needed to compute this quantity is constructed each
time the calculation is performed (i.e. each time a snapshot of atoms

View File

@ -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

View File

@ -30,7 +30,9 @@ atom in a group. This can be output via the <A HREF = "dump.html">dump custom</
command.
</P>
<P>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.
</P>
<P>The neighbor list needed to compute this quantity is constructed each
time the calculation is performed (i.e. each time a snapshot of atoms

View File

@ -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

View File

@ -0,0 +1,52 @@
<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>compute ebond/atom command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>compute ID group-ID ebond/atom
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>ebond/atom = style name of this compute command
</UL>
<P><B>Examples:</B>
</P>
<PRE>compute 1 all ebond/atom
</PRE>
<P><B>Description:</B>
</P>
<P>Define a computation that computes the per-atom bond energy for each
atom in a group. This can be output via the <A HREF = "dump.html">dump custom</A>
command.
</P>
<P>The bond energy for each atom is computed by looping over its
neighbors and computing the energy associated with the defined
<A HREF = "pair_style.html">pair_style</A> 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.
</P>
<P>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.
</P>
<P>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 <I>ebond/atom</I> style.
</P>
<P><B>Restrictions:</B> none
</P>
<P><B>Related commands:</B> none
</P>
<P><B>Default:</B> none
</P>
</HTML>

View File

@ -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

View File

@ -30,20 +30,27 @@ custom</A> command.
</P>
<P>The pairwise energy for each atom is computed by looping over its
neighbors and computing the energy associated with the defined
<A HREF = "pair_style.html">pair_style</A> command for each IJ pair (divided by 2).
<A HREF = "pair_style.html">pair_style</A> 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.
</P>
<P>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.
</P>
<P>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.
</P>
<P>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 <I>epair/atom</I> style.
</P>
<P><B>Restrictions:</B> none
<P><B>Restrictions:</B>
</P>
<P>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.
</P>
<P><B>Related commands:</B> none
</P>

View File

@ -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

View File

@ -29,17 +29,27 @@
pairwise) for each atom in a group. This can be output via the <A HREF = "dump.html">dump
custom</A> command.
</P>
<P>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 <A HREF = "compute_ebond_atom.html">compute
ebond/atom</A> command. Currently, there is no
way in LAMMPS to calculate per-atom energy from angles, dihedrals,
improper, or long-range interactions.
</P>
<P>The kinetic energy for each atom is computed the same way as in the
<A HREF = "compute_ke_atom.html">compute ke/atom</A> command, namely as 1/2 m v^2.
</P>
<P>The pairwise energy is not calculated by this compute, but rather by
the <A HREF = "compute_epair_atom.html">epair/atom compute</A> specified as the last
argument of the command.
<P>The pairwise energy for each atom is computed the same way as in the
<A HREF = "compute_epair_atom.html">compute epair/atom</A> command. In fact, the
last argument to this command is the ID of the epair/atom compute that
performs this calculation.
</P>
<P>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.
<P><B>Restrictions:</B>
</P>
<P><B>Restrictions:</B> none
<P>Some pair potentials do not allow the calculation of per-atom energy
and via the auxiliary <A HREF = "compute_epair_atom.html">compute epair/atom</A>
compute that is an argument to this command.
</P>
<P><B>Related commands:</B>
</P>

View File

@ -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:]

View File

@ -13,52 +13,94 @@
</H3>
<P><B>Syntax:</B>
</P>
<PRE>compute ID group-ID stress/atom
<PRE>compute ID group-ID stress/atom keyword value ...
</PRE>
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<UL><LI>ID, group-ID are documented in <A HREF = "compute.html">compute</A> command
<LI>stress/atom = style name of this compute command
<LI>zero or more keyword/arg pairs may be appended
<LI>keyword = <I>ke</I> or <I>pair</I> or <I>bond</I>
<PRE> <I>ke</I> arg = <I>yes</I> or <I>no</I>
yes/no = include/exclude kinetic energy contribution to stress
<I>pair</I> arg = <I>yes</I> or <I>no</I>
yes/no = include/exclude pairwise energy contribution to stress
<I>bond</I> arg = <I>yes</I> or <I>no</I>
yes/no = include/exclude bond energy contribution to stress
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>compute 1 mobile stress/atom
</PRE>
<PRE>compute 1 all stress/atom ke no
</PRE>
<P><B>Description:</B>
</P>
<P>Define a computation that computes the per-atom stress tensor for each
atom in a group. The 6 components can be output via the <A HREF = "dump.html">dump
custom</A> command.
</P>
<P>The stress tensor is computed for only pairwise forces where the <I>ab</I>
component of stress on atom <I>i</I> is given by
<P>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 <I>ke</I>,
<I>pair</I>, or <I>bond</I> keywords to <I>no</I>. The ab component of stress on
atom <I>I</I> is as follows, where <I>a</I> and <I>b</I> take on values x,y,z to
generate the 6 components of the symmetric tensor:
</P>
<CENTER><IMG SRC = "Eqs/stress_tensor.jpg">
</CENTER>
<P>where the first term is a kinetic energy component for atom <I>i</I>, <I>j</I>
loops over the <I>N</I> neighbors of atom <I>i</I>, and <I>Fb</I> is one of 3
components of force on atom <I>i</I> due to atom <I>j</I>. Both <I>a</I> and <I>b</I>
take on values x,y,z to generate the 6 components of the symmetric
tensor.
<P>The first term is a kinetic energy contribution for atom <I>I</I>. The
second term is a pairwise energy contribution where <I>J</I> loops over the
<I>Np</I> neighbors of atom <I>I</I>, and <I>Fp</I> is one of 3 components of force
on atom <I>I</I> due to the pairwise interaction with atom <I>J</I>. The third
term is a bond energy contribution where <I>J</I> loops over the <I>Nb</I> bonds
which atom <I>I</I> is part of, and <I>Fb</I> is one of 3 components of force on
atom <I>I</I> due to the bonded interaction with atom <I>J</I>.
</P>
<P>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
<P>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.
</P>
<P>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.
</P>
<P>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.
</P>
<P>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).
</P>
<P>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 <I>stress/atom</I> 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
<I>stress/atom</I> style.
</P>
<P><B>Restrictions:</B> none
<P><B>Restrictions:</B>
</P>
<P>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.
</P>
<P><B>Related commands:</B> none
</P>
<P><B>Default:</B> none
<P><B>Default:</B>
</P>
<P>The option defaults are ke = yes, pair = yes, bond = yes.
</P>
</HTML>

View File

@ -10,14 +10,24 @@ compute stress/atom command :h3
[Syntax:]
compute ID group-ID stress/atom :pre
compute ID group-ID stress/atom keyword value ... :pre
ID, group-ID are documented in "compute"_compute.html command
stress/atom = style name of this compute command :ul
ID, group-ID are documented in "compute"_compute.html command :ulb,l
stress/atom = style name of this compute command :l
zero or more keyword/arg pairs may be appended :l
keyword = {ke} or {pair} or {bond} :l
{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 :pre
:ule
[Examples:]
compute 1 mobile stress/atom :pre
compute 1 all stress/atom ke no :pre
[Description:]
@ -25,35 +35,61 @@ 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"_dump.html 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:
:c,image(Eqs/stress_tensor.jpg)
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.