compute orientorder/atom command
Accelerator Variants: orientorder/atom/kk
Syntax
compute ID group-ID orientorder/atom keyword values ...
ID, group-ID are documented in compute command
orientorder/atom = style name of this compute command
one or more keyword/value pairs may be appended
keyword = cutoff or nnn or degrees or wl or wl/hat or components or chunksize cutoff value = distance cutoff nnn value = number of nearest neighbors degrees values = nlvalues, l1, l2,... wl value = yes or no wl/hat value = yes or no components value = ldegree chunksize value = number of atoms in each pass
Examples
compute 1 all orientorder/atom
compute 1 all orientorder/atom degrees 5 4 6 8 10 12 nnn NULL cutoff 1.5
compute 1 all orientorder/atom wl/hat yes
compute 1 all orientorder/atom components 6
Description
Define a computation that calculates a set of bond-orientational
order parameters
The first equation defines the local order parameters as averages
of the spherical harmonics
The optional keyword cutoff defines the distance cutoff used when searching for neighbors. The default value, also the maximum allowable value, is the cutoff specified by the pair style.
The optional keyword nnn defines the number of nearest
neighbors used to calculate
The optional keyword degrees defines the list of order parameters to
be computed. The first argument nlvalues is the number of order
parameters. This is followed by that number of non-negative integers giving the
degree of each order parameter. Because
The numerical values of all order
parameters up to
The optional keyword wl will output the third-order invariants
The optional keyword wl/hat will output the normalized third-order
invariants
The numerical values of
The optional keyword components will output the components of the
normalized complex vector
The optional keyword chunksize is only applicable when using the the KOKKOS package and is ignored otherwise. This keyword controls the number of atoms in each pass used to compute the bond-orientational order parameters and is used to avoid running out of memory. For example if there are 32768 atoms in the simulation and the chunksize is set to 16384, the parameter calculation will be broken up into two passes.
The value of
The neighbor list needed to compute this quantity is constructed each time the calculation is performed (i.e., each time a snapshot of atoms is dumped). Thus it can be inefficient to compute/dump this quantity too frequently.
Note
If you have a bonded system, then the settings of special_bonds command can remove pairwise interactions between atoms in the same bond, angle, or dihedral. This is the default setting for the special_bonds command, and means those pairwise interactions do not appear in the neighbor list. Because this fix uses the neighbor list, it also means those pairs will not be included in the order parameter. This difficulty can be circumvented by writing a dump file, and using the rerun command to compute the order parameter for snapshots in the dump file. The rerun script can use a special_bonds command that includes all pairs in the neighbor list.
Styles with a gpu, intel, kk, omp, or opt suffix are functionally the same as the corresponding style without the suffix. They have been optimized to run faster, depending on your available hardware, as discussed on the Accelerator packages page. The accelerated styles take the same arguments and should produce the same results, except for round-off and precision issues.
These accelerated styles are part of the GPU, INTEL, KOKKOS, OPENMP, and OPT packages, respectively. They are only enabled if LAMMPS was built with those packages. See the Build package page for more info.
You can specify the accelerated styles explicitly in your input script by including their suffix, or you can use the -suffix command-line switch when you invoke LAMMPS, or you can use the suffix command in your input script.
See the Accelerator packages page for more instructions on how to use the accelerated styles effectively.
Output info
This compute calculates a per-atom array with nlvalues columns,
giving the
If the keyword wl is set to yes, then the
If the keyword wl/hat is set to yes, then the
If the keyword components is set, then the real and imaginary parts
of each component of normalized
In summary, the per-atom array will contain nlvalues columns, followed by an additional nlvalues columns if wl is set to yes, followed by an additional nlvalues columns if wl/hat is set to yes, followed by an additional 2*(2* ldegree+1) columns if the components keyword is set.
These values can be accessed by any command that uses per-atom values from a compute as input. See the Howto output doc page for an overview of LAMMPS output options.
Restrictions
none
Default
The option defaults are cutoff = pair style cutoff, nnn = 12,
degrees = 5 4 6 8 10 12 (i.e.,
(Steinhardt) P. Steinhardt, D. Nelson, and M. Ronchetti, Phys. Rev. B 28, 784 (1983).
(Mickel) W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke, J. Chem. Phys. 138, 044501 (2013).
(tenWolde) P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel, J. Chem. Phys. 104, 9932 (1996).