fix up remaining computes for embedded math and a few other issues
|
@ -75,8 +75,11 @@ html: $(ANCHORCHECK)
|
|||
@rm -rf html/_sources
|
||||
@rm -rf html/PDF
|
||||
@rm -rf html/USER
|
||||
@rm -rf html/JPG
|
||||
@cp -r src/PDF html/PDF
|
||||
@cp -r src/USER html/USER
|
||||
@mkdir -p html/JPG
|
||||
@cp -v `grep -A2 '\.\. image::' src/*.rst | grep ':target:' | sed -e 's,.*:target: JPG/,src/JPG/,'` html/JPG/
|
||||
@rm -rf html/PDF/.[sg]*
|
||||
@rm -rf html/USER/.[sg]*
|
||||
@rm -rf html/USER/*/.[sg]*
|
||||
|
|
Before Width: | Height: | Size: 7.1 KiB |
|
@ -1,9 +0,0 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
NGP(t) = 3<(r(t)-r(0))^4>/(5<(r(t)-r(0))^2>^2) - 1
|
||||
$$
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 1.4 KiB |
|
@ -1,10 +0,0 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
I=\frac{F^{*}F}{N}
|
||||
$$
|
||||
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 4.8 KiB |
|
@ -1,9 +0,0 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
F(\mathbf{k})=\sum_{j=1}^{N}f_j(\theta)exp(2\pi i \mathbf{k}\cdot \mathbf{r}_j)
|
||||
$$
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 6.9 KiB |
|
@ -1,10 +0,0 @@
|
|||
\documentstyle[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{5}
|
||||
a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right )
|
||||
$$
|
||||
\end{document}
|
||||
|
Before Width: | Height: | Size: 19 KiB |
|
@ -1,11 +0,0 @@
|
|||
\documentclass[24pt]{article}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\theta_0 = {\tt rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 17 KiB |
|
@ -1,11 +0,0 @@
|
|||
\documentclass[24pt]{article}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
u^j_{m,m'} = U^j_{m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{f_c(r_{ii'}) w_{i'} U^j_{m,m'}(\theta_0,\theta,\phi)}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 19 KiB |
|
@ -1,16 +0,0 @@
|
|||
\documentclass[24pt]{article}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\newcommand{\hcoeff}[9]{H\!\!{\tiny\begin{array}{l}#1 #2 #3 \\ #4 #5 #6 \\ #7 #8 #9 \end{array}}}
|
||||
|
||||
\begin{equation}
|
||||
B_{j_1,j_2,j} = \\
|
||||
\sum_{m_1,m'_1=-j_1}^{j_1}\sum_{m_2,m'_2=-j_2}^{j_2}\sum_{m,m'=-j}^{j} (u^j_{m,m'})^*
|
||||
\hcoeff{j}{m}{m'}{j_1}{\!m_1}{\!m'_1}{j_2}{m_2}{m'_2}
|
||||
u^{j_1}_{m_1,m'_1} u^{j_2}_{m_2,m'_2}
|
||||
\end{equation}
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 35 KiB |
|
@ -1,14 +0,0 @@
|
|||
\documentclass[24pt]{article}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{eqnarray*}
|
||||
\label{eqn:f_c}
|
||||
f_c(r) & = & \frac{1}{2}(\cos(\pi \frac{r-r_{min0}}{R_{ii'}-r_{min0}}) + 1), r \leq R_{ii'} \\
|
||||
& = & 0, r > R_{ii'}
|
||||
\end{eqnarray*}
|
||||
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 14 KiB |
|
@ -1,12 +0,0 @@
|
|||
\documentclass[24pt]{article}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
|
||||
\begin{equation}
|
||||
- \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial {\bf r}_i}
|
||||
\end{equation}
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 17 KiB |
|
@ -1,12 +0,0 @@
|
|||
\documentclass[24pt]{article}
|
||||
|
||||
\pagestyle{empty}
|
||||
|
||||
\begin{document}
|
||||
|
||||
|
||||
\begin{eqnarray*}
|
||||
- {\bf r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial {\bf r}_i}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 16 KiB |
|
@ -1,8 +0,0 @@
|
|||
\documentclass[12pt]{article}
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
q_n = \frac{1}{nnn}\sum_{j = 1}^{nnn} e^{n i \theta({\bf r}_{ij})}
|
||||
$$
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 34 KiB |
|
@ -1,12 +0,0 @@
|
|||
\documentclass[12pt]{article}
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
\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}}
|
||||
$$
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 4.2 KiB |
|
@ -1,9 +0,0 @@
|
|||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N'} r_i \bullet f_i}{dV}
|
||||
$$
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 5.3 KiB |
|
@ -1,10 +0,0 @@
|
|||
\documentclass[12pt]{article}
|
||||
|
||||
\begin{document}
|
||||
|
||||
$$
|
||||
P_{IJ} = \frac{\sum_{k}^{N} m_k v_{k_I} v_{k_J}}{V} +
|
||||
\frac{\sum_{k}^{N'} r_{k_I} f_{k_J}}{V}
|
||||
$$
|
||||
|
||||
\end{document}
|
Before Width: | Height: | Size: 6.7 KiB |
|
@ -1,21 +0,0 @@
|
|||
\documentclass[12pt,article]{article}
|
||||
|
||||
\usepackage{indentfirst}
|
||||
\usepackage{amsmath}
|
||||
|
||||
\newcommand{\set}[1]{\ensuremath{\mathbf{#1}}}
|
||||
\newcommand{\mean}[1]{\ensuremath{\overline{#1}}}
|
||||
\newcommand{\norm}[1]{\ensuremath{\left|\left|{#1}\right|\right|}}
|
||||
|
||||
\begin{document}
|
||||
|
||||
\begin{equation*}
|
||||
\text{RMSD}(\set{u}, \set{v}) = \min_{s, \set{Q}} \sqrt{\frac{1}{N} \sum\limits_{i=1}^{N}
|
||||
\norm{
|
||||
s[\vec{u_i} - \mean{\set{u}}]
|
||||
-
|
||||
\set{Q} \vec{v_i}
|
||||
}^2}
|
||||
\end{equation*}
|
||||
|
||||
\end{document}
|
|
@ -36,19 +36,22 @@ Examples
|
|||
Description
|
||||
"""""""""""
|
||||
|
||||
Define a computation that calculates *qn* the bond-orientational
|
||||
Define a computation that calculates :math:`q_n` the bond-orientational
|
||||
order parameter for each atom in a group. The hexatic (\ *n* = 6) order
|
||||
parameter was introduced by :ref:`Nelson and Halperin <Nelson>` as a way to detect
|
||||
hexagonal symmetry in two-dimensional systems. For each atom, *qn*
|
||||
hexagonal symmetry in two-dimensional systems. For each atom, :math:`q_n`
|
||||
is a complex number (stored as two real numbers) defined as follows:
|
||||
|
||||
.. image:: Eqs/hexorder.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
q_n = \frac{1}{nnn}\sum_{j = 1}^{nnn} e^{n i \theta({\bf r}_{ij})}
|
||||
|
||||
|
||||
where the sum is over the *nnn* nearest neighbors
|
||||
of the central atom. The angle theta
|
||||
is formed by the bond vector rij and the *x* axis. theta is calculated
|
||||
only using the *x* and *y* components, whereas the distance from the
|
||||
of the central atom. The angle :math:`\theta`
|
||||
is formed by the bond vector :math:`r_{ij}` and the *x* axis.
|
||||
:math:`\theta` is calculated only using the *x* and *y* components,
|
||||
whereas the distance from the
|
||||
central atom is calculated using all three
|
||||
*x*\ , *y*\ , and *z* components of the bond vector.
|
||||
Neighbor atoms not in the group
|
||||
|
@ -60,22 +63,22 @@ 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 *qn*\ . The default value is 6.
|
||||
neighbors used to calculate :math:`q_n`. The default value is 6.
|
||||
If the value is NULL, then all neighbors up to the
|
||||
distance cutoff are used.
|
||||
|
||||
The optional keyword *degree* sets the degree *n* of the order parameter.
|
||||
The default value is 6. For a perfect hexagonal lattice with
|
||||
*nnn* = 6,
|
||||
*q*\ 6 = exp(6 i phi) for all atoms, where the constant 0 < phi < pi/3
|
||||
:math:`q_6 = e^{6 i \phi}` for all atoms, where the constant :math:`0 < \phi < \frac{\pi}{3}`
|
||||
depends only on the orientation of the lattice relative to the *x* axis.
|
||||
In an isotropic liquid, local neighborhoods may still exhibit
|
||||
weak hexagonal symmetry, but because the orientational correlation
|
||||
decays quickly with distance, the value of phi will be different for
|
||||
different atoms, and so when *q*\ 6 is averaged over all the atoms
|
||||
in the system, \|<\ *q*\ 6>\| << 1.
|
||||
decays quickly with distance, the value of :math:`\phi` will be different for
|
||||
different atoms, and so when :math:`q_6` is averaged over all the atoms
|
||||
in the system, :math:`| \left< q_6 \right> | << 1`.
|
||||
|
||||
The value of *qn* is set to zero for atoms not in the
|
||||
The value of :math:`q_n` is set to zero for atoms not in the
|
||||
specified compute group, as well as for atoms that have less than
|
||||
*nnn* neighbors within the distance cutoff.
|
||||
|
||||
|
@ -102,8 +105,8 @@ too frequently.
|
|||
**Output info:**
|
||||
|
||||
This compute calculates a per-atom array with 2 columns, giving the
|
||||
real and imaginary parts *qn*\ , a complex number restricted to the
|
||||
unit disk of the complex plane i.e. Re(\ *qn*\ )\^2 + Im(\ *qn*\ )\^2 <= 1 .
|
||||
real and imaginary parts :math:`q_n`, a complex number restricted to the
|
||||
unit disk of the complex plane i.e. :math:`Re(q_n)^2 + Im(q_n)^2 <= 1`.
|
||||
|
||||
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
|
||||
|
|
|
@ -46,8 +46,10 @@ dz\*dz)\*(dx\*dx + dy\*dy + dz\*dz), summed and averaged over atoms in the
|
|||
group. The 3rd component is the nonGaussian diffusion parameter NGP =
|
||||
3\*drfourth/(5\*drsquared\*drsquared), i.e.
|
||||
|
||||
.. image:: Eqs/compute_msd_nongauss.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
NGP(t) = 3<(r(t)-r(0))^4>/(5<(r(t)-r(0))^2>^2) - 1
|
||||
|
||||
|
||||
The NGP is a commonly used quantity in studies of dynamical
|
||||
heterogeneity. Its minimum theoretical value (-0.4) occurs when all
|
||||
|
|
|
@ -42,23 +42,25 @@ Description
|
|||
"""""""""""
|
||||
|
||||
Define a computation that calculates a set of bond-orientational
|
||||
order parameters *Ql* for each atom in a group. These order parameters
|
||||
order parameters :math:`Q_l` for each atom in a group. These order parameters
|
||||
were introduced by :ref:`Steinhardt et al. <Steinhardt>` as a way to
|
||||
characterize the local orientational order in atomic structures.
|
||||
For each atom, *Ql* is a real number defined as follows:
|
||||
For each atom, :math:`Q_l` is a real number defined as follows:
|
||||
|
||||
.. image:: Eqs/orientorder.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
\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.
|
||||
These are complex number components of the 3D analog of the 2D order
|
||||
parameter *qn*\ , which is implemented as LAMMPS compute
|
||||
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
|
||||
defining the direction of the bond vector *rij*\ .
|
||||
The second equation defines *Ql*\ , which is a
|
||||
defining the direction of the bond vector :math:`r_{ij}`.
|
||||
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*\ .
|
||||
|
||||
|
@ -68,42 +70,45 @@ 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 *Ql*\ . The default value is 12.
|
||||
neighbors used to calculate :math:`Q_l`. The default value is 12.
|
||||
If the value is NULL, then all neighbors up to the
|
||||
specified distance cutoff are used.
|
||||
|
||||
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 *Q*\ 2 and all odd-degree order
|
||||
degree of each order parameter. Because :math:`Q_2` and all odd-degree order
|
||||
parameters are zero for atoms in cubic crystals (see
|
||||
:ref:`Steinhardt <Steinhardt>`), the default order parameters are *Q*\ 4,
|
||||
*Q*\ 6, *Q*\ 8, *Q*\ 10, and *Q*\ 12. For the FCC crystal with *nnn* =12, *Q*\ 4
|
||||
= sqrt(7/3)/8 = 0.19094.... The numerical values of all order
|
||||
parameters up to *Q*\ 12 for a range of commonly encountered
|
||||
high-symmetry structures are given in Table I of :ref:`Mickel et al. <Mickel>`, and these can be reproduced with this compute
|
||||
:ref:`Steinhardt <Steinhardt>`), the default order parameters are :math:`Q_4`,
|
||||
:math:`Q_6`, :math:`Q_8`, :math:`Q_{10}`, and :math:`Q_{12}`. For the FCC
|
||||
crystal with *nnn* =12, :math:`Q_4 = \sqrt{\frac{7}{192}} = 0.19094...`.
|
||||
The numerical values of all order
|
||||
parameters up to :math:`Q_12` for a range of commonly encountered
|
||||
high-symmetry structures are given in Table I of :ref:`Mickel et al. <Mickel>`,
|
||||
and these can be reproduced with this compute.
|
||||
|
||||
The optional keyword *wl* will output the third-order invariants *Wl*
|
||||
The optional keyword *wl* will output the third-order invariants :math:`W_l`
|
||||
(see Eq. 1.4 in :ref:`Steinhardt <Steinhardt>`) for the same degrees as
|
||||
for the *Ql* parameters. For the FCC crystal with *nnn* =12,
|
||||
*W*\ 4 = -sqrt(14/143).(49/4096)/Pi\^1.5 = -0.0006722136...
|
||||
for the :math:`Q_l` parameters. For the FCC crystal with *nnn* =12,
|
||||
:math:`W_4` = -sqrt(14/143).(49/4096)/Pi\^1.5 = -0.0006722136...
|
||||
|
||||
The optional keyword *wl/hat* will output the normalized third-order
|
||||
invariants *Wlhat* (see Eq. 2.2 in :ref:`Steinhardt <Steinhardt>`)
|
||||
for the same degrees as for the *Ql* parameters. For the FCC crystal
|
||||
with *nnn* =12, *W*\ 4hat = -7/3\*sqrt(2/429) = -0.159317...The numerical
|
||||
values of *Wlhat* for a range of commonly encountered high-symmetry
|
||||
invariants :math:`\hat{W}_l` (see Eq. 2.2 in :ref:`Steinhardt <Steinhardt>`)
|
||||
for the same degrees as for the :math:`Q_l` parameters. For the FCC crystal
|
||||
with *nnn* =12, :math:`\hat{W}_4 = -\frac{7}{3} \sqrt{\frac{2}{429}} = -0.159317...`
|
||||
The numerical
|
||||
values of :math:`\hat{W}_l` for a range of commonly encountered high-symmetry
|
||||
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 *Ybar\_lm* of degree *ldegree*\ , which must be
|
||||
normalized complex vector :math:`\bar{Y}_{lm}` of degree *ldegree*\ , which must be
|
||||
explicitly included in the keyword *degrees*\ . 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>`.
|
||||
|
||||
The value of *Ql* is set to zero for atoms not in the
|
||||
The value of :math:`Q_l` is set to zero for atoms not in the
|
||||
specified compute group, as well as for atoms that have less than
|
||||
*nnn* neighbors within the distance cutoff, unless *nnn* is NULL.
|
||||
|
||||
|
@ -130,19 +135,19 @@ too frequently.
|
|||
**Output info:**
|
||||
|
||||
This compute calculates a per-atom array with *nlvalues* columns,
|
||||
giving the *Ql* values for each atom, which are real numbers on the
|
||||
range 0 <= *Ql* <= 1.
|
||||
giving the :math:`Q_l` values for each atom, which are real numbers on the
|
||||
range :math:`0 <= Q_l <= 1`.
|
||||
|
||||
If the keyword *wl* is set to yes, then the *Wl* values for each
|
||||
If the keyword *wl* is set to yes, then the :math:`W_l` values for each
|
||||
atom will be added to the output array, which are real numbers.
|
||||
|
||||
If the keyword *wl/hat* is set to yes, then the *Wl\_hat*
|
||||
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) *Ybar\_lm* will be added to the
|
||||
output array in the following order: Re(*Ybar\_-m*) Im(*Ybar\_-m*)
|
||||
Re(*Ybar\_-m+1*) Im(*Ybar\_-m+1*) ... Re(*Ybar\_m*) Im(*Ybar\_m*). This
|
||||
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.
|
||||
|
||||
|
@ -163,7 +168,7 @@ 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,
|
||||
*degrees* = 5 4 6 8 10 12 i.e. :math:`Q_4`, :math:`Q_6`, :math:`Q_8`, :math:`Q_{10}`, and :math:`Q_{12}`,
|
||||
*wl* = no, *wl/hat* = no, and *components* off
|
||||
|
||||
|
||||
|
@ -172,21 +177,16 @@ The option defaults are *cutoff* = pair style cutoff, *nnn* = 12,
|
|||
|
||||
.. _Steinhardt:
|
||||
|
||||
|
||||
|
||||
**(Steinhardt)** P. Steinhardt, D. Nelson, and M. Ronchetti,
|
||||
Phys. Rev. B 28, 784 (1983).
|
||||
|
||||
.. _Mickel:
|
||||
|
||||
|
||||
|
||||
**(Mickel)** W. Mickel, S. C. Kapfer, G. E. Schroeder-Turkand, K. Mecke,
|
||||
J. Chem. Phys. 138, 044501 (2013).
|
||||
|
||||
.. _tenWolde2:
|
||||
|
||||
|
||||
|
||||
**(tenWolde)** P. R. ten Wolde, M. J. Ruiz-Montero, D. Frenkel,
|
||||
J. Chem. Phys. 104, 9932 (1996).
|
||||
|
|
|
@ -37,8 +37,10 @@ of atoms via the :doc:`compute reduce <compute_reduce>` command.
|
|||
|
||||
The pressure is computed by the formula
|
||||
|
||||
.. image:: Eqs/pressure.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
P = \frac{N k_B T}{V} + \frac{\sum_{i}^{N'} r_i \bullet f_i}{dV}
|
||||
|
||||
|
||||
where N is the number of atoms in the system (see discussion of DOF
|
||||
below), Kb is the Boltzmann constant, T is the temperature, d is the
|
||||
|
@ -62,8 +64,11 @@ ordered xx, yy, zz, xy, xz, yz. The equation for the I,J components
|
|||
the first term uses components of the kinetic energy tensor and the
|
||||
second term uses components of the virial tensor:
|
||||
|
||||
.. image:: Eqs/pressure_tensor.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
P_{IJ} = \frac{\sum_{k}^{N} m_k v_{k_I} v_{k_J}}{V} +
|
||||
\frac{\sum_{k}^{N'} r_{k_I} f_{k_J}}{V}
|
||||
|
||||
|
||||
If no extra keywords are listed, the entire equations above are
|
||||
calculated. This includes a kinetic energy (temperature) term and the
|
||||
|
|
|
@ -62,8 +62,11 @@ to identify potential structure matches. Next, the deviation is computed betwee
|
|||
local structure (in the simulation) and a template of the ideal lattice structure.
|
||||
The deviation is calculated as:
|
||||
|
||||
.. image:: Eqs/ptm_rmsd.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
\text{RMSD}(\mathbf{u}, \mathbf{v}) = \min_{s, \mathbf{Q}} \sqrt{\frac{1}{N} \sum\limits_{i=1}^{N}
|
||||
{\left|\left| s[\vec{u_i} - \overline{\mathbf{u}}] - \mathbf{Q} \vec{v_i} \right|\right|}^2}
|
||||
|
||||
|
||||
Here, u and v contain the coordinates of the local and ideal structures respectively,
|
||||
s is a scale factor, and Q is a rotation. The best match is identified by the
|
||||
|
|
|
@ -59,14 +59,14 @@ radiation of wavelength lambda.
|
|||
The electron diffraction intensity I at each reciprocal lattice point
|
||||
is computed from the structure factor F using the equations:
|
||||
|
||||
.. image:: Eqs/compute_saed1.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
.. image:: Eqs/compute_saed2.jpg
|
||||
:align: center
|
||||
I = & \frac{F^{*}F}{N} \\
|
||||
F(\mathbf{k}) = & \sum_{j=1}^{N}f_j(\theta)exp(2\pi i \mathbf{k} \cdot \mathbf{r}_j)
|
||||
|
||||
Here, K is the location of the reciprocal lattice node, rj is the
|
||||
position of each atom, fj are atomic scattering factors.
|
||||
|
||||
Here, K is the location of the reciprocal lattice node, :math:`r_j` is the
|
||||
position of each atom, :math:`f_j` are atomic scattering factors.
|
||||
|
||||
Diffraction intensities are calculated on a three-dimensional mesh of
|
||||
reciprocal lattice nodes. The mesh spacing is defined either (a) by
|
||||
|
@ -119,33 +119,117 @@ for each atom type (type1 type2 ... typeN) and angle of diffraction.
|
|||
The analytic approximation is computed using the formula
|
||||
:ref:`(Brown) <Brown>`:
|
||||
|
||||
.. image:: Eqs/compute_saed3.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{5}
|
||||
a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right )
|
||||
|
||||
|
||||
Coefficients parameterized by :ref:`(Fox) <Fox>` are assigned for each
|
||||
atom type designating the chemical symbol and charge of each atom
|
||||
type. Valid chemical symbols for compute saed are:
|
||||
|
||||
H: He: Li: Be: B:
|
||||
C: N: O: F: Ne:
|
||||
Na: Mg: Al: Si: P:
|
||||
S: Cl: Ar: K: Ca:
|
||||
Sc: Ti: V: Cr: Mn:
|
||||
Fe: Co: Ni: Cu: Zn:
|
||||
Ga: Ge: As: Se: Br:
|
||||
Kr: Rb: Sr: Y: Zr:
|
||||
Nb: Mo: Tc: Ru: Rh:
|
||||
Pd: Ag: Cd: In: Sn:
|
||||
Sb: Te: I: Xe: Cs:
|
||||
Ba: La: Ce: Pr: Nd:
|
||||
Pm: Sm: Eu: Gd: Tb:
|
||||
Dy: Ho: Er: Tm: Yb:
|
||||
Lu: Hf: Ta: W: Re:
|
||||
Os: Ir: Pt: Au: Hg:
|
||||
Tl: Pb: Bi: Po: At:
|
||||
Rn: Fr: Ra: Ac: Th:
|
||||
Pa: U: Np: Pu: Am:
|
||||
Cm: Bk: Cf:tb(c=5,s=:)
|
||||
.. table_from_list::
|
||||
:columns: 20
|
||||
|
||||
* H
|
||||
* He
|
||||
* Li
|
||||
* Be
|
||||
* B
|
||||
* C
|
||||
* N
|
||||
* O
|
||||
* F
|
||||
* Ne
|
||||
* Na
|
||||
* Mg
|
||||
* Al
|
||||
* Si
|
||||
* P
|
||||
* S
|
||||
* Cl
|
||||
* Ar
|
||||
* K
|
||||
* Ca
|
||||
* Sc
|
||||
* Ti
|
||||
* V
|
||||
* Cr
|
||||
* Mn
|
||||
* Fe
|
||||
* Co
|
||||
* Ni
|
||||
* Cu
|
||||
* Zn
|
||||
* Ga
|
||||
* Ge
|
||||
* As
|
||||
* Se
|
||||
* Br
|
||||
* Kr
|
||||
* Rb
|
||||
* Sr
|
||||
* Y
|
||||
* Zr
|
||||
* Nb
|
||||
* Mo
|
||||
* Tc
|
||||
* Ru
|
||||
* Rh
|
||||
* Pd
|
||||
* Ag
|
||||
* Cd
|
||||
* In
|
||||
* Sn
|
||||
* Sb
|
||||
* Te
|
||||
* I
|
||||
* Xe
|
||||
* Cs
|
||||
* Ba
|
||||
* La
|
||||
* Ce
|
||||
* Pr
|
||||
* Nd
|
||||
* Pm
|
||||
* Sm
|
||||
* Eu
|
||||
* Gd
|
||||
* Tb
|
||||
* Dy
|
||||
* Ho
|
||||
* Er
|
||||
* Tm
|
||||
* Yb
|
||||
* Lu
|
||||
* Hf
|
||||
* Ta
|
||||
* W
|
||||
* Re
|
||||
* Os
|
||||
* Ir
|
||||
* Pt
|
||||
* Au
|
||||
* Hg
|
||||
* Tl
|
||||
* Pb
|
||||
* Bi
|
||||
* Po
|
||||
* At
|
||||
* Rn
|
||||
* Fr
|
||||
* Ra
|
||||
* Ac
|
||||
* Th
|
||||
* Pa
|
||||
* U
|
||||
* Np
|
||||
* Pu
|
||||
* Am
|
||||
* Cm
|
||||
* Bk
|
||||
* Cf
|
||||
|
||||
If the *echo* keyword is specified, compute saed will provide extra
|
||||
reporting information to the screen.
|
||||
|
|
|
@ -82,8 +82,10 @@ onto the 3-sphere, the surface of the unit ball in a four-dimensional
|
|||
space. The radial distance *r* within *R\_ii'* is mapped on to a third
|
||||
polar angle *theta0* defined by,
|
||||
|
||||
.. image:: Eqs/compute_sna_atom1.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
\theta_0 = {\tt rfac0} \frac{r-r_{min0}}{R_{ii'}-r_{min0}} \pi
|
||||
|
||||
|
||||
In this way, all possible neighbor positions are mapped on to a subset
|
||||
of the 3-sphere. Points south of the latitude *theta0max=rfac0\*Pi*
|
||||
|
@ -101,8 +103,10 @@ radial distance. Expanding this density function as a generalized
|
|||
Fourier series in the basis functions, we can write each Fourier
|
||||
coefficient as
|
||||
|
||||
.. image:: Eqs/compute_sna_atom2.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
u^j_{m,m'} = U^j_{m,m'}(0,0,0) + \sum_{r_{ii'} < R_{ii'}}{f_c(r_{ii'}) w_{i'} U^j_{m,m'}(\theta_0,\theta,\phi)}
|
||||
|
||||
|
||||
The *w\_i'* neighbor weights are dimensionless numbers that are chosen
|
||||
to distinguish atoms of different types, while the central atom is
|
||||
|
@ -110,8 +114,11 @@ arbitrarily assigned a unit weight. The function *fc(r)* ensures that
|
|||
the contribution of each neighbor atom goes smoothly to zero at
|
||||
*R\_ii'*:
|
||||
|
||||
.. image:: Eqs/compute_sna_atom4.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
f_c(r) = & \frac{1}{2}(\cos(\pi \frac{r-r_{min0}}{R_{ii'}-r_{min0}}) + 1), r \leq R_{ii'} \\
|
||||
= & 0, r > R_{ii'}
|
||||
|
||||
|
||||
The expansion coefficients *u\^j\_m,m'* are complex-valued and they are
|
||||
not directly useful as descriptors, because they are not invariant
|
||||
|
@ -119,8 +126,15 @@ under rotation of the polar coordinate frame. However, the following
|
|||
scalar triple products of expansion coefficients can be shown to be
|
||||
real-valued and invariant under rotation :ref:`(Bartok) <Bartok20101>`.
|
||||
|
||||
.. image:: Eqs/compute_sna_atom3.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
B_{j_1,j_2,j} =
|
||||
\sum_{m_1,m'_1=-j_1}^{j_1}\sum_{m_2,m'_2=-j_2}^{j_2}\sum_{m,m'=-j}^{j} (u^j_{m,m'})^*
|
||||
H {\scriptscriptstyle \begin{array}{l} {j} {m} {m'} \\
|
||||
{j_1} {m_1} {m'_1} \\
|
||||
{j_2} {m_2} {m'_2} \end{array}}
|
||||
u^{j_1}_{m_1,m'_1} u^{j_2}_{m_2,m'_2}
|
||||
|
||||
|
||||
The constants *H\^jmm'\_j1m1m1'\_j2m2m2'* are coupling coefficients,
|
||||
analogous to Clebsch-Gordan coefficients for rotations on the
|
||||
|
@ -138,8 +152,10 @@ atom.
|
|||
Compute *snad/atom* calculates the derivative of the bispectrum components
|
||||
summed separately for each atom type:
|
||||
|
||||
.. image:: Eqs/compute_sna_atom5.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
-\sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j} }}{\partial {\bf r}_i}
|
||||
|
||||
|
||||
The sum is over all atoms *i'* of atom type *I*\ . For each atom *i*\ ,
|
||||
this compute evaluates the above expression for each direction, each
|
||||
|
@ -149,8 +165,10 @@ for a detailed explanation.
|
|||
Compute *snav/atom* calculates the virial contribution due to the
|
||||
derivatives:
|
||||
|
||||
.. image:: Eqs/compute_sna_atom6.jpg
|
||||
:align: center
|
||||
.. math::
|
||||
|
||||
-{\bf r}_i \otimes \sum_{i' \in I} \frac{\partial {B^{i'}_{j_1,j_2,j}}}{\partial {\bf r}_i}
|
||||
|
||||
|
||||
Again, the sum is over all atoms *i'* of atom type *I*\ . For each atom
|
||||
*i*\ , this compute evaluates the above expression for each of the six
|
||||
|
|
|
@ -235,7 +235,7 @@ that a particular atom is changed or not changed, regardless of how
|
|||
many processors are being used. This keyword does not allow use of an
|
||||
atom-style variable.
|
||||
|
||||
Keywords *type/ratio* and *type/subset" also set the atom type for a
|
||||
Keywords *type/ratio* and *type/subset* also set the atom type for a
|
||||
fraction of the selected atoms. The actual number of atoms changed
|
||||
will be exactly the requested number. For *type/ratio* the specified
|
||||
fraction (0 <= *fraction* <= 1) determines the number. For
|
||||
|
|