Switched the sign of spherical harmonics for m odd
This commit is contained in:
@ -48,14 +48,17 @@ For each atom, :math:`Q_l` is a real number defined as follows:
|
||||
\bar{Y}_{lm} = & \frac{1}{nnn}\sum_{j = 1}^{nnn} Y_{lm}( \theta( {\bf r}_{ij} ), \phi( {\bf r}_{ij} ) ) \\
|
||||
Q_l = & \sqrt{\frac{4 \pi}{2 l + 1} \sum_{m = -l}^{m = l} \bar{Y}_{lm} \bar{Y}^*_{lm}}
|
||||
|
||||
The first equation defines the spherical harmonic order parameters.
|
||||
The first equation defines the local order parameters as averages
|
||||
of the spherical harmonics :math:`Y_{lm}` for each neighbor.
|
||||
These are complex number components of the 3D analog of the 2D order
|
||||
parameter :math:`q_n`, which is implemented as LAMMPS compute
|
||||
:doc:`hexorder/atom <compute_hexorder_atom>`.
|
||||
The summation is over the *nnn* nearest
|
||||
neighbors of the central atom.
|
||||
The angles theta and phi are the standard spherical polar angles
|
||||
The angles :math:`theta` and :math:`phi` are the standard spherical polar angles
|
||||
defining the direction of the bond vector :math:`r_{ij}`.
|
||||
The phase and sign of :math:`Y_{lm}` follow the standard conventions,
|
||||
so that :math:`{\rm sign}(Y_{ll}(0,0)) = (-1)^l`.
|
||||
The second equation defines :math:`Q_l`, which is a
|
||||
rotationally invariant non-negative amplitude obtained by summing
|
||||
over all the components of degree *l*\ .
|
||||
@ -98,8 +101,8 @@ structures are given in Table I of :ref:`Steinhardt <Steinhardt>`, and these
|
||||
can be reproduced with this keyword.
|
||||
|
||||
The optional keyword *components* will output the components of the
|
||||
normalized complex vector :math:`\bar{Y}_{lm}` of degree *ldegree*\ , which must be
|
||||
explicitly included in the keyword *degrees*\ . This option can be used
|
||||
*normalized* complex vector :math:`\hat{Y}_{lm} = \bar{Y}_{lm}/|\bar{Y}_{lm}|` of degree *ldegree*\,
|
||||
which must be included in the list of order parameters to be computed. This option can be used
|
||||
in conjunction with :doc:`compute coord_atom <compute_coord_atom>` to
|
||||
calculate the ten Wolde's criterion to identify crystal-like
|
||||
particles, as discussed in :ref:`ten Wolde <tenWolde2>`.
|
||||
@ -141,11 +144,15 @@ If the keyword *wl/hat* is set to yes, then the :math:`\hat{W}_l`
|
||||
values for each atom will be added to the output array, which are real numbers.
|
||||
|
||||
If the keyword *components* is set, then the real and imaginary parts
|
||||
of each component of (normalized) :math:`\bar{Y}_{lm}` will be added to the
|
||||
output array in the following order: :math:`Re(\bar{Y}_{-m}) Im(\bar{Y}_{-m})
|
||||
Re(\bar{Y}_{-m+1}) Im(\bar{Y}_{-m+1}) ... Re(\bar{Y}_m) Im(\bar{Y}_m)`. This
|
||||
way, the per-atom array will have a total of *nlvalues*\ +2\*(2\ *l*\ +1)
|
||||
columns.
|
||||
of each component of *normalized* :math:`\hat{Y}_{lm}` will be added to the
|
||||
output array in the following order: :math:`{\rm Re}(\hat{Y}_{-m}), {\rm Im}(\hat{Y}_{-m}),
|
||||
{\rm Re}(\hat{Y}_{-m+1}), {\rm Im}(\hat{Y}_{-m+1}), \dots , {\rm Re}(\hat{Y}_m), {\rm Im}(\hat{Y}_m)`.
|
||||
|
||||
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 :doc:`Howto output <Howto_output>` doc
|
||||
|
||||
Reference in New Issue
Block a user