Commit bd4d5bdc authored by sjplimp's avatar sjplimp
Browse files

git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@16040 f3b2605a-c512-4ea7-a41b-209d697bcdaa
parent e0d0ef12
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1091,7 +1091,7 @@ package"_Section_start.html#start_3.


"harmonic/shift (o)"_bond_harmonic_shift.html,
"harmonic/shift (o)"_bond_harmonic_shift.html,
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
"harmonic/shift/cut (o)"_bond_harmonic_shift_cut.html,
"oxdna/fene (o)"_bond_oxdna_fene.html :tb(c=4,ea=c)
"oxdna/fene"_bond_oxdna_fene.html :tb(c=4,ea=c)


:line
:line


+57 −46
Original line number Original line Diff line number Diff line
@@ -12,19 +12,16 @@ compute coord/atom command :h3


compute ID group-ID coord/atom cstyle args ... :pre
compute ID group-ID coord/atom cstyle args ... :pre


ID, group-ID are documented in "compute"_compute.html command
ID, group-ID are documented in "compute"_compute.html command :ulb,l
coord/atom = style name of this compute command
coord/atom = style name of this compute command :l
one cstyle must be appended :ul
cstyle = {cutoff} or {orientorder} :l

cstyle = {cutoff} or {orientorder}

  {cutoff} args = cutoff typeN
  {cutoff} args = cutoff typeN
    cutoff = distance within which to count coordination neighbors (distance units)
    cutoff = distance within which to count coordination neighbors (distance units)
  typeN = atom type for Nth coordination count (see asterisk form below) :pre
    typeN = atom type for Nth coordination count (see asterisk form below)

  {orientorder} args = orientorderID threshold
  {orientorder} args = orientorderID threshold
  orientorderID = ID of a previously defined orientorder/atom compute
    orientorderID = ID of an orientorder/atom compute
  threshold = minimum value of the scalar product between two 'connected' atoms (see text for explanation) :pre
    threshold = minimum value of the product of two "connected" atoms :pre
:ule


[Examples:]
[Examples:]


@@ -35,21 +32,21 @@ compute 1 all coord/atom orientorder 2 0.5 :pre


[Description:]
[Description:]


This compute performs generic calculations between neighboring atoms. So far,
This compute performs calculations between neighboring atoms to
there are two cstyles implemented: {cutoff} and {orientorder}.
determine a coordination value.  The specific calculation and the
The {cutoff} cstyle calculates one or more coordination numbers
meaning of the resulting value depend on the {cstyle} keyword used.
for each atom in a group.


A coordination number is defined as the number of neighbor atoms with
The {cutoff} cstyle calculates one or more traditional coordination
specified atom type(s) that are within the specified cutoff distance
numbers for each atom.  A coordination number is defined as the number
from the central atom.  Atoms not in the group are included in a
of neighbor atoms with specified atom type(s) that are within the
coordination number of atoms in the group.
specified cutoff distance from the central atom.  Atoms not in the
specified group are included in the coordination number tally.


The {typeN} keywords allow you to specify which atom types contribute
The {typeN} keywords allow specification of which atom types
to each coordination number.  One coordination number is computed for
contribute to each coordination number.  One coordination number is
each of the {typeN} keywords listed.  If no {typeN} keywords are
computed for each of the {typeN} keywords listed.  If no {typeN}
listed, a single coordination number is calculated, which includes
keywords are listed, a single coordination number is calculated, which
atoms of all types (same as the "*" format, see below).
includes atoms of all types (same as the "*" format, see below).


The {typeN} keywords can be specified in one of two ways.  An explicit
The {typeN} keywords can be specified in one of two ways.  An explicit
numeric value can be used, as in the 2nd example above.  Or a
numeric value can be used, as in the 2nd example above.  Or a
@@ -61,16 +58,27 @@ from 1 to N. A leading asterisk means all types from 1 to n
(inclusive).  A middle asterisk means all types from m to n
(inclusive).  A middle asterisk means all types from m to n
(inclusive).
(inclusive).


The {orientorder} cstyle calculates the number of 'connected' atoms j 
The {orientorder} cstyle calculates the number of "connected" neighbor
around each atom i. The atom j is connected to i if the scalar product
atoms J around each central atom I.  For this {cstyle}, connected is
({Ybar_lm(i)},{Ybar_lm(j)}) is larger than {threshold}. Thus, this cstyle
defined by the orientational order parameter calculated by the
will work only if a "compute orientorder/atom"_compute_orientorder_atom.html
"compute orientorder/atom"_compute_orientorder_atom.html command.
has been previously defined. This cstyle allows one to apply the 
This {cstyle} thus allows one to apply the ten Wolde's criterion to
ten Wolde's criterion to identify cristal-like atoms in a system 
identify crystal-like atoms in a system, as discussed in "ten
(see "ten Wolde et al."_#tenWolde).
Wolde"_#tenWolde.


The value of all coordination numbers will be 0.0 for atoms not in the
The ID of the previously specified "compute
specified compute group.
orientorder/atom"_compute_orientorder/atom command is specified as
{orientorderID}.  The compute must invoke its {components} option to
calculate components of the {Ybar_lm} vector for each atoms, as
described in its documenation.  Note that orientorder/atom compute
defines its own criteria for identifying neighboring atoms.  If the
scalar product ({Ybar_lm(i)},{Ybar_lm(j)}), calculated by the
orientorder/atom compute is larger than the specified {threshold},
then I and J are connected, and the coordination value of I is
incremented by one.

For all {cstyle} settings, all coordination values will be 0.0 for
atoms not in the specified compute group.


The neighbor list needed to compute this quantity is constructed each
The neighbor list needed to compute this quantity is constructed each
time the calculation is performed (i.e. each time a snapshot of atoms
time the calculation is performed (i.e. each time a snapshot of atoms
@@ -92,21 +100,23 @@ the neighbor list.


[Output info:]
[Output info:]


If single {type1} keyword is specified (or if none are specified),
For {cstyle} cutoff, this compute can calculate a per-atom vector or
this compute calculates a per-atom vector.  If multiple {typeN}
array.  If single {type1} keyword is specified (or if none are
keywords are specified, this compute calculates a per-atom array, with
specified), this compute calculates a per-atom vector.  If multiple
N columns.  These values can be accessed by any command that uses
{typeN} keywords are specified, this compute calculates a per-atom
per-atom values from a compute as input.  See "Section
array, with N columns.

For {cstyle} orientorder, this compute calculates a per-atom vector.

These values can be accessed by any command that uses per-atom values
from a compute as input.  See "Section
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
6.15"_Section_howto.html#howto_15 for an overview of LAMMPS output
options.
options.


The per-atom vector or array values will be a number >= 0.0, as
The per-atom vector or array values will be a number >= 0.0, as
explained above.
explained above.


[Restrictions:]
[Restrictions:] none
The cstyle {orientorder} can only be used if a 
"compute orientorder/atom"_compute_orientorder_atom.html command
was previously defined. Otherwise, an error message will be issued.


[Related commands:]
[Related commands:]


@@ -118,4 +128,5 @@ was previously defined. Otherwise, an error message will be issued.
:line
:line


:link(tenWolde)
:link(tenWolde)
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996).
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
J. Chem. Phys. 104, 9932 (1996).
+35 −27
Original line number Original line Diff line number Diff line
@@ -19,7 +19,7 @@ keyword = {cutoff} or {nnn} or {degrees} or {components}
  {cutoff} value = distance cutoff
  {cutoff} value = distance cutoff
  {nnn} value = number of nearest neighbors
  {nnn} value = number of nearest neighbors
  {degrees} values = nlvalues, l1, l2,...
  {degrees} values = nlvalues, l1, l2,...
  {components} value = l  :pre
  {components} value = ldegree  :pre


:ule
:ule


@@ -64,21 +64,21 @@ specified distance cutoff are used.
The optional keyword {degrees} defines the list of order parameters to
The optional keyword {degrees} defines the list of order parameters to
be computed.  The first argument {nlvalues} is the number of order
be computed.  The first argument {nlvalues} is the number of order
parameters. This is followed by that number of integers giving the
parameters. This is followed by that number of integers giving the
degree of each order parameter. Because {Q}2 and all odd-degree
degree of each order parameter. Because {Q}2 and all odd-degree order
order parameters are zero for atoms in cubic crystals
parameters are zero for atoms in cubic crystals (see
(see "Steinhardt"_#Steinhardt), the default order parameters
"Steinhardt"_#Steinhardt), the default order parameters are {Q}4,
are {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12. For the
{Q}6, {Q}8, {Q}10, and {Q}12. For the FCC crystal with {nnn}=12, {Q}4
FCC crystal with {nnn}=12, {Q}4 = sqrt(7/3)/8 = 0.19094....
= sqrt(7/3)/8 = 0.19094....  The numerical values of all order
The numerical values of all order parameters up to {Q}12
parameters up to {Q}12 for a range of commonly encountered
for a range of commonly encountered high-symmetry structures are given
high-symmetry structures are given in Table I of "Mickel et
in Table I of "Mickel et al."_#Mickel.
al."_#Mickel.


The optional keyword {components} will output the components of
The optional keyword {components} will output the components of the
the normalized complex vector {Ybar_lm} of degree {l}, which must be
normalized complex vector {Ybar_lm} of degree {ldegree}, which must be
explicitly included in the keyword {degrees}. This option can be used
explicitly included in the keyword {degrees}. This option can be used
in conjunction with "compute coord_atom"_compute_coord_atom.html to
in conjunction with "compute coord_atom"_compute_coord_atom.html to
calculate the ten Wolde's criterion to identify crystal-like particles
calculate the ten Wolde's criterion to identify crystal-like
(see "ten Wolde et al."_#tenWolde96).
particles, as discussed in "ten Wolde"_#tenWolde.


The value of {Ql} is set to zero for atoms not in the
The value of {Ql} is set to zero for atoms not in the
specified compute group, as well as for atoms that have less than
specified compute group, as well as for atoms that have less than
@@ -104,14 +104,16 @@ the neighbor list.


[Output info:]
[Output info:]


This compute calculates a per-atom array with {nlvalues} columns, giving the
This compute calculates a per-atom array with {nlvalues} columns,
{Ql} values for each atom, which are real numbers on the range 0 <= {Ql} <= 1.
giving the {Ql} values for each atom, which are real numbers on the
range 0 <= {Ql} <= 1.


If the keyword {components} is set, then the real and imaginary parts of each
If the keyword {components} is set, then the real and imaginary parts
component of (normalized) {Ybar_lm} will be added to the output array in the
of each component of (normalized) {Ybar_lm} will be added to the
following order:
output array in the following order: Re({Ybar_-m}) Im({Ybar_-m})
Re({Ybar_-m}) Im({Ybar_-m}) Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}).
Re({Ybar_-m+1}) Im({Ybar_-m+1}) ... Re({Ybar_m}) Im({Ybar_m}).  This
This way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1) columns.
way, the per-atom array will have a total of {nlvalues}+2*(2{l}+1)
columns.


These values can be accessed by any command that uses
These values can be accessed by any command that uses
per-atom values from a compute as input.  See "Section
per-atom values from a compute as input.  See "Section
@@ -122,19 +124,25 @@ options.


[Related commands:]
[Related commands:]


"compute coord/atom"_compute_coord_atom.html, "compute centro/atom"_compute_centro_atom.html, "compute hexorder/atom"_compute_hexorder_atom.html
"compute coord/atom"_compute_coord_atom.html, "compute
centro/atom"_compute_centro_atom.html, "compute
hexorder/atom"_compute_hexorder_atom.html


[Default:]
[Default:]


The option defaults are {cutoff} = pair style cutoff, {nnn} = 12, {degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.
The option defaults are {cutoff} = pair style cutoff, {nnn} = 12,
{degrees} = 5 4 6 8 10 12 i.e. {Q}4, {Q}6, {Q}8, {Q}10, and {Q}12.


:line
:line


:link(Steinhardt)
:link(Steinhardt)
[(Steinhardt)] P. Steinhardt, D. Nelson, and M. Ronchetti, Phys. Rev. B 28, 784 (1983).
[(Steinhardt)] P. Steinhardt, D. Nelson, and M. Ronchetti,
Phys. Rev. B 28, 784 (1983).


:link(Mickel)
:link(Mickel)
[(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke, J. Chem. Phys. 138, 044501 (2013).
[(Mickel)] W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke,
J. Chem. Phys. 138, 044501 (2013).


:link(tenWolde96)
:link(tenWolde)
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996).
[(tenWolde)] P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
J. Chem. Phys. 104, 9932 (1996).