diff --git a/doc/Makefile b/doc/Makefile index 82c099ff70..7fba611361 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -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 `grep -A2 '\.\. image::' src/*.rst | grep ':target:' | sed -e 's,.*:target: JPG/,src/JPG/,' | sort | uniq` html/JPG/ @rm -rf html/PDF/.[sg]* @rm -rf html/USER/.[sg]* @rm -rf html/USER/*/.[sg]* diff --git a/doc/src/Build_windows.rst b/doc/src/Build_windows.rst index fd76f3ac80..264e4bf44f 100644 --- a/doc/src/Build_windows.rst +++ b/doc/src/Build_windows.rst @@ -17,9 +17,9 @@ General remarks LAMMPS is developed and tested primarily on Linux machines. The vast majority of HPC clusters and supercomputers today runs on Linux as well. -Thus portability to other platforms is desired, but not always achieved. +While portability to other platforms is desired, it is not always achieved. The LAMMPS developers strongly rely on LAMMPS users giving feedback and -providing assistance in resolving portability issues. This particularly +providing assistance in resolving portability issues. This is particularly true for compiling LAMMPS on Windows, since this platform has significant differences with some low-level functionality. @@ -31,18 +31,20 @@ Running Linux on Windows So before trying to build LAMMPS on Windows, please consider if using the pre-compiled Windows binary packages are sufficient for your needs (as an aside, those packages themselves are build on a Linux machine -using cross-compilers). If it is necessary for your to compile LAMMPS +using cross-compilers). If it is necessary for you to compile LAMMPS on a Windows machine (e.g. because it is your main desktop), please also -consider using a virtual machine software and run a Linux virtual machine, -or - if have a recently updated Windows 10 installation - consider using -the Windows subsystem for Linux, which allows to run a bash shell from -Ubuntu and from there on, you can pretty much use that shell like you -are running on an Ubuntu Linux machine (e.g. installing software via -apt-get). For more details on that, please see :doc:`this tutorial ` +consider using a virtual machine software and compile and run LAMMPS in +a Linux virtual machine, or - if you have a recently updated Windows 10 +installation - consider using the Windows subsystem for Linux. This +optional Windows feature allows you to run the bash shell from Ubuntu +from within Windows and from there on, you can pretty much use that +shell like you are running on an Ubuntu Linux machine (e.g. installing +software via apt-get and more). For more details on that, please +see :doc:`this tutorial ` .. _gnu: -Using GNU GCC ported to Windows +Using a GNU GCC ported to Windows ----------------------------------------- One option for compiling LAMMPS on Windows natively, that has been known @@ -83,13 +85,13 @@ traditional build system, but CMake has also been successfully tested using the mingw32-cmake and mingw64-cmake wrappers that are bundled with the cross-compiler environment on Fedora machines. A CMake preset selecting all packages compatible with this cross-compilation build -is provided. You likely need to disable the GPU package unless you +is provided. You will likely need to disable the GPU package unless you download and install the contents of the pre-compiled `OpenCL ICD loader library `_ into your MinGW64 cross-compiler environment. The cross-compilation currently will only produce non-MPI serial binaries. -Please keep in mind, though, that this only applies to compiling LAMMPS. -Whether the resulting binaries do work correctly is no tested by the +Please keep in mind, though, that this only applies to **compiling** LAMMPS. +Whether the resulting binaries do work correctly is not tested by the LAMMPS developers. We instead rely on the feedback of the users of these pre-compiled LAMMPS packages for Windows. We will try to resolve issues to the best of our abilities if we become aware of them. However diff --git a/doc/src/Eqs/centro_symmetry.jpg b/doc/src/Eqs/centro_symmetry.jpg deleted file mode 100644 index 1e89d11a11..0000000000 Binary files a/doc/src/Eqs/centro_symmetry.jpg and /dev/null differ diff --git a/doc/src/Eqs/centro_symmetry.tex b/doc/src/Eqs/centro_symmetry.tex deleted file mode 100644 index 8d9a9a33e6..0000000000 --- a/doc/src/Eqs/centro_symmetry.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - CS = \sum_{i = 1}^{N/2} | \vec{R}_i + \vec{R}_{i+N/2} |^2 -$$ - -\end{document} diff --git a/doc/src/Eqs/cna_cutoff1.jpg b/doc/src/Eqs/cna_cutoff1.jpg deleted file mode 100644 index fae5c6b636..0000000000 Binary files a/doc/src/Eqs/cna_cutoff1.jpg and /dev/null differ diff --git a/doc/src/Eqs/cna_cutoff1.tex b/doc/src/Eqs/cna_cutoff1.tex deleted file mode 100644 index f74166e608..0000000000 --- a/doc/src/Eqs/cna_cutoff1.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt,article]{article} - -\usepackage{indentfirst} -\usepackage{amsmath} - -\begin{document} - -\begin{eqnarray*} - r_{c}^{fcc} & = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ - r_{c}^{bcc} & = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ - r_{c}^{hcp} & = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/cna_cutoff2.jpg b/doc/src/Eqs/cna_cutoff2.jpg deleted file mode 100644 index 744b61e9b4..0000000000 Binary files a/doc/src/Eqs/cna_cutoff2.jpg and /dev/null differ diff --git a/doc/src/Eqs/cna_cutoff2.tex b/doc/src/Eqs/cna_cutoff2.tex deleted file mode 100644 index fcec31fd24..0000000000 --- a/doc/src/Eqs/cna_cutoff2.tex +++ /dev/null @@ -1,12 +0,0 @@ -\documentclass[12pt,article]{article} - -\usepackage{indentfirst} -\usepackage{amsmath} - -\begin{document} - -$$ - Rc + Rs > 2*{\rm cutoff} -$$ - -\end{document} diff --git a/doc/src/Eqs/cnp_cutoff.jpg b/doc/src/Eqs/cnp_cutoff.jpg deleted file mode 100644 index fae5c6b636..0000000000 Binary files a/doc/src/Eqs/cnp_cutoff.jpg and /dev/null differ diff --git a/doc/src/Eqs/cnp_cutoff.tex b/doc/src/Eqs/cnp_cutoff.tex deleted file mode 100644 index f74166e608..0000000000 --- a/doc/src/Eqs/cnp_cutoff.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt,article]{article} - -\usepackage{indentfirst} -\usepackage{amsmath} - -\begin{document} - -\begin{eqnarray*} - r_{c}^{fcc} & = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ - r_{c}^{bcc} & = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ - r_{c}^{hcp} & = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/cnp_cutoff2.jpg b/doc/src/Eqs/cnp_cutoff2.jpg deleted file mode 100644 index 744b61e9b4..0000000000 Binary files a/doc/src/Eqs/cnp_cutoff2.jpg and /dev/null differ diff --git a/doc/src/Eqs/cnp_cutoff2.tex b/doc/src/Eqs/cnp_cutoff2.tex deleted file mode 100644 index fcec31fd24..0000000000 --- a/doc/src/Eqs/cnp_cutoff2.tex +++ /dev/null @@ -1,12 +0,0 @@ -\documentclass[12pt,article]{article} - -\usepackage{indentfirst} -\usepackage{amsmath} - -\begin{document} - -$$ - Rc + Rs > 2*{\rm cutoff} -$$ - -\end{document} diff --git a/doc/src/Eqs/cnp_eq.jpg b/doc/src/Eqs/cnp_eq.jpg deleted file mode 100644 index d421314442..0000000000 Binary files a/doc/src/Eqs/cnp_eq.jpg and /dev/null differ diff --git a/doc/src/Eqs/cnp_eq.tex b/doc/src/Eqs/cnp_eq.tex deleted file mode 100644 index e5f157e6ba..0000000000 --- a/doc/src/Eqs/cnp_eq.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} |^2 -$$ - -\end{document} diff --git a/doc/src/Eqs/compute_dpd.jpg b/doc/src/Eqs/compute_dpd.jpg deleted file mode 100644 index 549f259c6c..0000000000 Binary files a/doc/src/Eqs/compute_dpd.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_dpd.tex b/doc/src/Eqs/compute_dpd.tex deleted file mode 100644 index e46b0b4dd6..0000000000 --- a/doc/src/Eqs/compute_dpd.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - U^{cond} = \displaystyle\sum_{i=1}^{N} u_{i}^{cond} \\ - U^{mech} = \displaystyle\sum_{i=1}^{N} u_{i}^{mech} \\ - U^{chem} = \displaystyle\sum_{i=1}^{N} u_{i}^{chem} \\ - U = \displaystyle\sum_{i=1}^{N} (u_{i}^{cond} + u_{i}^{mech} + u_{i}^{chem}) \\ - \theta_{avg} = (\frac{1}{N}\displaystyle\sum_{i=1}^{N} \frac{1}{\theta_{i}})^{-1} \\ -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/compute_gyration.jpg b/doc/src/Eqs/compute_gyration.jpg deleted file mode 100644 index 2285444434..0000000000 Binary files a/doc/src/Eqs/compute_gyration.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_gyration.tex b/doc/src/Eqs/compute_gyration.tex deleted file mode 100644 index 97204f1ded..0000000000 --- a/doc/src/Eqs/compute_gyration.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 -$$ - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/compute_msd_nongauss.jpg b/doc/src/Eqs/compute_msd_nongauss.jpg deleted file mode 100644 index d57f6a4af8..0000000000 Binary files a/doc/src/Eqs/compute_msd_nongauss.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_msd_nongauss.tex b/doc/src/Eqs/compute_msd_nongauss.tex deleted file mode 100644 index 168d8f72ed..0000000000 --- a/doc/src/Eqs/compute_msd_nongauss.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/compute_saed1.jpg b/doc/src/Eqs/compute_saed1.jpg deleted file mode 100644 index 6bad3a6104..0000000000 Binary files a/doc/src/Eqs/compute_saed1.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_saed1.tex b/doc/src/Eqs/compute_saed1.tex deleted file mode 100644 index 0db2f55ecd..0000000000 --- a/doc/src/Eqs/compute_saed1.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - I=\frac{F^{*}F}{N} -$$ - -\end{document} - diff --git a/doc/src/Eqs/compute_saed2.jpg b/doc/src/Eqs/compute_saed2.jpg deleted file mode 100644 index 2b3b0bc090..0000000000 Binary files a/doc/src/Eqs/compute_saed2.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_saed2.tex b/doc/src/Eqs/compute_saed2.tex deleted file mode 100644 index d005602339..0000000000 --- a/doc/src/Eqs/compute_saed2.tex +++ /dev/null @@ -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} - diff --git a/doc/src/Eqs/compute_saed3.jpg b/doc/src/Eqs/compute_saed3.jpg deleted file mode 100644 index 1bbc920908..0000000000 Binary files a/doc/src/Eqs/compute_saed3.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_saed3.tex b/doc/src/Eqs/compute_saed3.tex deleted file mode 100644 index 5988a620c7..0000000000 --- a/doc/src/Eqs/compute_saed3.tex +++ /dev/null @@ -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} - diff --git a/doc/src/Eqs/compute_shape_parameters.jpg b/doc/src/Eqs/compute_shape_parameters.jpg deleted file mode 100644 index 9e2374561b..0000000000 Binary files a/doc/src/Eqs/compute_shape_parameters.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_shape_parameters.tex b/doc/src/Eqs/compute_shape_parameters.tex deleted file mode 100644 index 8298efc6e0..0000000000 --- a/doc/src/Eqs/compute_shape_parameters.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentclass[12pt]{article} - -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - c = l_z - 0.5(l_y+l_x) \\ - b = l_y - l_x \\ - k = \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} -\end{eqnarray*} - -\end{document} - diff --git a/doc/src/Eqs/compute_sna_atom1.jpg b/doc/src/Eqs/compute_sna_atom1.jpg deleted file mode 100644 index fe4b641aa6..0000000000 Binary files a/doc/src/Eqs/compute_sna_atom1.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_sna_atom1.tex b/doc/src/Eqs/compute_sna_atom1.tex deleted file mode 100644 index 93e2709bf9..0000000000 --- a/doc/src/Eqs/compute_sna_atom1.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/compute_sna_atom2.jpg b/doc/src/Eqs/compute_sna_atom2.jpg deleted file mode 100644 index 7a4b2c2111..0000000000 Binary files a/doc/src/Eqs/compute_sna_atom2.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_sna_atom2.tex b/doc/src/Eqs/compute_sna_atom2.tex deleted file mode 100644 index 98d8f2efa6..0000000000 --- a/doc/src/Eqs/compute_sna_atom2.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/compute_sna_atom3.jpg b/doc/src/Eqs/compute_sna_atom3.jpg deleted file mode 100644 index 41d6774e9c..0000000000 Binary files a/doc/src/Eqs/compute_sna_atom3.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_sna_atom3.tex b/doc/src/Eqs/compute_sna_atom3.tex deleted file mode 100644 index 5e3212f7bd..0000000000 --- a/doc/src/Eqs/compute_sna_atom3.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/compute_sna_atom4.jpg b/doc/src/Eqs/compute_sna_atom4.jpg deleted file mode 100644 index 5d53943bf4..0000000000 Binary files a/doc/src/Eqs/compute_sna_atom4.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_sna_atom4.tex b/doc/src/Eqs/compute_sna_atom4.tex deleted file mode 100644 index 3477d163e3..0000000000 --- a/doc/src/Eqs/compute_sna_atom4.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/compute_sna_atom5.jpg b/doc/src/Eqs/compute_sna_atom5.jpg deleted file mode 100644 index 732731fe13..0000000000 Binary files a/doc/src/Eqs/compute_sna_atom5.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_sna_atom5.tex b/doc/src/Eqs/compute_sna_atom5.tex deleted file mode 100644 index 72f5a0fe7c..0000000000 --- a/doc/src/Eqs/compute_sna_atom5.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/compute_sna_atom6.jpg b/doc/src/Eqs/compute_sna_atom6.jpg deleted file mode 100644 index 963dd81416..0000000000 Binary files a/doc/src/Eqs/compute_sna_atom6.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_sna_atom6.tex b/doc/src/Eqs/compute_sna_atom6.tex deleted file mode 100644 index 7da589548b..0000000000 --- a/doc/src/Eqs/compute_sna_atom6.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/compute_xrd1.jpg b/doc/src/Eqs/compute_xrd1.jpg deleted file mode 100644 index 8432fad4aa..0000000000 Binary files a/doc/src/Eqs/compute_xrd1.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_xrd1.tex b/doc/src/Eqs/compute_xrd1.tex deleted file mode 100644 index 6e749c768d..0000000000 --- a/doc/src/Eqs/compute_xrd1.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - I=Lp(\theta)\frac{F^{*}F}{N} -$$ - -\end{document} - diff --git a/doc/src/Eqs/compute_xrd2.jpg b/doc/src/Eqs/compute_xrd2.jpg deleted file mode 100644 index 1bcf0494ea..0000000000 Binary files a/doc/src/Eqs/compute_xrd2.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_xrd2.tex b/doc/src/Eqs/compute_xrd2.tex deleted file mode 100644 index d005602339..0000000000 --- a/doc/src/Eqs/compute_xrd2.tex +++ /dev/null @@ -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} - diff --git a/doc/src/Eqs/compute_xrd3.jpg b/doc/src/Eqs/compute_xrd3.jpg deleted file mode 100644 index 19f7aa99b5..0000000000 Binary files a/doc/src/Eqs/compute_xrd3.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_xrd3.tex b/doc/src/Eqs/compute_xrd3.tex deleted file mode 100644 index da0254134c..0000000000 --- a/doc/src/Eqs/compute_xrd3.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - Lp(\theta)=\frac{1+cos^{2}(2\theta)}{cos(\theta)sin^{2}(\theta)} -$$ -\end{document} - diff --git a/doc/src/Eqs/compute_xrd4.jpg b/doc/src/Eqs/compute_xrd4.jpg deleted file mode 100644 index 385bb1efd7..0000000000 Binary files a/doc/src/Eqs/compute_xrd4.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_xrd4.tex b/doc/src/Eqs/compute_xrd4.tex deleted file mode 100644 index d4deb7ca55..0000000000 --- a/doc/src/Eqs/compute_xrd4.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - \frac{sin(\theta)}{\lambda}=\frac{\left | \mathbf{k} \right |}{2} -$$ -\end{document} - diff --git a/doc/src/Eqs/compute_xrd5.jpg b/doc/src/Eqs/compute_xrd5.jpg deleted file mode 100644 index c6f0a2609a..0000000000 Binary files a/doc/src/Eqs/compute_xrd5.jpg and /dev/null differ diff --git a/doc/src/Eqs/compute_xrd5.tex b/doc/src/Eqs/compute_xrd5.tex deleted file mode 100644 index 2d97a3288b..0000000000 --- a/doc/src/Eqs/compute_xrd5.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{4} -a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right )+c -$$ -\end{document} - diff --git a/doc/src/Eqs/fix_bond_react.jpg b/doc/src/Eqs/fix_bond_react.jpg deleted file mode 100644 index d63b983230..0000000000 Binary files a/doc/src/Eqs/fix_bond_react.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_bond_react.tex b/doc/src/Eqs/fix_bond_react.tex deleted file mode 100644 index 9400656038..0000000000 --- a/doc/src/Eqs/fix_bond_react.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_box_relax1.jpg b/doc/src/Eqs/fix_box_relax1.jpg deleted file mode 100644 index d425526046..0000000000 Binary files a/doc/src/Eqs/fix_box_relax1.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_box_relax1.tex b/doc/src/Eqs/fix_box_relax1.tex deleted file mode 100644 index a332360666..0000000000 --- a/doc/src/Eqs/fix_box_relax1.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -E = U + P_t \left(V-V_0 \right) + E_{strain} -$$ - -\end{document} diff --git a/doc/src/Eqs/fix_box_relax2.jpg b/doc/src/Eqs/fix_box_relax2.jpg deleted file mode 100644 index 8fac42e0fa..0000000000 Binary files a/doc/src/Eqs/fix_box_relax2.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_box_relax2.tex b/doc/src/Eqs/fix_box_relax2.tex deleted file mode 100644 index bc9cddef4e..0000000000 --- a/doc/src/Eqs/fix_box_relax2.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -\mathbf P = P_t \mathbf I + {\mathbf S_t} \left( \mathbf h_0^{-1} \right)^t \mathbf h_{0d} -$$ - -\end{document} diff --git a/doc/src/Eqs/fix_controller1.jpg b/doc/src/Eqs/fix_controller1.jpg deleted file mode 100644 index 25f381543f..0000000000 Binary files a/doc/src/Eqs/fix_controller1.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_controller1.tex b/doc/src/Eqs/fix_controller1.tex deleted file mode 100644 index 14f98fc303..0000000000 --- a/doc/src/Eqs/fix_controller1.tex +++ /dev/null @@ -1,12 +0,0 @@ -\documentclass[24pt]{article} - -\pagestyle{empty} -\Huge - -\begin{document} - -\begin{eqnarray*} -\frac{dc}{dt} &=&Ê -\alpha (K_p e + K_i \int_0^t e \, dt + K_d \frac{de}{dt} ) \\ -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_controller2.jpg b/doc/src/Eqs/fix_controller2.jpg deleted file mode 100644 index 178fd5a67e..0000000000 Binary files a/doc/src/Eqs/fix_controller2.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_controller2.tex b/doc/src/Eqs/fix_controller2.tex deleted file mode 100644 index 7bcaa333ad..0000000000 --- a/doc/src/Eqs/fix_controller2.tex +++ /dev/null @@ -1,12 +0,0 @@ -\documentclass[24pt]{article} - -\pagestyle{empty} -\Huge - -\begin{document} - -\begin{eqnarray*} -c_n &=&Ê c_{n-1} -\alpha (K_p \tau e_n + K_i \tau^2 \sum_{i=1}^n e_i + K_d (e_n - e_{n-1}) ) -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_ehex_eom.jpg b/doc/src/Eqs/fix_ehex_eom.jpg deleted file mode 100644 index 67fa7c092a..0000000000 Binary files a/doc/src/Eqs/fix_ehex_eom.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_ehex_eom.tex b/doc/src/Eqs/fix_ehex_eom.tex deleted file mode 100644 index 344ebcef76..0000000000 --- a/doc/src/Eqs/fix_ehex_eom.tex +++ /dev/null @@ -1,8 +0,0 @@ -\documentclass[12pt]{article} -\usepackage{amsmath} -\begin{document} - \begin{align*} - \dot{\mathbf r}_i &= \mathbf v_i, \\ - \dot{\mathbf v}_i &= \frac{\mathbf f_i}{m_i} + \frac{\mathbf g_i}{m_i}. - \end{align*} -\end{document} diff --git a/doc/src/Eqs/fix_ehex_f.jpg b/doc/src/Eqs/fix_ehex_f.jpg deleted file mode 100644 index b74a28d907..0000000000 Binary files a/doc/src/Eqs/fix_ehex_f.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_ehex_f.tex b/doc/src/Eqs/fix_ehex_f.tex deleted file mode 100644 index f6ffe1d720..0000000000 --- a/doc/src/Eqs/fix_ehex_f.tex +++ /dev/null @@ -1,12 +0,0 @@ -\documentclass[12pt]{article} -\usepackage{amsmath} -\begin{document} - \begin{equation*} - \mathbf g_i = - \begin{cases} \frac{m_i}{2} \frac{ F_{\Gamma_{k(\mathbf r_i)}}}{ K_{\Gamma_{k(\mathbf r_i)}}} - \left(\mathbf v_i - \mathbf v_{\Gamma_{k(\mathbf r_i)}} \right) & \mbox{$k(\mathbf r_i)> 0$ (inside a reservoir),} \\ - 0 & \mbox{otherwise, } - \end{cases} - \end{equation*} -\end{document} - diff --git a/doc/src/Eqs/fix_eos-cv.jpg b/doc/src/Eqs/fix_eos-cv.jpg deleted file mode 100644 index 37eeac8e2d..0000000000 Binary files a/doc/src/Eqs/fix_eos-cv.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_eos-cv.tex b/doc/src/Eqs/fix_eos-cv.tex deleted file mode 100644 index e084bac9bc..0000000000 --- a/doc/src/Eqs/fix_eos-cv.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -$$ - u_{i} = u^{mech}_{i} + u^{cond}_{i} = C_{V} \theta_{i} -$$ - -\end{document} diff --git a/doc/src/Eqs/fix_eos_table_rx.jpg b/doc/src/Eqs/fix_eos_table_rx.jpg deleted file mode 100644 index 0172281b6c..0000000000 Binary files a/doc/src/Eqs/fix_eos_table_rx.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_eos_table_rx.tex b/doc/src/Eqs/fix_eos_table_rx.tex deleted file mode 100644 index b8b486387d..0000000000 --- a/doc/src/Eqs/fix_eos_table_rx.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - U_{i} = \displaystyle\sum_{j=1}^{m} c_{i,j}(u_{j} + \Delta H_{f,j}) + \frac{3k_{b}T}{2} + Nk_{b}T \\ -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_gcmc1.jpg b/doc/src/Eqs/fix_gcmc1.jpg deleted file mode 100644 index 158cf8b61f..0000000000 Binary files a/doc/src/Eqs/fix_gcmc1.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_gcmc1.tex b/doc/src/Eqs/fix_gcmc1.tex deleted file mode 100644 index c4b0d62527..0000000000 --- a/doc/src/Eqs/fix_gcmc1.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} -\mu &=&\mu^{id} + \mu^{ex} -\end{eqnarray*} - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/fix_gcmc2.jpg b/doc/src/Eqs/fix_gcmc2.jpg deleted file mode 100644 index d054f58430..0000000000 Binary files a/doc/src/Eqs/fix_gcmc2.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_gcmc2.tex b/doc/src/Eqs/fix_gcmc2.tex deleted file mode 100644 index fc4d90355d..0000000000 --- a/doc/src/Eqs/fix_gcmc2.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} -\mu^{id} &=& k T \ln{\rho \Lambda^3} \\ -&=& k T \ln{\frac{\phi P \Lambda^3}{k T}} -\end{eqnarray*} - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/fix_gcmc3.jpg b/doc/src/Eqs/fix_gcmc3.jpg deleted file mode 100644 index e87764afd9..0000000000 Binary files a/doc/src/Eqs/fix_gcmc3.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_gcmc3.tex b/doc/src/Eqs/fix_gcmc3.tex deleted file mode 100644 index 6aac2b9e1f..0000000000 --- a/doc/src/Eqs/fix_gcmc3.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} -\Lambda &=& \sqrt{ \frac{h^2}{2 \pi m k T}} -\end{eqnarray*} - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/fix_gld1.jpg b/doc/src/Eqs/fix_gld1.jpg deleted file mode 100644 index d54ce57a6c..0000000000 Binary files a/doc/src/Eqs/fix_gld1.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_gld1.tex b/doc/src/Eqs/fix_gld1.tex deleted file mode 100644 index baa0f32a5b..0000000000 --- a/doc/src/Eqs/fix_gld1.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentclass[12pt]{article} - -\usepackage{amsmath} - -\begin{document} - -\begin{align*} - &{\bf F}_{j}(t) = {\bf F}^C_j(t)-\int \limits_{0}^{t} \Gamma_j(t-s) {\bf v}_j(s)~\text{d}s + {\bf F}^R_j(t) \\ - &\Gamma_j(t-s) = \sum \limits_{k=1}^{N_k} \frac{c_k}{\tau_k} e^{-(t-s)/\tau_k} \\ - &\langle{\bf F}^R_j(t),{\bf F}^R_j(s)\rangle = \text{k$_\text{B}$T} ~\Gamma_j(t-s) -\end{align*} - -\end{document} diff --git a/doc/src/Eqs/fix_grem.jpg b/doc/src/Eqs/fix_grem.jpg deleted file mode 100644 index 666b4344a6..0000000000 Binary files a/doc/src/Eqs/fix_grem.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_grem.tex b/doc/src/Eqs/fix_grem.tex deleted file mode 100644 index c00ea696a3..0000000000 --- a/doc/src/Eqs/fix_grem.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - T_{eff} = \lambda + \eta (H - H_0) -$$ - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/fix_integration_spin_stdecomposition.tex b/doc/src/Eqs/fix_integration_spin_stdecomposition.tex deleted file mode 100644 index 8c7baf296d..0000000000 --- a/doc/src/Eqs/fix_integration_spin_stdecomposition.tex +++ /dev/null @@ -1,40 +0,0 @@ -\documentclass[preview]{standalone} -\usepackage{varwidth} -\usepackage[utf8x]{inputenc} -\usepackage{amsmath,amssymb,amsthm,bm,tikz} -\usetikzlibrary{automata,arrows,shapes,snakes} -\begin{document} -\begin{varwidth}{50in} -\begin{tikzpicture} - -%Global -\node (v1) at (0,6.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{v} \leftarrow \bm{v}+L_v.\Delta t/2$ }; -\node (s1) at (0,4.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{s} \leftarrow \bm{s}+L_s.\Delta t/2$ }; -\node (r) at (0,3.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{r} \leftarrow \bm{r}+L_r.\Delta t$ }; -\node (s2) at (0,1.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{s} \leftarrow \bm{s}+L_s.\Delta t/2$ }; -\node (v2) at (0,0.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] { $\bm{v} \leftarrow \bm{v}+L_v.\Delta t/2$ }; - -\draw[line width=2pt, ->] (v1) -- (s1); -\draw[line width=2pt, ->] (s1) -- (r); -\draw[line width=2pt, ->] (r) -- (s2); -\draw[line width=2pt, ->] (s2) -- (v2); - -%Spin -\node (s01) at (6,6.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_0 \leftarrow \bm{s}_0+L_{s_0}.\Delta t/4$ }; -\node (sN1) at (6,4.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N-1}\leftarrow\bm{s}_{\rm N-1}+L_{s_{\rm N-1}}.\Delta t/4$}; -\node (sN) at (6,3.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N} \leftarrow \bm{s}_{\rm N}+L_{s_{\rm N}}.\Delta t/2$ }; -\node (sN2) at (6,1.5) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_{\rm N-1}\leftarrow\bm{s}_{\rm N-1}+L_{s_{\rm N-1}}.\Delta t/4$}; -\node (s02) at (6,0.0) [draw,thick,minimum width=0.2cm,minimum height=0.2cm] {$\bm{s}_0 \leftarrow \bm{s}_0+L_{s_0}.\Delta t/4$ }; - -\draw[line width=2pt,dashed, ->] (s01) -- (sN1); -\draw[line width=2pt, ->] (sN1) -- (sN); -\draw[line width=2pt, ->] (sN) -- (sN2); -\draw[line width=2pt,dashed, ->] (sN2) -- (s02); - -%from Global to Spin -\draw[line width=2pt, dashed, ->] (s1) -- (s01.west); -\draw[line width=2pt, dashed, ->] (s1) -- (s02.west); - -\end{tikzpicture} -\end{varwidth} -\end{document} diff --git a/doc/src/Eqs/fix_lb_fluid_boltzmann.jpg b/doc/src/Eqs/fix_lb_fluid_boltzmann.jpg deleted file mode 100644 index 9d82b40ecb..0000000000 Binary files a/doc/src/Eqs/fix_lb_fluid_boltzmann.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_lb_fluid_boltzmann.tex b/doc/src/Eqs/fix_lb_fluid_boltzmann.tex deleted file mode 100755 index 4a6ca6fe01..0000000000 --- a/doc/src/Eqs/fix_lb_fluid_boltzmann.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -\left(\partial_t + e_{i\alpha}\partial_{\alpha}\right)f_i = -\frac{1}{\tau}\left(f_i - f_i^{eq}\right) + W_i -$$ - - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_lb_fluid_fluidforce.jpg b/doc/src/Eqs/fix_lb_fluid_fluidforce.jpg deleted file mode 100644 index d3149616ca..0000000000 Binary files a/doc/src/Eqs/fix_lb_fluid_fluidforce.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_lb_fluid_fluidforce.tex b/doc/src/Eqs/fix_lb_fluid_fluidforce.tex deleted file mode 100755 index 8433c9264a..0000000000 --- a/doc/src/Eqs/fix_lb_fluid_fluidforce.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -{\bf F}_{j \alpha} = \gamma \left({\bf v}_n - {\bf u}_f \right) \zeta_{j\alpha} -$$ - - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_lb_fluid_gammadefault.jpg b/doc/src/Eqs/fix_lb_fluid_gammadefault.jpg deleted file mode 100644 index cd10239c9b..0000000000 Binary files a/doc/src/Eqs/fix_lb_fluid_gammadefault.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_lb_fluid_gammadefault.tex b/doc/src/Eqs/fix_lb_fluid_gammadefault.tex deleted file mode 100755 index 1af82c4972..0000000000 --- a/doc/src/Eqs/fix_lb_fluid_gammadefault.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -\gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right) -$$ - - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_lb_fluid_navierstokes.jpg b/doc/src/Eqs/fix_lb_fluid_navierstokes.jpg deleted file mode 100644 index 0a1c104141..0000000000 Binary files a/doc/src/Eqs/fix_lb_fluid_navierstokes.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_lb_fluid_navierstokes.tex b/doc/src/Eqs/fix_lb_fluid_navierstokes.tex deleted file mode 100755 index 41ca4674e9..0000000000 --- a/doc/src/Eqs/fix_lb_fluid_navierstokes.tex +++ /dev/null @@ -1,16 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -\partial_t \rho + \partial_{\beta}\left(\rho u_{\beta}\right)= 0 -$$ -$$ -\partial_t\left(\rho u_{\alpha}\right) + \partial_{\beta}\left(\rho u_{\alpha} u_{\beta}\right) = \partial_{\beta}\sigma_{\alpha \beta} + F_{\alpha} + \partial_{\beta}\left(\eta_{\alpha \beta \gamma \nu}\partial_{\gamma} u_{\nu}\right) -$$ - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_lb_fluid_properties.jpg b/doc/src/Eqs/fix_lb_fluid_properties.jpg deleted file mode 100644 index 3d70cd7667..0000000000 Binary files a/doc/src/Eqs/fix_lb_fluid_properties.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_lb_fluid_properties.tex b/doc/src/Eqs/fix_lb_fluid_properties.tex deleted file mode 100755 index fe1290be12..0000000000 --- a/doc/src/Eqs/fix_lb_fluid_properties.tex +++ /dev/null @@ -1,17 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -\rho = \displaystyle\sum\limits_{i} f_i -$$ -$$ -\rho u_{\alpha} = \displaystyle\sum\limits_{i} f_i e_{i\alpha} -$$ - - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_lb_fluid_stress.jpg b/doc/src/Eqs/fix_lb_fluid_stress.jpg deleted file mode 100644 index 8f730e9d70..0000000000 Binary files a/doc/src/Eqs/fix_lb_fluid_stress.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_lb_fluid_stress.tex b/doc/src/Eqs/fix_lb_fluid_stress.tex deleted file mode 100755 index b4e0982536..0000000000 --- a/doc/src/Eqs/fix_lb_fluid_stress.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -\sigma_{\alpha \beta} = -P_{\alpha \beta} = -\rho a_0 \delta_{\alpha \beta} -$$ - - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_lb_fluid_viscosity.jpg b/doc/src/Eqs/fix_lb_fluid_viscosity.jpg deleted file mode 100644 index 1816317ee6..0000000000 Binary files a/doc/src/Eqs/fix_lb_fluid_viscosity.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_lb_fluid_viscosity.tex b/doc/src/Eqs/fix_lb_fluid_viscosity.tex deleted file mode 100755 index d5925f213f..0000000000 --- a/doc/src/Eqs/fix_lb_fluid_viscosity.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -\eta_{\alpha \beta \gamma \nu} = \eta\left[\delta_{\alpha \gamma}\delta_{\beta \nu} + \delta_{\alpha \nu}\delta_{\beta \gamma} - \frac{2}{3}\delta_{\alpha \beta}\delta_{\gamma \nu}\right] + \Lambda \delta_{\alpha \beta}\delta_{\gamma \nu} -$$ - - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_mvv_dpd.jpg b/doc/src/Eqs/fix_mvv_dpd.jpg deleted file mode 100644 index b5f39bb470..0000000000 Binary files a/doc/src/Eqs/fix_mvv_dpd.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_mvv_dpd.tex b/doc/src/Eqs/fix_mvv_dpd.tex deleted file mode 100644 index 685d527763..0000000000 --- a/doc/src/Eqs/fix_mvv_dpd.tex +++ /dev/null @@ -1,21 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - v(t+\frac{\Delta t}{2}) = v(t) + \frac{\Delta t}{2}\cdot a(t), -$$ - -$$ - r(t+\Delta t) = r(t) + \Delta t\cdot v(t+\frac{\Delta t}{2}), -$$ - -$$ - a(t+\Delta t) = \frac{1}{m}\cdot F\left[ r(t+\Delta t), v(t) +\lambda \cdot \Delta t\cdot a(t)\right], -$$ - -$$ - v(t+\Delta t) = v(t+\frac{\Delta t}{2}) + \frac{\Delta t}{2}\cdot a(t+\Delta t) -$$ - -\end{document} diff --git a/doc/src/Eqs/fix_nh1.jpg b/doc/src/Eqs/fix_nh1.jpg deleted file mode 100644 index af07ea3a4b..0000000000 Binary files a/doc/src/Eqs/fix_nh1.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_nh1.tex b/doc/src/Eqs/fix_nh1.tex deleted file mode 100644 index 3e780f2772..0000000000 --- a/doc/src/Eqs/fix_nh1.tex +++ /dev/null @@ -1,36 +0,0 @@ -\documentclass[24pt]{article} - -\pagestyle{empty} -\Huge - -\begin{document} - -\mathchardef\mhyphen="2D - -% The imaginary unit -\providecommand*{\iu}% - {\ensuremath{{\rm i}}} - - -\begin{eqnarray*} -\exp \left(\iu{} L \Delta t \right) &=&Ê -\exp \left(\iu{} L_{\rm T\mhyphen baro} \frac{\Delta t}{2} \right) -\exp \left(\iu{} L_{\rm T\mhyphen part} \frac{\Delta t}{2} \right) -\exp \left(\iu{} L_{\epsilon , 2} \frac{\Delta t}{2} \right) -\exp \left(\iu{} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ -&&\times \left[ -\exp \left(\iu{} L_{2}^{(1)} \frac{\Delta t}{2n} \right) -\exp \left(\iu{} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) -\exp \left(\iu{} L_1 \frac{\Delta t}{n} \right) -\exp \left(\iu{} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) -\exp \left(\iu{} L_{2}^{(1)} \frac{\Delta t}{2n} \right) -\right]^n \\ -&&\times -\exp \left(\iu{} L_{2}^{(2)} \frac{\Delta t}{2} \right) -\exp \left(\iu{} L_{\epsilon , 2} \frac{\Delta t}{2} \right) -\exp \left(\iu{} L_{\rm T\mhyphen part} \frac{\Delta t}{2} \right) -\exp \left(\iu{} L_{\rm T\mhyphen baro} \frac{\Delta t}{2} \right) \\ -&&+ \mathcal{O} \left(\Delta t^3 \right) -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_nphug.jpg b/doc/src/Eqs/fix_nphug.jpg deleted file mode 100644 index a3a67e7b7b..0000000000 Binary files a/doc/src/Eqs/fix_nphug.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_nphug.tex b/doc/src/Eqs/fix_nphug.tex deleted file mode 100644 index 4e162b69b7..0000000000 --- a/doc/src/Eqs/fix_nphug.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ -T_t - T = \frac{\left(\frac{1}{2}\left(P + P_0\right)\left(V_0 - V\right) + E_0 - E\right)}{N_{dof} k_B } = Delta -$$ - -\end{document} diff --git a/doc/src/Eqs/fix_orient_fcc.jpg b/doc/src/Eqs/fix_orient_fcc.jpg deleted file mode 100644 index b22e6c9c20..0000000000 Binary files a/doc/src/Eqs/fix_orient_fcc.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_orient_fcc.tex b/doc/src/Eqs/fix_orient_fcc.tex deleted file mode 100644 index 5596848eb5..0000000000 --- a/doc/src/Eqs/fix_orient_fcc.tex +++ /dev/null @@ -1,30 +0,0 @@ -\newcommand{\br}{\mathbf{r}} - -\documentclass[12pt]{article} - -\begin{document} - -\begin{equation} - \xi_{i} = \sum_{j=1}^{12} \left| \br_{j} - \br_{j}^{\rm I} \right| -\end{equation} - -\begin{equation} - \xi_{\rm IJ} = \sum_{j=1}^{12} \left| \br_{j}^{\rm J} - \br_{j}^{\rm I} \right| -\end{equation} - -\begin{eqnarray} - \xi_{\rm low} &=& {\rm cutlo} \, \xi_{\rm IJ} \\ - \xi_{\rm high} &=& {\rm cuthi} \, \xi_{\rm IJ} -\end{eqnarray} - -\begin{eqnarray} - \omega_{i} &=& \frac{\pi}{2} - \frac{\xi_{i} - \xi_{\rm low}}{\xi_{\rm high} - \xi_{\rm low}} \\ - \mbox{\hspace*{72pt}} \nonumber \\ - u_{i} &=& 0 \mbox{\hspace{84pt} for } \xi_{i} < \xi_{\rm low} \nonumber \\ - &=& {\rm dE}\,\frac{1 - \cos(2 \omega_{i})}{2} - \mbox{\hspace{10pt} for } \xi_{\rm low} < \xi_{i} < \xi_{\rm high} \\ - &=& {\rm dE} \mbox{\hspace{80pt} for } \xi_{\rm high} < \xi_{i} - \nonumber -\end{eqnarray} -\end{document} diff --git a/doc/src/Eqs/fix_pimd.jpg b/doc/src/Eqs/fix_pimd.jpg deleted file mode 100644 index b6e8f5831b..0000000000 Binary files a/doc/src/Eqs/fix_pimd.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_pimd.tex b/doc/src/Eqs/fix_pimd.tex deleted file mode 100644 index 983fead8e4..0000000000 --- a/doc/src/Eqs/fix_pimd.tex +++ /dev/null @@ -1,17 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - Z = \int d{\bf q} d{\bf p} \cdot \textrm{exp} [ -\beta H_{eff} ] -$$ - -$$ - H_{eff} = \bigg(\sum_{i=1}^P \frac{p_i^2}{2m_i}\bigg) + V_{eff} -$$ - -$$ - V_{eff} = \sum_{i=1}^P \bigg[ \frac{mP}{2\beta^2 \hbar^2} (q_i - q_{i+1})^2 + \frac{1}{P} V(q_i)\bigg] -$$ - -\end{document} diff --git a/doc/src/Eqs/fix_rattle_constraints.jpg b/doc/src/Eqs/fix_rattle_constraints.jpg deleted file mode 100644 index 2ba86095cd..0000000000 Binary files a/doc/src/Eqs/fix_rattle_constraints.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rattle_constraints.tex b/doc/src/Eqs/fix_rattle_constraints.tex deleted file mode 100644 index daff0ce775..0000000000 --- a/doc/src/Eqs/fix_rattle_constraints.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} -\usepackage{amsmath} - -\begin{document} -\begin{align*} -\mathbf r^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= d^2_{ij} \quad \text{and} \\ -\mathbf v^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= 0, \label{eq:velcon} -\end{align*} -\end{document} diff --git a/doc/src/Eqs/fix_rattle_rij.jpg b/doc/src/Eqs/fix_rattle_rij.jpg deleted file mode 100644 index b08e2fe02e..0000000000 Binary files a/doc/src/Eqs/fix_rattle_rij.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rattle_rij.tex b/doc/src/Eqs/fix_rattle_rij.tex deleted file mode 100644 index fae0457c60..0000000000 --- a/doc/src/Eqs/fix_rattle_rij.tex +++ /dev/null @@ -1,8 +0,0 @@ -\documentclass[12pt]{article} -\usepackage{amsmath} -\begin{document} -$$ - \mathbf r^{n+1}_{ij} = \mathbf r^n_j - \mathbf r^n_i -$$ -\end{document} - diff --git a/doc/src/Eqs/fix_rhok.jpg b/doc/src/Eqs/fix_rhok.jpg deleted file mode 100644 index 829a866be4..0000000000 Binary files a/doc/src/Eqs/fix_rhok.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rhok.tex b/doc/src/Eqs/fix_rhok.tex deleted file mode 100644 index a468dfedc9..0000000000 --- a/doc/src/Eqs/fix_rhok.tex +++ /dev/null @@ -1,11 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - U &=& \frac{1}{2} K (|\rho_{\vec{k}}| - a)^2 \\ - \rho_{\vec{k}} &=& \sum_j^N \exp(-i\vec{k} \cdot \vec{r}_j )/\sqrt{N} \\ - \vec{k} &=& (2\pi n_x /L_x , 2\pi n_y /L_y , 2\pi n_z/L_z ) -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_rx.jpg b/doc/src/Eqs/fix_rx.jpg deleted file mode 100644 index d63b983230..0000000000 Binary files a/doc/src/Eqs/fix_rx.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rx.tex b/doc/src/Eqs/fix_rx.tex deleted file mode 100644 index 9400656038..0000000000 --- a/doc/src/Eqs/fix_rx.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_rx_localTemp.jpg b/doc/src/Eqs/fix_rx_localTemp.jpg deleted file mode 100644 index 2b5147b930..0000000000 Binary files a/doc/src/Eqs/fix_rx_localTemp.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rx_localTemp.tex b/doc/src/Eqs/fix_rx_localTemp.tex deleted file mode 100644 index cbb191f8f4..0000000000 --- a/doc/src/Eqs/fix_rx_localTemp.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - \theta_i^{-1} = \frac{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)\theta_j^{-1}}{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)} -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_rx_localTemp2.jpg b/doc/src/Eqs/fix_rx_localTemp2.jpg deleted file mode 100644 index c838d7d453..0000000000 Binary files a/doc/src/Eqs/fix_rx_localTemp2.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rx_localTemp2.tex b/doc/src/Eqs/fix_rx_localTemp2.tex deleted file mode 100644 index 0b524adc00..0000000000 --- a/doc/src/Eqs/fix_rx_localTemp2.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - \omega_{Lucy}\left(r_{ij}\right) = \left( 1 + \frac{3r_{ij}}{r_c} \right) \left( 1 - \frac{r_{ij}}{r_c} \right)^3 -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_rx_reaction.jpg b/doc/src/Eqs/fix_rx_reaction.jpg deleted file mode 100644 index e656cd8362..0000000000 Binary files a/doc/src/Eqs/fix_rx_reaction.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rx_reaction.tex b/doc/src/Eqs/fix_rx_reaction.tex deleted file mode 100644 index e9515f1326..0000000000 --- a/doc/src/Eqs/fix_rx_reaction.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - \nu_{A}A + \nu_{B}B \rightarrow \nu_{C}C -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_rx_reactionRate.jpg b/doc/src/Eqs/fix_rx_reactionRate.jpg deleted file mode 100644 index cf79c36089..0000000000 Binary files a/doc/src/Eqs/fix_rx_reactionRate.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_rx_reactionRate.tex b/doc/src/Eqs/fix_rx_reactionRate.tex deleted file mode 100644 index 4974ece1cb..0000000000 --- a/doc/src/Eqs/fix_rx_reactionRate.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - r = k(T)[A]^{\nu_{A}}[B]^{\nu_{B}} -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/fix_spring_rg.jpg b/doc/src/Eqs/fix_spring_rg.jpg deleted file mode 100644 index 313844f555..0000000000 Binary files a/doc/src/Eqs/fix_spring_rg.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_spring_rg.tex b/doc/src/Eqs/fix_spring_rg.tex deleted file mode 100644 index b772aaf652..0000000000 --- a/doc/src/Eqs/fix_spring_rg.tex +++ /dev/null @@ -1,19 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ -{R_G}^2 = \frac{1}{M}\sum_{i}^{N}{m_{i}\left( x_{i} - -\frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right)^{2}} -$$ - -$$ - E = K\left( R_G - R_{G0} \right)^{2} -$$ - -$$ -F_{i} = 2K\frac{m_{i}}{M}\left( 1-\frac{R_{G0}}{R_G} -\right)\left( x_{i} - \frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right) -$$ - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/fix_ttm.jpg b/doc/src/Eqs/fix_ttm.jpg deleted file mode 100644 index 8d9fac3fed..0000000000 Binary files a/doc/src/Eqs/fix_ttm.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_ttm.tex b/doc/src/Eqs/fix_ttm.tex deleted file mode 100644 index d5a3238f82..0000000000 --- a/doc/src/Eqs/fix_ttm.tex +++ /dev/null @@ -1,15 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - C_e \rho_e \frac{\partial T_e}{\partial t} = - \bigtriangledown (\kappa_e \bigtriangledown T_e) - - g_p (T_e - T_a) + g_s T_a' -$$ - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_ttm_blast.jpg b/doc/src/Eqs/fix_ttm_blast.jpg deleted file mode 100644 index d4ffe05f12..0000000000 Binary files a/doc/src/Eqs/fix_ttm_blast.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_ttm_blast.tex b/doc/src/Eqs/fix_ttm_blast.tex deleted file mode 100644 index 6871ed5cc6..0000000000 --- a/doc/src/Eqs/fix_ttm_blast.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec F}_{langevin} - \nabla P_e/n_{ion} -$$ - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_ttm_blast1.jpg b/doc/src/Eqs/fix_ttm_blast1.jpg deleted file mode 100644 index 1106c627cb..0000000000 Binary files a/doc/src/Eqs/fix_ttm_blast1.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_ttm_blast1.tex b/doc/src/Eqs/fix_ttm_blast1.tex deleted file mode 100644 index 642afe4300..0000000000 --- a/doc/src/Eqs/fix_ttm_blast1.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - \nabla_x P_e = \left[\frac{C_e{}T_e(x)\lambda}{(x+\lambda)^2} + \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta x}-(C_e{}T_e)_{x}}{\Delta x} \right] -$$ - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_ttm_ce.jpg b/doc/src/Eqs/fix_ttm_ce.jpg deleted file mode 100644 index 4f439e31e6..0000000000 Binary files a/doc/src/Eqs/fix_ttm_ce.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_ttm_ce.tex b/doc/src/Eqs/fix_ttm_ce.tex deleted file mode 100644 index f787590b8f..0000000000 --- a/doc/src/Eqs/fix_ttm_ce.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) -$$ - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_ttm_mod.jpg b/doc/src/Eqs/fix_ttm_mod.jpg deleted file mode 100644 index 7cc67200f9..0000000000 Binary files a/doc/src/Eqs/fix_ttm_mod.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_ttm_mod.tex b/doc/src/Eqs/fix_ttm_mod.tex deleted file mode 100644 index d0a313e676..0000000000 --- a/doc/src/Eqs/fix_ttm_mod.tex +++ /dev/null @@ -1,15 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - C_e \rho_e \frac{\partial T_e}{\partial t} = - \bigtriangledown (\kappa_e \bigtriangledown T_e) - - g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) -$$ - -\end{document} - - - - diff --git a/doc/src/Eqs/fix_wall_colloid.jpg b/doc/src/Eqs/fix_wall_colloid.jpg deleted file mode 100644 index 8168d3a792..0000000000 Binary files a/doc/src/Eqs/fix_wall_colloid.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_wall_colloid.tex b/doc/src/Eqs/fix_wall_colloid.tex deleted file mode 100644 index 3ed716c263..0000000000 --- a/doc/src/Eqs/fix_wall_colloid.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -\begin{eqnarray} -E &=& \epsilon \left[ \frac{\sigma^{6}}{7560} - \left(\frac{6R-D}{D^{7}} + \frac{D+8R}{(D+2R)^{7}} \right) - - \frac{}{} \right. \nonumber \\ - &&\qquad \left. \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) - \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] -\qquad r < r_c \nonumber -\end{eqnarray} - -\end{document} diff --git a/doc/src/Eqs/fix_wall_ees.jpg b/doc/src/Eqs/fix_wall_ees.jpg deleted file mode 100644 index 0f99dae8f7..0000000000 Binary files a/doc/src/Eqs/fix_wall_ees.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_wall_ees.tex b/doc/src/Eqs/fix_wall_ees.tex deleted file mode 100644 index c8b62067a8..0000000000 --- a/doc/src/Eqs/fix_wall_ees.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ -E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n < r < r_c -$$ - - -\end{document} diff --git a/doc/src/Eqs/fix_wall_harmonic.jpg b/doc/src/Eqs/fix_wall_harmonic.jpg deleted file mode 100644 index 3c605690c3..0000000000 Binary files a/doc/src/Eqs/fix_wall_harmonic.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_wall_harmonic.tex b/doc/src/Eqs/fix_wall_harmonic.tex deleted file mode 100644 index 86dcb80a0e..0000000000 --- a/doc/src/Eqs/fix_wall_harmonic.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - E = \epsilon \hspace{0.1cm} (r - r_c)^2 \qquad r < r_c -$$ - -\end{document} diff --git a/doc/src/Eqs/fix_wall_lj1043.jpg b/doc/src/Eqs/fix_wall_lj1043.jpg deleted file mode 100644 index 303743bf3e..0000000000 Binary files a/doc/src/Eqs/fix_wall_lj1043.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_wall_lj1043.tex b/doc/src/Eqs/fix_wall_lj1043.tex deleted file mode 100644 index 06fc4dd33e..0000000000 --- a/doc/src/Eqs/fix_wall_lj1043.tex +++ /dev/null @@ -1,12 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - - \left(\frac{\sigma}{r}\right)^4 - - \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] - \qquad r < r_c -$$ - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/fix_wall_lj93.jpg b/doc/src/Eqs/fix_wall_lj93.jpg deleted file mode 100644 index 18e502cfbf..0000000000 Binary files a/doc/src/Eqs/fix_wall_lj93.jpg and /dev/null differ diff --git a/doc/src/Eqs/fix_wall_lj93.tex b/doc/src/Eqs/fix_wall_lj93.tex deleted file mode 100644 index 7372e55c15..0000000000 --- a/doc/src/Eqs/fix_wall_lj93.tex +++ /dev/null @@ -1,11 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ - E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - - \left(\frac{\sigma}{r}\right)^3 \right] - \qquad r < r_c -$$ - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/hexorder.jpg b/doc/src/Eqs/hexorder.jpg deleted file mode 100644 index dafa25cabe..0000000000 Binary files a/doc/src/Eqs/hexorder.jpg and /dev/null differ diff --git a/doc/src/Eqs/hexorder.tex b/doc/src/Eqs/hexorder.tex deleted file mode 100644 index 60e0b91034..0000000000 --- a/doc/src/Eqs/hexorder.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/orientorder.jpg b/doc/src/Eqs/orientorder.jpg deleted file mode 100644 index 5ec79964f0..0000000000 Binary files a/doc/src/Eqs/orientorder.jpg and /dev/null differ diff --git a/doc/src/Eqs/orientorder.tex b/doc/src/Eqs/orientorder.tex deleted file mode 100644 index a081a9eec3..0000000000 --- a/doc/src/Eqs/orientorder.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/pair_adp.jpg b/doc/src/Eqs/pair_adp.jpg deleted file mode 100644 index accae4716e..0000000000 Binary files a/doc/src/Eqs/pair_adp.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_adp.tex b/doc/src/Eqs/pair_adp.tex deleted file mode 100644 index 07e441f3fa..0000000000 --- a/doc/src/Eqs/pair_adp.tex +++ /dev/null @@ -1,16 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} -E_i & = & F_\alpha \left( \sum_{j\neq i} \rho_\beta (r_{ij}) \right) + \frac{1}{2} \sum_{j\neq i}\phi_{\alpha\beta}(r_{ij})+ \frac{1}{2} \sum_s (\mu_i^s)^2 + \frac{1}{2} \sum_{s,t} (\lambda_i^{st})^2 - \frac{1}{6} \nu_i^2 \\ -% -\mu_i^s & = & \sum_{j\neq i}u_{\alpha\beta}(r_{ij})r_{ij}^s\\ -% -\lambda_i^{st} & = & \sum_{j\neq i}w_{\alpha\beta}(r_{ij})r_{ij}^sr_{ij}^t\\ -% -\nu_i & = & \sum_s\lambda_i^{ss} -\end{eqnarray*} - -\end{document} - diff --git a/doc/src/Eqs/pair_agni.jpg b/doc/src/Eqs/pair_agni.jpg deleted file mode 100644 index e0842225c6..0000000000 Binary files a/doc/src/Eqs/pair_agni.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_agni.tex b/doc/src/Eqs/pair_agni.tex deleted file mode 100644 index b9aa7882fc..0000000000 --- a/doc/src/Eqs/pair_agni.tex +++ /dev/null @@ -1,18 +0,0 @@ -\documentclass[12pt]{article} - -\pagestyle{empty} -\begin{document} - -\begin{eqnarray*} - F_i^u & = & \sum_t^{N_t}\alpha_t \cdot \exp\left[-\frac{\left(d_{i,t}^u\right)^2}{2l^2}\right] \\ - d_{i,t}^u & = & \left|\left| V_i^u(\eta) - V_t^u(\eta) \right|\right| \\ - V_i^u(\eta) & = & \sum_{j \neq i}\frac{r^u_{ij}}{r_{ij}} \cdot e^{-\left(\frac{r_{ij}}{\eta} \right)^2} \cdot f_d\left(r_{ij}\right) \\ - f_d\left(r_{ij}\right) & = & \frac{1}{2} \left[\cos\left(\frac{\pi r_{ij}}{R_c}\right) + 1 \right] -\end{eqnarray*} - -\end{document} - -%%% Local Variables: -%%% mode: latex -%%% TeX-master: t -%%% End: diff --git a/doc/src/Eqs/pair_airebo.jpg b/doc/src/Eqs/pair_airebo.jpg deleted file mode 100644 index a3259879f1..0000000000 Binary files a/doc/src/Eqs/pair_airebo.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_airebo.tex b/doc/src/Eqs/pair_airebo.tex deleted file mode 100644 index 6c40b2ef58..0000000000 --- a/doc/src/Eqs/pair_airebo.tex +++ /dev/null @@ -1,11 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - E = \frac{1}{2} \sum_i \sum_{j \neq i} - \left[ E^{REBO}_{ij} + E^{LJ}_{ij} + - \sum_{k \neq i,j} \sum_{l \neq i,j,k} E^{TORSION}_{kijl} \right] -$$ - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/pair_atm.jpg b/doc/src/Eqs/pair_atm.jpg deleted file mode 100644 index d2e6d704e9..0000000000 Binary files a/doc/src/Eqs/pair_atm.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_atm.tex b/doc/src/Eqs/pair_atm.tex deleted file mode 100644 index fce1db99b8..0000000000 --- a/doc/src/Eqs/pair_atm.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{equation} -E=\nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3} -\end{equation} - -\end{document} diff --git a/doc/src/Eqs/pair_beck.jpg b/doc/src/Eqs/pair_beck.jpg deleted file mode 100644 index a6da8a87d1..0000000000 Binary files a/doc/src/Eqs/pair_beck.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_beck.tex b/doc/src/Eqs/pair_beck.tex deleted file mode 100644 index dde6b6ef51..0000000000 --- a/doc/src/Eqs/pair_beck.tex +++ /dev/null @@ -1,11 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -$$ -E\left(r\right) = A \exp\left[-\alpha r - \beta r^6\right] - -\frac{B}{\left(r^2+a^2\right)^3} \left(1+\frac{2.709+3a^2}{r^2+a^2}\right) - \qquad r < R_c -$$ - -\end{document} diff --git a/doc/src/Eqs/pair_body_rounded.jpg b/doc/src/Eqs/pair_body_rounded.jpg deleted file mode 100644 index e7136ddd20..0000000000 Binary files a/doc/src/Eqs/pair_body_rounded.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_body_rounded.tex b/doc/src/Eqs/pair_body_rounded.tex deleted file mode 100644 index 54e095340f..0000000000 --- a/doc/src/Eqs/pair_body_rounded.tex +++ /dev/null @@ -1,13 +0,0 @@ -\documentstyle[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - F_n &=& k_n \delta_n - c_n v_n, \qquad \delta_n \le 0 \\ - &=& -k_{na} \delta_n - c_n v_n, \qquad 0 < \delta_n \le r_c \\ - &=& 0 \qquad \qquad \qquad \qquad \delta_n > r_c \\ - F_t &=& \mu k_n \delta_n - c_t v_t, \qquad \delta_n \le 0 \\ - &=& 0 \qquad \qquad \qquad \qquad \delta_n > 0 -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_srp1.jpg b/doc/src/Eqs/pair_srp1.jpg deleted file mode 100644 index bbbdc43e05..0000000000 Binary files a/doc/src/Eqs/pair_srp1.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_srp1.tex b/doc/src/Eqs/pair_srp1.tex deleted file mode 100644 index 45aa005d86..0000000000 --- a/doc/src/Eqs/pair_srp1.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - F^{SRP}_{ij} & = & C(1-r/r_c)\hat{r}_{ij} \qquad r < r_c \\ -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_srp2.jpg b/doc/src/Eqs/pair_srp2.jpg deleted file mode 100644 index c5d20dc212..0000000000 Binary files a/doc/src/Eqs/pair_srp2.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_srp2.tex b/doc/src/Eqs/pair_srp2.tex deleted file mode 100644 index 19cb19ae72..0000000000 --- a/doc/src/Eqs/pair_srp2.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - F_{i1}^{SRP} & = & F^{SRP}_{ij}(L) \\ - F_{i2}^{SRP} & = & F^{SRP}_{ij}(1-L) -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_sw.jpg b/doc/src/Eqs/pair_sw.jpg deleted file mode 100644 index f60f07fd27..0000000000 Binary files a/doc/src/Eqs/pair_sw.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_sw.tex b/doc/src/Eqs/pair_sw.tex deleted file mode 100644 index ebcc39d77b..0000000000 --- a/doc/src/Eqs/pair_sw.tex +++ /dev/null @@ -1,18 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - E & = & \sum_i \sum_{j > i} \phi_2 (r_{ij}) + - \sum_i \sum_{j \neq i} \sum_{k > j} - \phi_3 (r_{ij}, r_{ik}, \theta_{ijk}) \\ - \phi_2(r_{ij}) & = & A_{ij} \epsilon_{ij} \left[ B_{ij} (\frac{\sigma_{ij}}{r_{ij}})^{p_{ij}} - - (\frac{\sigma_{ij}}{r_{ij}})^{q_{ij}} \right] - \exp \left( \frac{\sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) \\ - \phi_3(r_{ij},r_{ik},\theta_{ijk}) & = & \lambda_{ijk} \epsilon_{ijk} \left[ \cos \theta_{ijk} - - \cos \theta_{0ijk} \right]^2 - \exp \left( \frac{\gamma_{ij} \sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) - \exp \left( \frac{\gamma_{ik} \sigma_{ik}}{r_{ik} - a_{ik} \sigma_{ik}} \right) -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_tersoff.jpg b/doc/src/Eqs/pair_tersoff.jpg deleted file mode 100644 index bd3e147192..0000000000 Binary files a/doc/src/Eqs/pair_tersoff.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_tersoff_1.jpg b/doc/src/Eqs/pair_tersoff_1.jpg deleted file mode 100644 index 79600b499c..0000000000 Binary files a/doc/src/Eqs/pair_tersoff_1.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_tersoff_1.tex b/doc/src/Eqs/pair_tersoff_1.tex deleted file mode 100644 index 7d34712491..0000000000 --- a/doc/src/Eqs/pair_tersoff_1.tex +++ /dev/null @@ -1,24 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ - V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ - f_C(r) & = & \left\{ \begin{array} {r@{\quad:\quad}l} - 1 & r < R - D \\ - \frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) & - R-D < r < R + D \\ - 0 & r > R + D - \end{array} \right. \\ - f_R(r) & = & A \exp (-\lambda_1 r) \\ - f_A(r) & = & -B \exp (-\lambda_2 r) \\ - b_{ij} & = & \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ - \zeta_{ij} & = & \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) - \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ - g(\theta) & = & \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - - \frac{c^2}{\left[ d^2 + - (\cos \theta - \cos \theta_0)^2\right]} \right) -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_tersoff_2.jpg b/doc/src/Eqs/pair_tersoff_2.jpg deleted file mode 100644 index 6cb8778a09..0000000000 Binary files a/doc/src/Eqs/pair_tersoff_2.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_tersoff_2.tex b/doc/src/Eqs/pair_tersoff_2.tex deleted file mode 100644 index 7b5beb8ef3..0000000000 --- a/doc/src/Eqs/pair_tersoff_2.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} -\lambda_1^{i,j} &=& \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\ -\lambda_2^{i,j} &=& \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\ -A_{i,j} &=& (A_{i}A_{j})^{1/2}\\ -B_{i,j} &=& \chi_{ij}(B_{i}B_{j})^{1/2}\\ -R_{i,j} &=& (R_{i}R_{j})^{1/2}\\ -S_{i,j} &=& (S_{i}S_{j})^{1/2}\\ -\end{eqnarray*} - -\end{document} \ No newline at end of file diff --git a/doc/src/Eqs/pair_tersoff_mod.jpg b/doc/src/Eqs/pair_tersoff_mod.jpg deleted file mode 100644 index 2618943d85..0000000000 Binary files a/doc/src/Eqs/pair_tersoff_mod.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_tersoff_mod.tex b/doc/src/Eqs/pair_tersoff_mod.tex deleted file mode 100644 index eafc4fdeeb..0000000000 --- a/doc/src/Eqs/pair_tersoff_mod.tex +++ /dev/null @@ -1,24 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ - V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ - f_C(r) & = & \left\{ \begin{array} {r@{\quad:\quad}l} - 1 & r < R - D \\ - \frac{1}{2} - \frac{9}{16} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) - \frac{1}{16} \sin \left( \frac{3\pi}{2} \frac{r-R}{D} \right) & - R-D < r < R + D \\ - 0 & r > R + D - \end{array} \right. \\ - f_R(r) & = & A \exp (-\lambda_1 r) \\ - f_A(r) & = & -B \exp (-\lambda_2 r) \\ - b_{ij} & = & \left( 1 + {\zeta_{ij}}^\eta \right)^{-\frac{1}{2n}} \\ - \zeta_{ij} & = & \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) - \exp \left[ \alpha (r_{ij} - r_{ik})^\beta \right] \\ - g(\theta) & = & c_1 + g_o(\theta) g_a(\theta) \\ - g_o(\theta) & = & \frac{c_2 (h - \cos \theta)^2}{c_3 + (h - \cos \theta)^2} \\ - g_a(\theta) & = & 1 + c_4 \exp \left[ -c_5 (h - \cos \theta)^2 \right] \\ -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_tersoff_mod_c.jpg b/doc/src/Eqs/pair_tersoff_mod_c.jpg deleted file mode 100644 index 311ccc81eb..0000000000 Binary files a/doc/src/Eqs/pair_tersoff_mod_c.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_tersoff_mod_c.tex b/doc/src/Eqs/pair_tersoff_mod_c.tex deleted file mode 100644 index 8cea2d382c..0000000000 --- a/doc/src/Eqs/pair_tersoff_mod_c.tex +++ /dev/null @@ -1,10 +0,0 @@ -\documentclass[12pt]{article} -\pagestyle{empty} - -\begin{document} - -\begin{eqnarray*} - V_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right] -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_tersoff_zbl.jpg b/doc/src/Eqs/pair_tersoff_zbl.jpg deleted file mode 100644 index 20d60d2256..0000000000 Binary files a/doc/src/Eqs/pair_tersoff_zbl.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_tersoff_zbl.tex b/doc/src/Eqs/pair_tersoff_zbl.tex deleted file mode 100644 index 902819aa1b..0000000000 --- a/doc/src/Eqs/pair_tersoff_zbl.tex +++ /dev/null @@ -1,33 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - E & = & \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ - V_{ij} & = & (1 - f_F(r_{ij})) V^{ZBL}_{ij} + f_F(r_{ij}) V^{Tersoff}_{ij} \\ -f_F(r_{ij}) & = & \frac{1}{1 + e^{-A_F(r_{ij} - r_C)}}\\ - \\ - \\ - V^{ZBL}_{ij} & = & \frac{1}{4\pi\epsilon_0} \frac{Z_1 Z_2 \,e^2}{r_{ij}} \phi(r_{ij}/a) \\ - a & = & \frac{0.8854\,a_0}{Z_{1}^{0.23} + Z_{2}^{0.23}}\\ - \phi(x) & = & 0.1818e^{-3.2x} + 0.5099e^{-0.9423x} + 0.2802e^{-0.4029x} + 0.02817e^{-0.2016x}\\ - \\ - \\ - V^{Tersoff}_{ij} & = & f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ - f_C(r) & = & \left\{ \begin{array} {r@{\quad:\quad}l} - 1 & r < R - D \\ - \frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) & - R-D < r < R + D \\ - 0 & r > R + D - \end{array} \right. \\ - f_R(r) & = & A \exp (-\lambda_1 r) \\ - f_A(r) & = & -B \exp (-\lambda_2 r) \\ - b_{ij} & = & \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ - \zeta_{ij} & = & \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) - \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ - g(\theta) & = & \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - - \frac{c^2}{\left[ d^2 + - (\cos \theta - \cos \theta_0)^2\right]} \right) -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_ufm.jpg b/doc/src/Eqs/pair_ufm.jpg deleted file mode 100644 index 40273da680..0000000000 Binary files a/doc/src/Eqs/pair_ufm.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_ufm.tex b/doc/src/Eqs/pair_ufm.tex deleted file mode 100644 index 8a6dde5520..0000000000 --- a/doc/src/Eqs/pair_ufm.tex +++ /dev/null @@ -1,14 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - E = -\varepsilon\, \ln{\left[1-\exp{\left(-r^{2}/\sigma^{2}\right)}\right]} \qquad r < r_c -$$ - -$$ - \varepsilon = p\,k_B\,T -$$ - -\end{document} - diff --git a/doc/src/Eqs/pair_vashishta.jpg b/doc/src/Eqs/pair_vashishta.jpg deleted file mode 100644 index ca5f118a87..0000000000 Binary files a/doc/src/Eqs/pair_vashishta.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_vashishta.tex b/doc/src/Eqs/pair_vashishta.tex deleted file mode 100644 index b65056a254..0000000000 --- a/doc/src/Eqs/pair_vashishta.tex +++ /dev/null @@ -1,22 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - U & = & \sum_i^N \sum_{j > i}^N U_{ij}^{(2)} (r_{ij}) + - \sum_i^N \sum_{j \neq i}^N \sum_{k > j, k \neq i}^N - U_{ijk}^{(3)} (r_{ij}, r_{ik}, \theta_{ijk}) - \\ - U_{ij}^{(2)} (r) & = & \frac{H_{ij}}{r^{\eta_{ij}}} - + \frac{Z_i Z_j}{r}\exp(-r/\lambda_{1,ij}) - - \frac{D_{ij}}{r^4}\exp(-r/\lambda_{4,ij}) - - \frac{W_{ij}}{r^6}, r < r_{c,{ij}} - \\ - U_{ijk}^{(3)}(r_{ij},r_{ik},\theta_{ijk}) & = & B_{ijk} - \frac{\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} - {1+C_{ijk}\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} \times \\ -& & \exp \left( \frac{\gamma_{ij}}{r_{ij} - r_{0,ij}} \right) - \exp \left( \frac{\gamma_{ik}}{r_{ik} - r_{0,ik}} \right), r_{ij} < r_{0,ij}, r_{ik} < r_{0,ik} -\end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pair_yukawa.jpg b/doc/src/Eqs/pair_yukawa.jpg deleted file mode 100644 index 103edc6043..0000000000 Binary files a/doc/src/Eqs/pair_yukawa.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_yukawa.tex b/doc/src/Eqs/pair_yukawa.tex deleted file mode 100644 index 382cf249a8..0000000000 --- a/doc/src/Eqs/pair_yukawa.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - E = A \frac{e^{- \kappa r}}{r} \qquad r < r_c -$$ - -\end{document} diff --git a/doc/src/Eqs/pair_yukawa_colloid.jpg b/doc/src/Eqs/pair_yukawa_colloid.jpg deleted file mode 100644 index 1d83624757..0000000000 Binary files a/doc/src/Eqs/pair_yukawa_colloid.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_yukawa_colloid.tex b/doc/src/Eqs/pair_yukawa_colloid.tex deleted file mode 100644 index dbdbbcd140..0000000000 --- a/doc/src/Eqs/pair_yukawa_colloid.tex +++ /dev/null @@ -1,9 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -$$ - E = \frac{A}{\kappa} e^{- \kappa (r - (r_i + r_j))} \qquad r < r_c -$$ - -\end{document} diff --git a/doc/src/Eqs/pair_zbl.jpg b/doc/src/Eqs/pair_zbl.jpg deleted file mode 100644 index 88656af5eb..0000000000 Binary files a/doc/src/Eqs/pair_zbl.jpg and /dev/null differ diff --git a/doc/src/Eqs/pair_zbl.tex b/doc/src/Eqs/pair_zbl.tex deleted file mode 100644 index 3d68dbed23..0000000000 --- a/doc/src/Eqs/pair_zbl.tex +++ /dev/null @@ -1,11 +0,0 @@ -\documentclass[12pt]{article} - -\begin{document} - -\begin{eqnarray*} - E^{ZBL}_{ij} & = & \frac{1}{4\pi\epsilon_0} \frac{Z_i Z_j \,e^2}{r_{ij}} \phi(r_{ij}/a)+ S(r_{ij})\\ - a & = & \frac{0.46850}{Z_{i}^{0.23} + Z_{j}^{0.23}}\\ - \phi(x) & = & 0.18175e^{-3.19980x} + 0.50986e^{-0.94229x} + 0.28022e^{-0.40290x} + 0.02817e^{-0.20162x}\\ - \end{eqnarray*} - -\end{document} diff --git a/doc/src/Eqs/pressure.jpg b/doc/src/Eqs/pressure.jpg deleted file mode 100644 index 525d8a75ee..0000000000 Binary files a/doc/src/Eqs/pressure.jpg and /dev/null differ diff --git a/doc/src/Eqs/pressure.tex b/doc/src/Eqs/pressure.tex deleted file mode 100644 index 346b64715a..0000000000 --- a/doc/src/Eqs/pressure.tex +++ /dev/null @@ -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} \ No newline at end of file diff --git a/doc/src/Eqs/pressure_tensor.jpg b/doc/src/Eqs/pressure_tensor.jpg deleted file mode 100644 index 665037f365..0000000000 Binary files a/doc/src/Eqs/pressure_tensor.jpg and /dev/null differ diff --git a/doc/src/Eqs/pressure_tensor.tex b/doc/src/Eqs/pressure_tensor.tex deleted file mode 100644 index 5fdb723979..0000000000 --- a/doc/src/Eqs/pressure_tensor.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/ptm_rmsd.jpg b/doc/src/Eqs/ptm_rmsd.jpg deleted file mode 100644 index 2d20da706e..0000000000 Binary files a/doc/src/Eqs/ptm_rmsd.jpg and /dev/null differ diff --git a/doc/src/Eqs/ptm_rmsd.tex b/doc/src/Eqs/ptm_rmsd.tex deleted file mode 100644 index a9c29ce189..0000000000 --- a/doc/src/Eqs/ptm_rmsd.tex +++ /dev/null @@ -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} diff --git a/doc/src/Eqs/fix_integration_spin_stdecomposition.jpg b/doc/src/JPG/fix_integration_spin_stdecomposition.jpg similarity index 100% rename from doc/src/Eqs/fix_integration_spin_stdecomposition.jpg rename to doc/src/JPG/fix_integration_spin_stdecomposition.jpg diff --git a/doc/src/compute_centro_atom.rst b/doc/src/compute_centro_atom.rst index f00cc179f8..6e706d9f97 100644 --- a/doc/src/compute_centro_atom.rst +++ b/doc/src/compute_centro_atom.rst @@ -52,20 +52,23 @@ in the specified compute group. This parameter is computed using the following formula from :ref:`(Kelchner) ` -.. image:: Eqs/centro_symmetry.jpg - :align: center +.. math:: -where the *N* nearest neighbors of each atom are identified and Ri and -Ri+N/2 are vectors from the central atom to a particular pair of -nearest neighbors. There are N\*(N-1)/2 possible neighbor pairs that -can contribute to this formula. The quantity in the sum is computed -for each, and the N/2 smallest are used. This will typically be for -pairs of atoms in symmetrically opposite positions with respect to the -central atom; hence the i+N/2 notation. + CS = \sum_{i = 1}^{N/2} | \vec{R}_i + \vec{R}_{i+N/2} |^2 -*N* is an input parameter, which should be set to correspond to the -number of nearest neighbors in the underlying lattice of atoms. If -the keyword *fcc* or *bcc* is used, *N* is set to 12 and 8 + +where the :math:`N` nearest neighbors of each atom are identified and +:math:`\vec{R}_i` and :math:`\vec{R}_{i+N/2}` are vectors from the +central atom to a particular pair of nearest neighbors. There are +:math:`N (N-1)/2` possible neighbor pairs that can contribute to this +formula. The quantity in the sum is computed for each, and the +:math:`N/2` smallest are used. This will typically be for pairs of +atoms in symmetrically opposite positions with respect to the central +atom; hence the :math:`i+N/2` notation. + +:math:`N` is an input parameter, which should be set to correspond to +the number of nearest neighbors in the underlying lattice of atoms. +If the keyword *fcc* or *bcc* is used, *N* is set to 12 and 8 respectively. More generally, *N* can be set to a positive, even integer. @@ -74,9 +77,9 @@ lattice, the centro-symmetry parameter will be 0. It will be near 0 for small thermal perturbations of a perfect lattice. If a point defect exists, the symmetry is broken, and the parameter will be a larger positive value. An atom at a surface will have a large -positive parameter. If the atom does not have *N* neighbors (within -the potential cutoff), then its centro-symmetry parameter is set to -0.0. +positive parameter. If the atom does not have :math:`N` neighbors +(within the potential cutoff), then its centro-symmetry parameter is +set to 0.0. If the keyword *axes* has the setting *yes*\ , then this compute also estimates three symmetry axes for each atom's local neighborhood. The @@ -95,7 +98,7 @@ of any atom. Only atoms within the cutoff of the pairwise neighbor list are considered as possible neighbors. Atoms not in the compute group are -included in the *N* neighbors used in this calculation. +included in the :math:`N` neighbors used in this calculation. The neighbor list needed to compute this quantity is constructed each time the calculation is performed (e.g. each time a snapshot of atoms diff --git a/doc/src/compute_cna_atom.rst b/doc/src/compute_cna_atom.rst index 16ce67d7af..f270891d82 100644 --- a/doc/src/compute_cna_atom.rst +++ b/doc/src/compute_cna_atom.rst @@ -51,8 +51,12 @@ E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest neighbors for perfect BCC crystals. These formulas can be used to obtain a good cutoff distance: -.. image:: Eqs/cna_cutoff1.jpg - :align: center +.. math:: + + r_{c}^{fcc} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ + r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ + r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} + where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a @@ -62,10 +66,13 @@ Also note that since the CNA calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the following relation should also be satisfied: -.. image:: Eqs/cna_cutoff2.jpg - :align: center +.. math:: -where Rc is the cutoff distance of the potential, Rs is the skin + r_c + r_s > 2*{\rm cutoff} + + +where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` +is the skin distance as specified by the :doc:`neighbor ` command, and cutoff is the argument used with the compute cna/atom command. LAMMPS will issue a warning if this is not the case. diff --git a/doc/src/compute_cnp_atom.rst b/doc/src/compute_cnp_atom.rst index 3290f67508..42e187ba69 100644 --- a/doc/src/compute_cnp_atom.rst +++ b/doc/src/compute_cnp_atom.rst @@ -40,13 +40,16 @@ only be performed on single component systems. This parameter is computed using the following formula from :ref:`(Tsuzuki) ` -.. image:: Eqs/cnp_eq.jpg - :align: center +.. math:: -where the index *j* goes over the *n*\ i nearest neighbors of atom -*i*\ , and the index *k* goes over the *n*\ ij common nearest neighbors -between atom *i* and atom *j*\ . Rik and Rjk are the vectors connecting atom -*k* to atoms *i* and *j*\ . The quantity in the double sum is computed + Q_{i} = \frac{1}{n_i}\sum_{j = 1}^{n_i} | \sum_{k = 1}^{n_{ij}} \vec{R}_{ik} + \vec{R}_{jk} |^2 + + +where the index *j* goes over the :math:`n_i` nearest neighbors of atom +*i*\ , and the index *k* goes over the :math:`n_{ij}` common nearest neighbors +between atom *i* and atom *j*\ . :math:`\vec{R}_{ik}` and +:math:`\vec{R}_{jk}` are the vectors connecting atom *k* to atoms *i* +and *j*\ . The quantity in the double sum is computed for each atom. The CNP calculation is sensitive to the specified cutoff value. @@ -56,8 +59,12 @@ E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest neighbors for perfect BCC crystals. These formulas can be used to obtain a good cutoff distance: -.. image:: Eqs/cnp_cutoff.jpg - :align: center +.. math:: + + r_{c}^{fcc} = & \frac{1}{2} \left(\frac{\sqrt{2}}{2} + 1\right) \mathrm{a} \simeq 0.8536 \:\mathrm{a} \\ + r_{c}^{bcc} = & \frac{1}{2}(\sqrt{2} + 1) \mathrm{a} \simeq 1.207 \:\mathrm{a} \\ + r_{c}^{hcp} = & \frac{1}{2}\left(1+\sqrt{\frac{4+2x^{2}}{3}}\right) \mathrm{a} + where a is the lattice constant for the crystal structure concerned and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a @@ -67,10 +74,13 @@ Also note that since the CNP calculation in LAMMPS uses the neighbors of an owned atom to find the nearest neighbors of a ghost atom, the following relation should also be satisfied: -.. image:: Eqs/cnp_cutoff2.jpg - :align: center +.. math:: -where Rc is the cutoff distance of the potential, Rs is the skin + r_c + r_s > 2*{\rm cutoff} + + +where :math:`r_c` is the cutoff distance of the potential, :math:`r_s` is +the skin distance as specified by the :doc:`neighbor ` command, and cutoff is the argument used with the compute cnp/atom command. LAMMPS will issue a warning if this is not the case. diff --git a/doc/src/compute_dpd.rst b/doc/src/compute_dpd.rst index bca72efdcd..cb3008a73c 100644 --- a/doc/src/compute_dpd.rst +++ b/doc/src/compute_dpd.rst @@ -26,19 +26,26 @@ Description """"""""""" Define a computation that accumulates the total internal conductive -energy (U\_cond), the total internal mechanical energy (U\_mech), the -total chemical energy (U\_chem) and the *harmonic* average of the internal -temperature (dpdTheta) for the entire system of particles. See the +energy (:math:`U^{cond}`), the total internal mechanical energy +(:math:`U^{mech}`), the total chemical energy (:math:`U^{chem}`) +and the *harmonic* average of the internal temperature (:math:`\theta_{avg}`) +for the entire system of particles. See the :doc:`compute dpd/atom ` command if you want per-particle internal energies and internal temperatures. The system internal properties are computed according to the following relations: -.. image:: Eqs/compute_dpd.jpg - :align: center +.. math:: -where N is the number of particles in the system + U^{cond} = & \displaystyle\sum_{i=1}^{N} u_{i}^{cond} \\ + U^{mech} = & \displaystyle\sum_{i=1}^{N} u_{i}^{mech} \\ + U^{chem} = & \displaystyle\sum_{i=1}^{N} u_{i}^{chem} \\ + U = & \displaystyle\sum_{i=1}^{N} (u_{i}^{cond} + u_{i}^{mech} + u_{i}^{chem}) \\ + \theta_{avg} = & (\frac{1}{N}\displaystyle\sum_{i=1}^{N} \frac{1}{\theta_{i}})^{-1} \\ + + +where :math:`N` is the number of particles in the system ---------- @@ -46,8 +53,9 @@ where N is the number of particles in the system **Output info:** -This compute calculates a global vector of length 5 (U\_cond, U\_mech, -U\_chem, dpdTheta, N\_particles), which can be accessed by indices 1-5. +This compute calculates a global vector of length 5 (:math:`U^{cond}`, +:math:`U^{mech}`, :math:`U^{chem}`, :math:`\theta_{avg}`, :math:`N`), +which can be accessed by indices 1-5. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_dpd_atom.rst b/doc/src/compute_dpd_atom.rst index 12956cc5d6..215e16a9c9 100644 --- a/doc/src/compute_dpd_atom.rst +++ b/doc/src/compute_dpd_atom.rst @@ -23,10 +23,10 @@ Description """"""""""" Define a computation that accesses the per-particle internal -conductive energy (u\_cond), internal mechanical energy (u\_mech), -internal chemical energy (u\_chem) and -internal temperatures (dpdTheta) for each particle in a group. See -the :doc:`compute dpd ` command if you want the total +conductive energy (:math:`u^{cond}`), internal mechanical +energy (:math:`u^{mech}`), internal chemical energy (:math:`u^{chem}`) +and internal temperatures (:math:`\theta`) for each particle in a group. +See the :doc:`compute dpd ` command if you want the total internal conductive energy, the total internal mechanical energy, the total chemical energy and average internal temperature of the entire system or group of dpd @@ -34,14 +34,16 @@ particles. **Output info:** -This compute calculates a per-particle array with 4 columns (u\_cond, -u\_mech, u\_chem, dpdTheta), which can be accessed by indices 1-4 by any +This compute calculates a per-particle array with 4 columns (:math:`u^{cond}`, +:math:`u^{mech}`, :math:`u^{chem}`, :math:`\theta`), which can be accessed +by indices 1-4 by any command that uses per-particle values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. -The per-particle array values will be in energy (u\_cond, u\_mech, u\_chem) -and temperature (dpdTheta) :doc:`units `. +The per-particle array values will be in energy (:math:`u^{cond}`, +:math:`u^{mech}`, :math:`u^{chem}`) +and temperature (:math:`theta`) :doc:`units `. Restrictions """""""""""" diff --git a/doc/src/compute_entropy_atom.rst b/doc/src/compute_entropy_atom.rst index 96d55bbb0d..9b4bb5f62b 100644 --- a/doc/src/compute_entropy_atom.rst +++ b/doc/src/compute_entropy_atom.rst @@ -53,27 +53,33 @@ information about the solid structure is required. This parameter for atom i is computed using the following formula from :ref:`(Piaggi) ` and :ref:`(Nettleton) ` , -.. image:: Eqs/pair_entropy.jpg - :align: center +.. math:: + + s_S^i=-2\pi\rho k_B \int\limits_0^{r_m} \left [ g(r) \ln g(r) - g(r) + 1 \right ] r^2 dr + where r is a distance, g(r) is the radial distribution function of atom i and rho is the density of the system. The g(r) computed for each atom i can be noisy and therefore it is smoothed using: -.. image:: Eqs/pair_entropy2.jpg - :align: center +.. math:: -where the sum in j goes through the neighbors of atom i, and sigma is a -parameter to control the smoothing. + g_m^i(r) = \frac{1}{4 \pi \rho r^2} \sum\limits_{j} \frac{1}{\sqrt{2 \pi \sigma^2}} e^{-(r-r_{ij})^2/(2\sigma^2)} -The input parameters are *sigma* the smoothing parameter, and the -*cutoff* for the calculation of g(r). + +where the sum in j goes through the neighbors of atom i, and :math:`\sigma` +is a parameter to control the smoothing. + +The input parameters are *sigma* the smoothing parameter :math:`\sigma`, +and the *cutoff* for the calculation of g(r). If the keyword *avg* has the setting *yes*\ , then this compute also averages the parameter over the neighbors of atom i according to: -.. image:: Eqs/pair_entropy3.jpg - :align: center +.. math:: + + \left< s_S^i \right> = \frac{\sum_j s_S^j + s_S^i}{N + 1} + where the sum j goes over the neighbors of atom i and N is the number of neighbors. This procedure provides a sharper distinction between diff --git a/doc/src/compute_fep.rst b/doc/src/compute_fep.rst index ca48040fb4..84b62a7f4a 100644 --- a/doc/src/compute_fep.rst +++ b/doc/src/compute_fep.rst @@ -79,10 +79,8 @@ reference and perturbed systems: .. math:: - \begin{split} \lambda &= 0 \quad\Rightarrow\quad U = U_{\mathrm{bg}} + U_0 \\ \lambda &= 1 \quad\Rightarrow\quad U = U_{\mathrm{bg}} + U_1 - \end{split} It is possible but not necessary that the coupling parameter (or a function thereof) appears as a multiplication factor of the potential @@ -288,7 +286,6 @@ trajectories during which the volume fluctuates or changes :ref:`(Allen and Tild \Delta_0^1 A = - kT \sum_{i=0}^{n-1} \ln \frac{\left< V \exp \left( - \frac{U(\lambda_{i+1}) - U(\lambda_i)}{kT} \right) \right>_{\lambda_i}}{\left< V \right>_{\lambda_i}} - ---------- diff --git a/doc/src/compute_gyration.rst b/doc/src/compute_gyration.rst index 6eb629c85b..fa3b6acbc5 100644 --- a/doc/src/compute_gyration.rst +++ b/doc/src/compute_gyration.rst @@ -32,24 +32,27 @@ periodic boundaries. Rg is a measure of the size of the group of atoms, and is computed as the square root of the Rg\^2 value in this formula -.. image:: Eqs/compute_gyration.jpg - :align: center +.. math:: -where M is the total mass of the group, Rcm is the center-of-mass -position of the group, and the sum is over all atoms in the group. + {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 -A Rg\^2 tensor, stored as a 6-element vector, is also calculated by -this compute. The formula for the components of the tensor is the -same as the above formula, except that (Ri - Rcm)\^2 is replaced by -(Rix - Rcmx) \* (Riy - Rcmy) for the xy component, etc. The 6 -components of the vector are ordered xx, yy, zz, xy, xz, yz. Note -that unlike the scalar Rg, each of the 6 values of the tensor is -effectively a "squared" value, since the cross-terms may be negative + +where :math:`M` is the total mass of the group, :math:`r_{cm}` is the +center-of-mass position of the group, and the sum is over all atoms in +the group. + +A :math:`{R_g}^2` tensor, stored as a 6-element vector, is also calculated +by this compute. The formula for the components of the tensor is the +same as the above formula, except that :math:`(r_i - r_{cm})^2` is replaced +by :math:`(r_{i,x} - r_{cm,x}) \cdot (r_{i,y} - r_{cm,y})` for the xy component, +and so on. The 6 components of the vector are ordered xx, yy, zz, xy, xz, yz. +Note that unlike the scalar :math:`R_g`, each of the 6 values of the tensor +is effectively a "squared" value, since the cross-terms may be negative and taking a sqrt() would be invalid. .. note:: - The coordinates of an atom contribute to Rg in "unwrapped" form, + The coordinates of an atom contribute to :math:`R_g` in "unwrapped" form, by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can @@ -58,8 +61,8 @@ and taking a sqrt() would be invalid. **Output info:** -This compute calculates a global scalar (Rg) and a global vector of -length 6 (Rg\^2 tensor), which can be accessed by indices 1-6. These +This compute calculates a global scalar (:math:`R_g`) and a global vector of +length 6 (:math:`{R_g}^2` tensor), which can be accessed by indices 1-6. These values can be used by any command that uses a global scalar value or vector values from a compute as input. See the :doc:`Howto output ` doc page for an overview of LAMMPS output options. diff --git a/doc/src/compute_gyration_chunk.rst b/doc/src/compute_gyration_chunk.rst index 4cdb6fa4d6..987cb7fa4c 100644 --- a/doc/src/compute_gyration_chunk.rst +++ b/doc/src/compute_gyration_chunk.rst @@ -52,11 +52,13 @@ boundaries. Rg is a measure of the size of a chunk, and is computed by this formula -.. image:: Eqs/compute_gyration.jpg - :align: center +.. math:: -where M is the total mass of the chunk, Rcm is the center-of-mass -position of the chunk, and the sum is over all atoms in the + {R_g}^2 = \frac{1}{M} \sum_i m_i (r_i - r_{cm})^2 + + +where :math:`M` is the total mass of the chunk, :math:`r_{cm}` is +the center-of-mass position of the chunk, and the sum is over all atoms in the chunk. Note that only atoms in the specified group contribute to the @@ -70,14 +72,16 @@ non-zero chunk IDs. If the *tensor* keyword is specified, then the scalar Rg value is not calculated, but an Rg tensor is instead calculated for each chunk. The formula for the components of the tensor is the same as the above -formula, except that (Ri - Rcm)\^2 is replaced by (Rix - Rcmx) \* (Riy - -Rcmy) for the xy component, etc. The 6 components of the tensor are +formula, except that :math:`(r_i - r_{cm})^2` is replaced by +:math:`(r_{i,x} - r_{cm,x}) \cdot (r_{i,y} - r_{cm,y})` for the xy +component, and so on. The 6 components of the tensor are ordered xx, yy, zz, xy, xz, yz. .. note:: - The coordinates of an atom contribute to Rg in "unwrapped" form, - by using the image flags associated with each atom. See the :doc:`dump custom ` command for a discussion of "unwrapped" coordinates. + The coordinates of an atom contribute to :math:`R_g` in "unwrapped" form, + by using the image flags associated with each atom. See the :doc:`dump custom ` + command for a discussion of "unwrapped" coordinates. See the Atoms section of the :doc:`read_data ` command for a discussion of image flags and how they are set for each atom. You can reset the image flags (e.g. to 0) before invoking this compute by diff --git a/doc/src/compute_gyration_shape.rst b/doc/src/compute_gyration_shape.rst index 590aca59a2..96c0346926 100644 --- a/doc/src/compute_gyration_shape.rst +++ b/doc/src/compute_gyration_shape.rst @@ -33,10 +33,14 @@ due to atoms passing through periodic boundaries. The three computed shape parameters are the asphericity, b, the acylindricity, c, and the relative shape anisotropy, k: -.. image:: Eqs/compute_shape_parameters.jpg - :align: center +.. math:: -where lx <= ly <= lz are the three eigenvalues of the gyration tensor. A general description + c = & l_z - 0.5(l_y+l_x) \\ + b = & l_y - l_x \\ + k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} + + +where :math:`l_x` <= :math:`l_y` <= :math:`l_z` are the three eigenvalues of the gyration tensor. A general description of these parameters is provided in :ref:`(Mattice) ` while an application to polymer systems can be found in :ref:`(Theodorou) `. The asphericity is always non-negative and zero only when the three principal diff --git a/doc/src/compute_gyration_shape_chunk.rst b/doc/src/compute_gyration_shape_chunk.rst index 309b9d7b6d..72fec2ddc7 100644 --- a/doc/src/compute_gyration_shape_chunk.rst +++ b/doc/src/compute_gyration_shape_chunk.rst @@ -33,10 +33,14 @@ all effects due to atoms passing through periodic boundaries. The three computed shape parameters are the asphericity, b, the acylindricity, c, and the relative shape anisotropy, k: -.. image:: Eqs/compute_shape_parameters.jpg - :align: center +.. math:: -where lx <= ly <= lz are the three eigenvalues of the gyration tensor. A general description + c = & l_z - 0.5(l_y+l_x) \\ + b = & l_y - l_x \\ + k = & \frac{3}{2} \frac{l_x^2+l_y^2+l_z^2}{(l_x+l_y+l_z)^2} - \frac{1}{2} + + +where :math:`l_x` <= :math:`l_y` <= :math`l_z` are the three eigenvalues of the gyration tensor. A general description of these parameters is provided in :ref:`(Mattice) ` while an application to polymer systems can be found in :ref:`(Theodorou) `. The asphericity is always non-negative and zero only when the three principal moments are equal. This zero condition is met when the distribution diff --git a/doc/src/compute_hexorder_atom.rst b/doc/src/compute_hexorder_atom.rst index 66cbcf2409..45560a2aff 100644 --- a/doc/src/compute_hexorder_atom.rst +++ b/doc/src/compute_hexorder_atom.rst @@ -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 ` 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 ` doc diff --git a/doc/src/compute_msd_nongauss.rst b/doc/src/compute_msd_nongauss.rst index 180b922097..8168d25ca6 100644 --- a/doc/src/compute_msd_nongauss.rst +++ b/doc/src/compute_msd_nongauss.rst @@ -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 diff --git a/doc/src/compute_orientorder_atom.rst b/doc/src/compute_orientorder_atom.rst index 401f6b46a2..b864db82a7 100644 --- a/doc/src/compute_orientorder_atom.rst +++ b/doc/src/compute_orientorder_atom.rst @@ -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. ` 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 `. 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 `), 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. `, and these can be reproduced with this compute +:ref:`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. `, +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 `) 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 `) -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 `) +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 `, 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 ` to calculate the ten Wolde's criterion to identify crystal-like particles, as discussed in :ref:`ten Wolde `. -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). diff --git a/doc/src/compute_pressure.rst b/doc/src/compute_pressure.rst index c6530ed11e..ed3b90c8e1 100644 --- a/doc/src/compute_pressure.rst +++ b/doc/src/compute_pressure.rst @@ -37,8 +37,10 @@ of atoms via the :doc:`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 diff --git a/doc/src/compute_ptm_atom.rst b/doc/src/compute_ptm_atom.rst index e7667adae9..1b5066e473 100644 --- a/doc/src/compute_ptm_atom.rst +++ b/doc/src/compute_ptm_atom.rst @@ -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 diff --git a/doc/src/compute_saed.rst b/doc/src/compute_saed.rst index 9b4067043f..2a9c05f218 100644 --- a/doc/src/compute_saed.rst +++ b/doc/src/compute_saed.rst @@ -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) `: -.. 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) ` 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. diff --git a/doc/src/compute_sna_atom.rst b/doc/src/compute_sna_atom.rst index be3deaf36a..6da3ab45ea 100644 --- a/doc/src/compute_sna_atom.rst +++ b/doc/src/compute_sna_atom.rst @@ -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) `. -.. 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 @@ -233,7 +251,7 @@ ordered in which they are listed. file. The rerun script can use a :doc:`special_bonds ` command that includes all pairs in the neighbor list. -;line +---------- **Output info:** diff --git a/doc/src/compute_xrd.rst b/doc/src/compute_xrd.rst index b7ed547572..d95fad79e4 100644 --- a/doc/src/compute_xrd.rst +++ b/doc/src/compute_xrd.rst @@ -57,21 +57,16 @@ of wavelength lambda. The x-ray diffraction intensity, I, at each reciprocal lattice point, k, is computed from the structure factor, F, using the equations: -.. image:: Eqs/compute_xrd1.jpg - :align: center +.. math:: -.. image:: Eqs/compute_xrd2.jpg - :align: center + I = & Lp(\theta)\frac{F^{*}F}{N} \\ + F(\mathbf{k}) = & \sum_{j=1}^{N}f_j(\theta)exp(2\pi i \mathbf{k}\cdot \mathbf{r}_j) \\ + Lp(\theta) = & \frac{1+cos^{2}(2\theta)}{cos(\theta)sin^{2}(\theta)} \\ + \frac{sin(\theta)}{\lambda} = & \frac{\left | \mathbf{k} \right |}{2} -.. image:: Eqs/compute_xrd3.jpg - :align: center - -.. image:: Eqs/compute_xrd4.jpg - :align: center - -Here, K is the location of the reciprocal lattice node, rj is the -position of each atom, fj are atomic scattering factors, LP is the -Lorentz-polarization factor, and theta is the scattering angle of +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, *Lp* is the +Lorentz-polarization factor, and :math:`\theta` is the scattering angle of diffraction. The Lorentz-polarization factor can be turned off using the optional *LP* keyword. @@ -114,8 +109,10 @@ for each atom type (type1 type2 ... typeN) and angle of diffraction. The analytic approximation is computed using the formula :ref:`(Colliex) `: -.. image:: Eqs/compute_xrd5.jpg - :align: center +.. math:: + + f_j\left ( \frac{sin(\theta)}{\lambda} \right )=\sum_{i}^{4} + a_i exp\left ( -b_i \frac{sin^{2}(\theta)}{\lambda^{2}} \right )+c Coefficients parameterized by :ref:`(Peng) ` are assigned for each atom type designating the chemical symbol and charge of each atom diff --git a/doc/src/fix_bond_react.rst b/doc/src/fix_bond_react.rst index ec431168b8..14d04009e7 100644 --- a/doc/src/fix_bond_react.rst +++ b/doc/src/fix_bond_react.rst @@ -374,8 +374,10 @@ reacting molecules. The constraint of type 'arrhenius' imposes an additional reaction probability according to the temperature-dependent Arrhenius equation: -.. image:: Eqs/fix_bond_react.jpg - :align: center +.. math:: + + k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} + The Arrhenius constraint has the following syntax: @@ -385,8 +387,8 @@ The Arrhenius constraint has the following syntax: arrhenius *A* *n* *E_a* *seed* where 'arrhenius' is the required keyword, *A* is the pre-exponential -factor, *n* is the exponent of the temperature dependence, *E\_a* is -the activation energy (:doc:`units ` of energy), and *seed* is a +factor, *n* is the exponent of the temperature dependence, :math:`E_a` +is the activation energy (:doc:`units ` of energy), and *seed* is a random number seed. The temperature is defined as the instantaneous temperature averaged over all atoms in the reaction site, and is calculated in the same manner as for example diff --git a/doc/src/fix_box_relax.rst b/doc/src/fix_box_relax.rst index d915d1a2a0..0c4cad7ad0 100644 --- a/doc/src/fix_box_relax.rst +++ b/doc/src/fix_box_relax.rst @@ -228,23 +228,28 @@ With this fix, the potential energy used by the minimizer is augmented by an additional energy provided by the fix. The overall objective function then is: -.. image:: Eqs/fix_box_relax1.jpg - :align: center +.. math:: -where *U* is the system potential energy, *P*\ \_t is the desired -hydrostatic pressure, *V* and *V*\ \_0 are the system and reference -volumes, respectively. *E*\ \_\ *strain* is the strain energy expression + E = U + P_t \left(V-V_0 \right) + E_{strain} + + +where *U* is the system potential energy, :math:`P_t` is the desired +hydrostatic pressure, :math:`V` and :math:`V_0` are the system and reference +volumes, respectively. :math:`E_{strain}` is the strain energy expression proposed by Parrinello and Rahman :ref:`(Parrinello1981) `. Taking derivatives of *E* w.r.t. the box dimensions, and setting these to zero, we find that at the minimum of the objective function, the global system stress tensor **P** will satisfy the relation: -.. image:: Eqs/fix_box_relax2.jpg - :align: center +.. math:: -where **I** is the identity matrix, **h**\ \_0 is the box dimension tensor of -the reference cell, and **h**\ \_0\ *d* is the diagonal part of -**h**\ \_0. **S**\ \_\ *t* is a symmetric stress tensor that is chosen by LAMMPS + \mathbf P = P_t \mathbf I + {\mathbf S_t} \left( \mathbf h_0^{-1} \right)^t \mathbf h_{0d} + + +where **I** is the identity matrix, :math:`\mathbf{h_0}` is the box +dimension tensor of the reference cell, and ::math:`\mathbf{h_{0d}}` +is the diagonal part of :math:`\mathbf{h_0}`. :math:`\mathbf{S_t}` +is a symmetric stress tensor that is chosen by LAMMPS so that the upper-triangular components of **P** equal the stress tensor specified by the user. diff --git a/doc/src/fix_controller.rst b/doc/src/fix_controller.rst index 7561df6856..839c01ef5f 100644 --- a/doc/src/fix_controller.rst +++ b/doc/src/fix_controller.rst @@ -97,43 +97,49 @@ The PID controller is invoked once each *Nevery* timesteps. The PID controller is implemented as a discretized version of the following dynamic equation: -.. image:: Eqs/fix_controller1.jpg - :align: center +.. math:: + \frac{dc}{dt} = \hat{E} -\alpha (K_p e + K_i \int_0^t e \, dt + K_d \frac{de}{dt} ) + where *c* is the continuous time analog of the control variable, *e* =\ *pvar*\ -\ *setpoint* is the error in the process variable, and -*alpha*\ , *Kp*\ , *Ki*\ , and *Kd* are constants set by the corresponding +:math:`\alpha`, :math:`K_p`, :math:`K_i` , and :math:`K_d` are constants +set by the corresponding keywords described above. The discretized version of this equation is: -.. image:: Eqs/fix_controller2.jpg - :align: center +.. math:: -where *tau* = *Nevery* \* *timestep* is the time interval between updates, + c_n = \hat{E} c_{n-1} -\alpha \left( K_p \tau e_n + K_i \tau^2 \sum_{i=1}^n e_i + K_d (e_n - e_{n-1}) \right) + + +where :math:`\tau = \mathtt{Nevery} \cdot \mathtt{timestep}` is the time +interval between updates, and the subscripted variables indicate the values of *c* and *e* at successive updates. From the first equation, it is clear that if the three gain values -*Kp*\ , *Ki*\ , *Kd* are dimensionless constants, then *alpha* must have +:math:`K_p`, :math:`K_i`, :math:`K_d` are dimensionless constants, +then :math:`\alpha` must have units of [unit *cvar*\ ]/[unit *pvar*\ ]/[unit time] e.g. [ eV/K/ps ]. The advantage of this unit scheme is that the value of the constants should be invariant under a change of either the MD timestep size or the value of *Nevery*\ . Similarly, if the LAMMPS :doc:`unit style ` is changed, it should only be necessary to change -the value of *alpha* to reflect this, while leaving *Kp*\ , *Ki*\ , and -*Kd* unaltered. +the value of :math:`\alpha` to reflect this, while leaving :math:`K_p`, +:math:`K_i`, and :math:`K_d` unaltered. When choosing the values of the four constants, it is best to first -pick a value and sign for *alpha* that is consistent with the -magnitudes and signs of *pvar* and *cvar*\ . The magnitude of *Kp* -should then be tested over a large positive range keeping *Ki* = *Kd* =0. -A good value for *Kp* will produce a fast response in *pvar*\ , without -overshooting the *setpoint*\ . For many applications, proportional -feedback is sufficient, and so *Ki* = *Kd* =0 can be used. In cases where -there is a substantial lag time in the response of *pvar* to a change -in *cvar*\ , this can be counteracted by increasing *Kd*\ . In situations +pick a value and sign for :math:`\alpha` that is consistent with the +magnitudes and signs of *pvar* and *cvar*\ . The magnitude of :math:`K_p` +should then be tested over a large positive range keeping :math:`K_i = K_d =0`. +A good value for :math:`K_p` will produce a fast response in *pvar*\ , +without overshooting the *setpoint*\ . For many applications, proportional +feedback is sufficient, and so :math:`K_i` = K_d =0` can be used. In cases +where there is a substantial lag time in the response of *pvar* to a change +in *cvar*\ , this can be counteracted by increasing :math:`K_d`. In situations where *pvar* plateaus without reaching *setpoint*\ , this can be -counteracted by increasing *Ki*\ . In the language of Charles Dickens, -*Kp* represents the error of the present, *Ki* the error of the past, -and *Kd* the error yet to come. +counteracted by increasing :math:`K_i`. In the language of Charles Dickens, +:math:`K_p` represents the error of the present, :math:`K_i` the error of +the past, and :math:`K_d` the error yet to come. Because this fix updates *cvar*\ , but does not initialize its value, the initial value is that assigned by the user in the input script via @@ -141,7 +147,7 @@ the :doc:`internal-style variable ` command. This value is used (by the other LAMMPS command that used the variable) until this fix performs its first update of *cvar* after *Nevery* timesteps. On the first update, the value of the derivative term is set to zero, -because the value of *e\_n-1* is not yet defined. +because the value of :math:`e_n-1` is not yet defined. ---------- diff --git a/doc/src/fix_ehex.rst b/doc/src/fix_ehex.rst index 34445fd284..9cc02261c7 100644 --- a/doc/src/fix_ehex.rst +++ b/doc/src/fix_ehex.rst @@ -78,13 +78,20 @@ additional thermostatting force to the equations of motion, such that the time evolution of coordinates and momenta of particle :math:`i` becomes :ref:`(Wirnsberger) ` -.. image:: Eqs/fix_ehex_eom.jpg - :align: center +.. math:: + + \dot{\mathbf r}_i &= \mathbf v_i, \\ + \dot{\mathbf v}_i &= \frac{\mathbf f_i}{m_i} + \frac{\mathbf g_i}{m_i}. The thermostatting force is given by -.. image:: Eqs/fix_ehex_f.jpg - :align: center +.. math:: + + \mathbf g_i = \begin{cases} + \frac{m_i}{2} \frac{ F_{\Gamma_{k(\mathbf r_i)}}}{ K_{\Gamma_{k(\mathbf r_i)}}} + \left(\mathbf v_i - \mathbf v_{\Gamma_{k(\mathbf r_i)}} \right) & \mbox{$k(\mathbf r_i)> 0$ (inside a reservoir),} \\ + 0 & \mbox{otherwise, } + \end{cases} where :math:`m_i` is the mass and :math:`k(\mathbf r_i)` maps the particle position to the respective reservoir. The quantity diff --git a/doc/src/fix_eos_cv.rst b/doc/src/fix_eos_cv.rst index b871429ffa..da1459970f 100644 --- a/doc/src/fix_eos_cv.rst +++ b/doc/src/fix_eos_cv.rst @@ -27,17 +27,19 @@ Description """"""""""" Fix *eos/cv* applies a mesoparticle equation of state to relate the -particle internal energy (u\_i) to the particle internal temperature -(dpdTheta\_i). The *eos/cv* mesoparticle equation of state requires +particle internal energy (:math:`u_i`) to the particle internal temperature +(:math:`\theta_i`). The *eos/cv* mesoparticle equation of state requires the constant-volume heat capacity, and is defined as follows: -.. image:: Eqs/fix_eos-cv.jpg - :align: center +.. math:: -where Cv is the constant-volume heat capacity, u\_cond is the internal -conductive energy, and u\_mech is the internal mechanical energy. Note -that alternative definitions of the mesoparticle equation of state are -possible. + u_{i} = u^{mech}_{i} + u^{cond}_{i} = C_{V} \theta_{i} + + +where :math:`C_V` is the constant-volume heat capacity, :math:`u^{cond}` +is the internal conductive energy, and :math:`u^{mech}` is the internal +mechanical energy. Note that alternative definitions of the mesoparticle +equation of state are possible. ---------- diff --git a/doc/src/fix_eos_table_rx.rst b/doc/src/fix_eos_table_rx.rst index a41ac404b7..681b656b53 100644 --- a/doc/src/fix_eos_table_rx.rst +++ b/doc/src/fix_eos_table_rx.rst @@ -40,30 +40,34 @@ Description Fix *eos/table/rx* applies a tabulated mesoparticle equation of state to relate the concentration-dependent particle internal -energy (u\_i) to the particle internal temperature (dpdTheta\_i). +energy (:math:`u_i`) to the particle internal temperature (:math:`\theta_i`). -The concentration-dependent particle internal energy (u\_i) is +The concentration-dependent particle internal energy (:math:`u_i`) is computed according to the following relation: -.. image:: Eqs/fix_eos_table_rx.jpg - :align: center +.. math:: -where *m* is the number of species, *c\_i,j* is the concentration of -species *j* in particle *i*\ , *u\_j* is the internal energy of species j, -*DeltaH\_f,j* is the heat of formation of species *j*\ , N is the number of -molecules represented by the coarse-grained particle, kb is the -Boltzmann constant, and T is the temperature of the system. Additionally, -it is possible to modify the concentration-dependent particle internal + U_{i} = \displaystyle\sum_{j=1}^{m} c_{i,j}(u_{j} + \Delta H_{f,j}) + \frac{3k_{b}T}{2} + Nk_{b}T \\ + + +where *m* is the number of species, :math:`c_{i,j}` is the +concentration of species *j* in particle *i*\ , :math:`u_j` is the +internal energy of species j, :math:`\Delta H_{f,j} is the heat of +formation of species *j*\ , N is the number of molecules represented +by the coarse-grained particle, :math:`k_b` is the Boltzmann constant, +and *T* is the temperature of the system. Additionally, it is +possible to modify the concentration-dependent particle internal energy relation by adding an energy correction, temperature-dependent -correction, and/or a molecule-dependent correction. An energy correction can -be specified as a constant (in energy units). A temperature correction can be -specified by multiplying a temperature correction coefficient by the -internal temperature. A molecular correction can be specified by -by multiplying a molecule correction coefficient by the average number of -product gas particles in the coarse-grain particle. +correction, and/or a molecule-dependent correction. An energy +correction can be specified as a constant (in energy units). A +temperature correction can be specified by multiplying a temperature +correction coefficient by the internal temperature. A molecular +correction can be specified by by multiplying a molecule correction +coefficient by the average number of product gas particles in the +coarse-grain particle. Fix *eos/table/rx* creates interpolation tables of length *N* from *m* -internal energy values of each species *u\_j* listed in a file as a +internal energy values of each species :math:`u_j` listed in a file as a function of internal temperature. During a simulation, these tables are used to interpolate internal energy or temperature values as needed. The interpolation is done with the *linear* style. For the *linear* style, @@ -72,20 +76,21 @@ which an internal energy is computed by linear interpolation. A secant solver is used to determine the internal temperature from the internal energy. The first filename specifies a file containing tabulated internal -temperature and *m* internal energy values for each species *u\_j*. +temperature and *m* internal energy values for each species :math:`u_j`. The keyword specifies a section of the file. The format of this file is described below. The second filename specifies a file containing heat of formation -*DeltaH\_f,j* for each species. +:math:`\Delta H_{f,j}` for each species. In cases where the coarse-grain particle represents a single molecular -species (i.e., no reactions occur and fix *rx* is not present in the input file), -fix *eos/table/rx* can be applied in a similar manner to fix *eos/table* -within a non-reactive DPD simulation. In this case, the heat of formation -filename is replaced with the heat of formation value for the single species. -Additionally, the energy correction and temperature correction coefficients may -also be specified as fix arguments. +species (i.e., no reactions occur and fix *rx* is not present in the +input file), fix *eos/table/rx* can be applied in a similar manner to +fix *eos/table* within a non-reactive DPD simulation. In this case, +the heat of formation filename is replaced with the heat of formation +value for the single species. Additionally, the energy correction and +temperature correction coefficients may also be specified as fix +arguments. ---------- diff --git a/doc/src/fix_gcmc.rst b/doc/src/fix_gcmc.rst index a0717dd6ae..dd06d074a4 100644 --- a/doc/src/fix_gcmc.rst +++ b/doc/src/fix_gcmc.rst @@ -248,8 +248,10 @@ two groups: the default group "all" and the fix group The chemical potential is a user-specified input parameter defined as: -.. image:: Eqs/fix_gcmc1.jpg - :align: center +.. math:: + + \mu = \mu^{id} + \mu^{ex} + The second term mu\_ex is the excess chemical potential due to energetic interactions and is formally zero for the fictitious gas @@ -260,31 +262,35 @@ quite different. The first term mu\_id is the ideal gas contribution to the chemical potential. mu\_id can be related to the density or pressure of the fictitious gas reservoir by: -.. image:: Eqs/fix_gcmc2.jpg - :align: center +.. math:: -where k is Boltzman's constant, -T is the user-specified temperature, rho is the number density, -P is the pressure, and phi is the fugacity coefficient. -The constant Lambda is required for dimensional consistency. -For all unit styles except *lj* it is defined as the thermal -de Broglie wavelength + \mu^{id} = & k T \ln{\rho \Lambda^3} \\ + = & k T \ln{\frac{\phi P \Lambda^3}{k T}} -.. image:: Eqs/fix_gcmc3.jpg - :align: center -where h is Planck's constant, and m is the mass of the exchanged atom -or molecule. For unit style *lj*\ , Lambda is simply set to the -unity. Note that prior to March 2017, lambda for unit style *lj* was -calculated using the above formula with h set to the rather specific +where *k* is Boltzman's constant, *T* is the user-specified +temperature, :math:`\rho` is the number density, *P* is the pressure, +and :math:`\phi` is the fugacity coefficient. The constant +:math:`\Lambda` is required for dimensional consistency. For all unit +styles except *lj* it is defined as the thermal de Broglie wavelength + +.. math:: + + \Lambda = \sqrt{ \frac{h^2}{2 \pi m k T}} + + +where *h* is Planck's constant, and *m* is the mass of the exchanged atom +or molecule. For unit style *lj*\ , :math:`\Lambda` is simply set to +unity. Note that prior to March 2017, :math:`\Lambda` for unit style *lj* +was calculated using the above formula with *h* set to the rather specific value of 0.18292026. Chemical potential under the old definition can be converted to an equivalent value under the new definition by -subtracting 3kTln(Lambda\_old). +subtracting :math:`3 k T \ln(\Lambda_{old})`. As an alternative to specifying mu directly, the ideal gas reservoir -can be defined by its pressure P using the *pressure* keyword, in +can be defined by its pressure *P* using the *pressure* keyword, in which case the user-specified chemical potential is ignored. The user -may also specify the fugacity coefficient phi using the +may also specify the fugacity coefficient :math:`\phi` using the *fugacity\_coeff* keyword, which defaults to unity. The *full\_energy* option means that the fix calculates the total @@ -322,7 +328,7 @@ this will ensure roughly the same behavior whether or not the *full\_energy* option is used. Inserted atoms and molecules are assigned random velocities based on -the specified temperature T. Because the relative velocity of all +the specified temperature *T*. Because the relative velocity of all atoms in the molecule is zero, this may result in inserted molecules that are systematically too cold. In addition, the intramolecular potential energy of the inserted molecule may cause the kinetic energy diff --git a/doc/src/fix_gld.rst b/doc/src/fix_gld.rst index fdc1bd3c6a..8dc2b9dd98 100644 --- a/doc/src/fix_gld.rst +++ b/doc/src/fix_gld.rst @@ -62,8 +62,12 @@ to be a Prony series. With this fix active, the force on the *j*\ th atom is given as -.. image:: Eqs/fix_gld1.jpg - :align: center +.. math:: + + {\bf F}_{j}(t) = & {\bf F}^C_j(t)-\int \limits_{0}^{t} \Gamma_j(t-s) {\bf v}_j(s)~\text{d}s + {\bf F}^R_j(t) \\ + \Gamma_j(t-s) = & \sum \limits_{k=1}^{N_k} \frac{c_k}{\tau_k} e^{-(t-s)/\tau_k} \\ + \langle{\bf F}^R_j(t),{\bf F}^R_j(s)\rangle = & \text{k$_\text{B}$T} ~\Gamma_j(t-s) + Here, the first term is representative of all conservative (pairwise, bonded, etc) forces external to this fix, the second is the temporally @@ -72,7 +76,7 @@ the colored Gaussian random force. The Prony series form of the memory kernel is chosen to enable an extended variable formalism, with a number of exemplary mathematical -features discussed in :ref:`(Baczewski) `. In particular, 3N\_k +features discussed in :ref:`(Baczewski) `. In particular, :math:`3N_k` extended variables are added to each atom, which effect the action of the memory kernel without having to explicitly evaluate the integral over time in the second term of the force. This also has the benefit diff --git a/doc/src/fix_grem.rst b/doc/src/fix_grem.rst index 4c2054e0c0..53b815ec36 100644 --- a/doc/src/fix_grem.rst +++ b/doc/src/fix_grem.rst @@ -38,17 +38,19 @@ which uses non-Boltzmann ensembles to sample over first order phase transitions. The is done by defining replicas with an enthalpy dependent effective temperature -.. image:: Eqs/fix_grem.jpg - :align: center +.. math:: -with *eta* negative and steep enough to only intersect the + T_{eff} = \lambda + \eta (H - H_0) + + +with :math:`\eta` negative and steep enough to only intersect the characteristic microcanonical temperature (Ts) of the system once, -ensuring a unimodal enthalpy distribution in that replica. *Lambda* is -the intercept and effects the generalized ensemble similar to how -temperature effects a Boltzmann ensemble. *H0* is a reference -enthalpy, and is typically set as the lowest desired sampled enthalpy. -Further explanation can be found in our recent papers -:ref:`(Malolepsza) `. +ensuring a unimodal enthalpy distribution in that replica. +:math:`\lambda` is the intercept and effects the generalized ensemble +similar to how temperature effects a Boltzmann ensemble. :math:`H_0` +is a reference enthalpy, and is typically set as the lowest desired +sampled enthalpy. Further explanation can be found in our recent +papers :ref:`(Malolepsza) `. This fix requires a Nose-Hoover thermostat fix reference passed to the grem as *thermostat-ID*\ . Two distinct temperatures exist in this @@ -59,13 +61,13 @@ algorithms can be used. The fix enforces a generalized ensemble in a single replica only. Typically, this ideology is combined with replica exchange with -replicas differing by *lambda* only for simplicity, but this is not +replicas differing by :math:`\lambda` only for simplicity, but this is not required. A multi-replica simulation can be run within the LAMMPS environment using the :doc:`temper/grem ` command. This utilizes LAMMPS partition mode and requires the number of available processors be on the order of the number of desired replicas. A 100-replica simulation would require at least 100 processors (1 per -world at minimum). If a many replicas are needed on a small number of +world at minimum). If many replicas are needed on a small number of processors, multi-replica runs can be run outside of LAMMPS. An example of this can be found in examples/USER/misc/grem and has no limit on the number of replicas per processor. However, this is very @@ -74,13 +76,13 @@ inefficient and error prone and should be avoided if possible. In general, defining the generalized ensembles is unique for every system. When starting a many-replica simulation without any knowledge of the underlying microcanonical temperature, there are several tricks -we have utilized to optimize the process. Choosing a less-steep *eta* -yields broader distributions, requiring fewer replicas to map the -microcanonical temperature. While this likely struggles from the same -sampling problems gREM was built to avoid, it provides quick insight -to Ts. Initially using an evenly-spaced *lambda* distribution -identifies regions where small changes in enthalpy lead to large -temperature changes. Replicas are easily added where needed. +we have utilized to optimize the process. Choosing a less-steep +:math:`\eta` yields broader distributions, requiring fewer replicas to +map the microcanonical temperature. While this likely struggles from +the same sampling problems gREM was built to avoid, it provides quick +insight to Ts. Initially using an evenly-spaced :math:`\lambda` +distribution identifies regions where small changes in enthalpy lead +to large temperature changes. Replicas are easily added where needed. ---------- diff --git a/doc/src/fix_hyper_global.rst b/doc/src/fix_hyper_global.rst index 809bd37981..2d0cda5970 100644 --- a/doc/src/fix_hyper_global.rst +++ b/doc/src/fix_hyper_global.rst @@ -58,65 +58,67 @@ Fichthorn as described in :ref:`(Miron) `. In LAMMPS we use a simplified version of bond-boost GHD where a single bond in the system is biased at any one timestep. -Bonds are defined between each pair of I,J atoms whose R0ij distance -is less than *cutbond*\ , when the system is in a quenched state +Bonds are defined between each pair of atoms *ij*\ , whose :math:`R^0_{ij}` +distance is less than *cutbond*\ , when the system is in a quenched state (minimum) energy. Note that these are not "bonds" in a covalent sense. A bond is simply any pair of atoms that meet the distance criterion. *Cutbond* is an argument to this fix; it is discussed -below. A bond is only formed if one or both of the I.J atoms are in +below. A bond is only formed if one or both of the *ij* atoms are in the specified group. -The current strain of bond IJ (when running dynamics) is defined as +The current strain of bond *ij* (when running dynamics) is defined as -.. parsed-literal:: +.. math:: - Eij = (Rij - R0ij) / R0ij + E_{ij} = \frac{R_{ij} - R^0_{ij}}{R^0_{ij}} -where Rij is the current distance between atoms I,J, and R0ij is the -equilibrium distance in the quenched state. +where :math:`R_{ij}` is the current distance between atoms *i* and *j*\ , +and :math:`R^0_{ij}` is the equilibrium distance in the quenched state. -The bias energy Vij of any bond IJ is defined as +The bias energy :math:`V_{ij}` of any bond between atoms *i* and *j* +is defined as -.. parsed-literal:: +.. math:: - Vij = Vmax \* (1 - (Eij/q)\^2) for abs(Eij) < qfactor - = 0 otherwise + V_{ij} = V^{max} \cdot \left( 1 - \left(\frac{E_{ij}}{q}\right)^2 \right) \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} -where the prefactor *Vmax* and the cutoff *qfactor* are arguments to +where the prefactor :math:`V^{max}` and the cutoff *qfactor* are arguments to this fix; they are discussed below. This functional form is an -inverse parabola centered at 0.0 with height Vmax and which goes to -0.0 at +/- qfactor. +inverse parabola centered at 0.0 with height :math:`V^{max}` and +which goes to 0.0 at +/- qfactor. -Let Emax = the maximum of abs(Eij) for all IJ bonds in the system on a -given timestep. On that step, Vij is added as a bias potential to -only the single bond with strain Emax, call it Vij(max). Note that -Vij(max) will be 0.0 if Emax >= qfactor on that timestep. Also note -that Vij(max) is added to the normal interatomic potential that is -computed between all atoms in the system at every step. +Let :math:`E^{max}` be the maximum of :math:`\left| E_{ij} \right|` +for all *ij* bonds in the system on a +given timestep. On that step, :math:`V_{ij}` is added as a bias potential +to only the single bond with strain :math:`E^{max}`, call it +:math:`V^{max}_{ij}`. Note that :math:`V^{max}_{ij}` will be 0.0 +if :math:`E^{max} >= \textrm{qfactor}` on that timestep. Also note +that :math:`V^{max}_{ij}` is added to the normal interatomic potential +that is computed between all atoms in the system at every step. -The derivative of Vij(max) with respect to the position of each atom -in the Emax bond gives a bias force Fij(max) acting on the bond as +The derivative of :math:`V^{max}_{ij}` with respect to the position of +each atom in the :math:`E^{max}` bond gives a bias force +:math:`F^{max}_{ij}` acting on the bond as -.. parsed-literal:: +.. math:: - Fij(max) = - dVij(max)/dEij = 2 Vmax Eij / qfactor\^2 for abs(Eij) < qfactor - = 0 otherwise + F^{max}_{ij} = - \frac{dV^{max}_{ij}}{dE_{ij}} = \frac{2 V^{max} E-{ij}}{\textrm{qfactor}^2} \textrm{ for } \left|E_{ij}\right| < \textrm{qfactor} \textrm{ or } 0 \textrm{ otherwise} which can be decomposed into an equal and opposite force acting on -only the two I,J atoms in the Emax bond. +only the two *ij* atoms in the :math:`E^{max}` bond. The time boost factor for the system is given each timestep I by -.. parsed-literal:: +.. math:: - Bi = exp(beta \* Vij(max)) + B_i = e^{\beta V^{max}_{ij}} -where beta = 1/kTequil, and *Tequil* is the temperature of the system -and an argument to this fix. Note that Bi >= 1 at every step. +where :math:`\beta = \frac{1}{kT_{equil}}`, and :math:`T_{equil}` is the temperature of the system +and an argument to this fix. Note that :math:`B_i >= 1` at every step. .. note:: @@ -125,21 +127,21 @@ and an argument to this fix. Note that Bi >= 1 at every step. constant-temperature (NVT) dynamics. LAMMPS does not check that this is done. -The elapsed time t\_hyper for a GHD simulation running for *N* +The elapsed time :math:`t_{hyper}` for a GHD simulation running for *N* timesteps is simply -.. parsed-literal:: +.. math:: - t_hyper = Sum (i = 1 to N) Bi \* dt + t_{hyper} = \sum_{i=1,N} B-i \cdot dt -where dt is the timestep size defined by the :doc:`timestep ` +where *dt* is the timestep size defined by the :doc:`timestep ` command. The effective time acceleration due to GHD is thus t\_hyper / N\*dt, where N\*dt is elapsed time for a normal MD run of N timesteps. Note that in GHD, the boost factor varies from timestep to timestep. -Likewise, which bond has Emax strain and thus which pair of atoms the -bias potential is added to, will also vary from timestep to timestep. +Likewise, which bond has :math:`E^{max}` strain and thus which pair of +atoms the bias potential is added to, will also vary from timestep to timestep. This is in contrast to local hyperdynamics (LHD) where the boost factor is an input parameter; see the :doc:`fix hyper/local ` doc page for details. @@ -150,9 +152,9 @@ factor is an input parameter; see the :doc:`fix hyper/local ` d Here is additional information on the input parameters for GHD. The *cutbond* argument is the cutoff distance for defining bonds -between pairs of nearby atoms. A pair of I,J atoms in their +between pairs of nearby atoms. A pair of *ij* atoms in their equilibrium, minimum-energy configuration, which are separated by a -distance Rij < *cutbond*\ , are flagged as a bonded pair. Setting +distance :math:`R_{ij} < cutbond`, are flagged as a bonded pair. Setting *cubond* to be ~25% larger than the nearest-neighbor distance in a crystalline lattice is a typical choice for solids, so that bonds exist only between nearest neighbor pairs. @@ -166,7 +168,7 @@ could still experience a non-zero bias force. If *qfactor* is set too large, then transitions from one energy basin to another are affected because the bias potential is non-zero at the transition state (e.g. saddle point). If *qfactor* is set too small -than little boost is achieved because the Eij strain of some bond in +than little boost is achieved because the :math:`E_{ij}` strain of some bond in the system will (nearly) always exceed *qfactor*\ . A value of 0.3 for *qfactor* is typically reasonable. @@ -220,7 +222,7 @@ scalar is the magnitude of the bias potential (energy units) applied on the current timestep. The vector stores the following quantities: * 1 = boost factor on this step (unitless) -* 2 = max strain Eij of any bond on this step (absolute value, unitless) +* 2 = max strain :math:`E_{ij}` of any bond on this step (absolute value, unitless) * 3 = ID of first atom in the max-strain bond * 4 = ID of second atom in the max-strain bond * 5 = average # of bonds/atom on this step diff --git a/doc/src/fix_hyper_local.rst b/doc/src/fix_hyper_local.rst index 335cd10f69..d7d0f012b6 100644 --- a/doc/src/fix_hyper_local.rst +++ b/doc/src/fix_hyper_local.rst @@ -77,66 +77,66 @@ To understand this description, you should first read the description of the GHD algorithm on the :doc:`fix hyper/global ` doc page. This description of LHD builds on the GHD description. -The definition of bonds and Eij are the same for GHD and LHD. The -formulas for Vij(max) and Fij(max) are also the same except for a -pre-factor Cij, explained below. +The definition of bonds and :math:`E_{ij}` are the same for GHD and LHD. +The formulas for :math:`V^{max}_{ij}` and :math:`F^{max}_{ij}` are also +the same except for a pre-factor :math:`C_{ij}`, explained below. -The bias energy Vij applied to a bond IJ with maximum strain is +The bias energy :math:`V_{ij}` applied to a bond *ij* with maximum strain is -.. parsed-literal:: +.. math:: - Vij(max) = Cij \* Vmax \* (1 - (Eij/q)\^2) for abs(Eij) < qfactor - = 0 otherwise + V^{max}_{ij} = C_{ij} \cdot V^{max} \cdot \left(1 - \left(\frac{E_{ij}}{q}\right)^2\right) \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} -The derivative of Vij(max) with respect to the position of each atom -in the IJ bond gives a bias force Fij(max) acting on the bond as +The derivative of :math:`V^{max}_{ij}` with respect to the position of +each atom in the *ij* bond gives a bias force :math:`F^{max}_{ij}` acting +on the bond as -.. parsed-literal:: +.. math:: - Fij(max) = - dVij(max)/dEij = 2 Cij Vmax Eij / qfactor\^2 for abs(Eij) < qfactor - = 0 otherwise + F^{max}_{ij} = - \frac{dV^{max}_{ij}}{dE_{ij}} = 2 C_{ij} V^{max} \frac{E_{ij}}{qfactor^2} \textrm{ for } \left|E_{ij}\right| < qfactor \textrm{ or } 0 \textrm{ otherwise} which can be decomposed into an equal and opposite force acting on -only the two I,J atoms in the IJ bond. +only the two atoms *i* and *j* in the *ij* bond. The key difference is that in GHD a bias energy and force is added (on a particular timestep) to only one bond (pair of atoms) in the system, -which is the bond with maximum strain Emax. +which is the bond with maximum strain :math:`E^{max}`. In LHD, a bias energy and force can be added to multiple bonds -separated by the specified *Dcut* distance or more. A bond IJ is +separated by the specified *Dcut* distance or more. A bond *ij* is biased if it is the maximum strain bond within its local -"neighborhood", which is defined as the bond IJ plus any neighbor -bonds within a distance *Dcut* from IJ. The "distance" between bond -IJ and bond KL is the minimum distance between any of the IK, IL, JK, -JL pairs of atoms. +"neighborhood", which is defined as the bond *ij* plus any neighbor +bonds within a distance *Dcut* from *ij*. The "distance" between bond +*ij* and bond *kl* is the minimum distance between any of the *ik*, *il*, +*jk*, and *jl* pairs of atoms. For a large system, multiple bonds will typically meet this -requirement, and thus a bias potential Vij(max) will be applied to -many bonds on the same timestep. +requirement, and thus a bias potential :math:`V^{max}_{ij}` will be +applied to many bonds on the same timestep. -In LHD, all bonds store a Cij prefactor which appears in the Vij(max) -and Fij(max) equations above. Note that the Cij factor scales the -strength of the bias energy and forces whenever bond IJ is the maximum -strain bond in its neighborhood. +In LHD, all bonds store a :math:`C_{ij}` prefactor which appears in +the :math:`V^{max}_{ij}` and :math:`F^{max}_{ij}equations above. Note +that the :math:`C_{ij}` factor scales the strength of the bias energy +and forces whenever bond *ij* is the maximum strain bond in its neighborhood. -Cij is initialized to 1.0 when a bond between the I,J atoms is first -defined. The specified *Btarget* factor is then used to adjust the -Cij prefactors for each bond every timestep in the following manner. +:math:`C_{ij}` is initialized to 1.0 when a bond between the *ij* atoms +is first defined. The specified *Btarget* factor is then used to adjust the +:math:`C_{ij}` prefactors for each bond every timestep in the following manner. -An instantaneous boost factor Bij is computed each timestep +An instantaneous boost factor :math:`B_{ij}` is computed each timestep for each bond, as -.. parsed-literal:: +.. math:: - Bij = exp(beta \* Vkl(max)) + B_{ij} = e^{\beta V^{max}_{kl}} -where Vkl(max) is the bias energy of the maxstrain bond KL within bond -IJ's neighborhood, beta = 1/kTequil, and *Tequil* is the temperature -of the system and an argument to this fix. +where :math:`V^{max}_{kl}` is the bias energy of the maxstrain bond *kl* +within bond *ij*\ 's neighborhood, :math:`\beta = \frac{1}{kT_{equil}}`, +and :math:`T_{equil}` is the temperature of the system and an argument +to this fix. .. note:: @@ -146,28 +146,32 @@ of the system and an argument to this fix. running constant-temperature (NVT) dynamics. LAMMPS does not check that this is done. -Note that if IJ = KL, then bond IJ is a biased bond on that timestep, -otherwise it is not. But regardless, the boost factor Bij can be -thought of an estimate of time boost currently being applied within a -local region centered on bond IJ. For LHD, we want this to be the -specified *Btarget* value everywhere in the simulation domain. +Note that if *ij*\ == *kl*\ , then bond *ij* is a biased bond on that +timestep, otherwise it is not. But regardless, the boost factor +:math:`B_{ij}` can be thought of an estimate of time boost currently +being applied within a local region centered on bond *ij*. For LHD, +we want this to be the specified *Btarget* value everywhere in the +simulation domain. -To accomplish this, if Bij < Btarget, the Cij prefactor for bond IJ is -incremented on the current timestep by an amount proportional to the -inverse of the specified *alpha* and the difference (Bij - Btarget). -Conversely if Bij > Btarget, Cij is decremented by the same amount. -This procedure is termed "boostostatting" in -:ref:`(Voter2013) `. It drives all of the individual Cij to -values such that when Vij\ *max* is applied as a bias to bond IJ, the -resulting boost factor Bij will be close to *Btarget* on average. +To accomplish this, if :math:`B_{ij} < B_{target}`, the :math:`C_{ij}` +prefactor for bond *ij* is incremented on the current timestep by an +amount proportional to the inverse of the specified *alpha* and the +difference (:math:`B_{ij} - B_{target}`). +Conversely if :math:`B_{ij} > B_{target}`, :math:`C_{ij}` is decremented +by the same amount. +This procedure is termed "boostostatting" in :ref:`(Voter2013) `. +It drives all of the individual :math:`C_{ij}` to +values such that when :math:`V^{max}_{ij}` is applied as a bias to +bond *ij*, the resulting boost factor :math:`B_{ij}` will be close +to :math:`B_{target}` on average. Thus the LHD time acceleration factor for the overall system is effectively *Btarget*\ . -Note that in LHD, the boost factor *Btarget* is specified by the user. +Note that in LHD, the boost factor :math:`B_{target}` is specified by the user. This is in contrast to global hyperdynamics (GHD) where the boost -factor varies each timestep and is computed as a function of *Vmax*\ , -Emax, and *Tequil*\ ; see the :doc:`fix hyper/global ` -doc page for details. +factor varies each timestep and is computed as a function of :math:`V_{max}`, +:math:`E_{max}`, and :math:`T_{equil}`; see the +:doc:`fix hyper/global ` doc page for details. ---------- @@ -182,7 +186,7 @@ The *Dcut*\ , *alpha*\ , and *Btarget* parameters are unique to LHD. The *cutbond* argument is the cutoff distance for defining bonds between pairs of nearby atoms. A pair of I,J atoms in their equilibrium, minimum-energy configuration, which are separated by a -distance Rij < *cutbond*\ , are flagged as a bonded pair. Setting +distance :math:`R_{ij} < cutbond`, are flagged as a bonded pair. Setting *cubond* to be ~25% larger than the nearest-neighbor distance in a crystalline lattice is a typical choice for solids, so that bonds exist only between nearest neighbor pairs. @@ -190,37 +194,40 @@ exist only between nearest neighbor pairs. The *qfactor* argument is the limiting strain at which the bias potential goes to 0.0. It is dimensionless, so a value of 0.3 means a bond distance can be up to 30% larger or 30% smaller than the -equilibrium (quenched) R0ij distance and the two atoms in the bond +equilibrium (quenched) :math:`R^0_{ij}` distance and the two atoms in the bond could still experience a non-zero bias force. If *qfactor* is set too large, then transitions from one energy basin to another are affected because the bias potential is non-zero at the transition state (e.g. saddle point). If *qfactor* is set too small -than little boost can be achieved because the Eij strain of some bond in +than little boost can be achieved because the :math:`E_{ij}` strain of +some bond in the system will (nearly) always exceed *qfactor*\ . A value of 0.3 for *qfactor* is typically a reasonable value. The *Vmax* argument is a fixed prefactor on the bias potential. There -is a also a dynamic prefactor Cij, driven by the choice of *Btarget* -as discussed above. The product of these should be a value less than +is a also a dynamic prefactor :math:`C_{ij}`, driven by the choice of +*Btarget* as discussed above. The product of these should be a value less than the smallest barrier height for an event to occur. Otherwise the applied bias potential may be large enough (when added to the interatomic potential) to produce a local energy basin with a maxima in the center. This can produce artificial energy minima in the same -basin that trap an atom. Or if Cij\*\ *Vmax* is even larger, it may +basin that trap an atom. Or if :math:`C_{ij} \cdot V^{max}` is even +larger, it may induce an atom(s) to rapidly transition to another energy basin. Both cases are "bad dynamics" which violate the assumptions of LHD that guarantee an accelerated time-accurate trajectory of the system. .. note:: - It may seem that *Vmax* can be set to any value, and Cij will - compensate to reduce the overall prefactor if necessary. However the - Cij are initialized to 1.0 and the boostostatting procedure typically - operates slowly enough that there can be a time period of bad dynamics - if *Vmax* is set too large. A better strategy is to set *Vmax* to the + It may seem that :math:`V^{max}` can be set to any value, and + :math:`C_{ij}` will compensate to reduce the overall prefactor + if necessary. However the :math:`C_{ij}` are initialized to 1.0 + and the boostostatting procedure typically operates slowly enough + that there can be a time period of bad dynamics if :math:`V^{max}` + is set too large. A better strategy is to set :math:`V^{max}` to the slightly smaller than the lowest barrier height for an event (the same - as for GHD), so that the Cij remain near unity. + as for GHD), so that the :math:`C_{ij}` remain near unity. The *Tequil* argument is the temperature at which the system is simulated; see the comment above about the :doc:`fix langevin ` thermostatting. It is also part of the @@ -262,11 +269,11 @@ half the *cutbond* parameter as an estimate to warn if the ghost cutoff is not long enough. As described above the *alpha* argument is a pre-factor in the -boostostat update equation for each bond's Cij prefactor. *Alpha* is -specified in time units, similar to other thermostat or barostat +boostostat update equation for each bond's :math:`C_{ij}` prefactor. +*Alpha* is specified in time units, similar to other thermostat or barostat damping parameters. It is roughly the physical time it will take the -boostostat to adjust a Cij value from a too high (or too low) value to -a correct one. An *alpha* setting of a few ps is typically good for +boostostat to adjust a :math:`C_{ij}` value from a too high (or too low) +value to a correct one. An *alpha* setting of a few ps is typically good for solid-state systems. Note that the *alpha* argument here is the inverse of the alpha parameter discussed in :ref:`(Voter2013) `. @@ -276,25 +283,26 @@ that all the atoms in the system will experience. The elapsed time t\_hyper for an LHD simulation running for *N* timesteps is simply -.. parsed-literal:: +.. math:: - t_hyper = Btarget \* N\*dt + t_{hyper} = B_{target} \cdot N \cdot dt -where dt is the timestep size defined by the :doc:`timestep ` -command. The effective time acceleration due to LHD is thus t\_hyper / -N\*dt = Btarget, where N\*dt is elapsed time for a normal MD run -of N timesteps. +where *dt* is the timestep size defined by the :doc:`timestep ` +command. The effective time acceleration due to LHD is thus +:math:`\frac{t_{hyper}}{N\cdot dt} = B_{target}`, where :math:`N\cdot dt` +is the elapsed time for a normal MD run of N timesteps. You cannot choose an arbitrarily large setting for *Btarget*\ . The maximum value you should choose is -.. parsed-literal:: +.. math:: - Btarget = exp(beta \* Vsmall) + B_{target} = e^{\beta V_{small}} -where Vsmall is the smallest event barrier height in your system, beta -= 1/kTequil, and *Tequil* is the specified temperature of the system +where :math:`V_{small}` is the smallest event barrier height in your +system, :math:`\beta = \frac{1}{kT_{equil}}`, and :math:`T_{equil}` +is the specified temperature of the system (both by this fix and the Langevin thermostat). Note that if *Btarget* is set smaller than this, the LHD simulation @@ -315,41 +323,42 @@ time (t\_hyper equation above) will be shorter. Here is additional information on the optional keywords for this fix. -The *bound* keyword turns on min/max bounds for bias coefficients Cij -for all bonds. Cij is a prefactor for each bond on the bias potential -of maximum strength Vmax. Depending on the choice of *alpha* and -*Btarget* and *Vmax*\ , the boostostatting can cause individual Cij -values to fluctuate. If the fluctuations are too large Cij\*Vmax can -exceed low barrier heights and induce bad event dynamics. Bounding -the Cij values is a way to prevent this. If *Bfrac* is set to -1 or -any negative value (the default) then no bounds are enforced on Cij -values (except they must always be >= 0.0). A *Bfrac* setting >= 0.0 -sets a lower bound of 1.0 - Bfrac and upper bound of 1.0 + Bfrac on -each Cij value. Note that all Cij values are initialized to 1.0 when -a bond is created for the first time. Thus *Bfrac* limits the bias -potential height to *Vmax* +/- *Bfrac*\ \*\ *Vmax*\ . +The *bound* keyword turns on min/max bounds for bias coefficients +:math:`C_{ij}` for all bonds. :math:`C_{ij}` is a prefactor for each bond on +the bias potential of maximum strength :math:`V^{max}`. Depending on the +choice of *alpha* and *Btarget* and *Vmax*\ , the boostostatting can cause +individual :math:`C_{ij}` values to fluctuate. If the fluctuations are too +large :math:`C_{ij} \cdot V^{max}` can exceed low barrier heights and induce +bad event dynamics. Bounding the :math:`C_{ij}` values is a way to prevent +this. If *Bfrac* is set to -1 or any negative value (the default) then no +bounds are enforced on :math:`C_{ij}` values (except they must always +be >= 0.0). A *Bfrac* setting >= 0.0 +sets a lower bound of 1.0 - Bfrac and upper bound of 1.0 + Bfrac on each +:math:`C_{ij}` value. Note that all :math:`C_{ij}` values are initialized +to 1.0 when a bond is created for the first time. Thus *Bfrac* limits the +bias potential height to *Vmax* +/- *Bfrac*\ \*\ *Vmax*\ . -The *reset* keyword allow *Vmax* to be adjusted dynamically depending -on the average value of all Cij prefactors. This can be useful if you +The *reset* keyword allow *Vmax* to be adjusted dynamically depending on the +average value of all :math:`C_{ij}` prefactors. This can be useful if you are unsure what value of *Vmax* will match the *Btarget* boost for the -system. The Cij values will then adjust in aggregate (up or down) so -that Cij\*Vmax produces a boost of *Btarget*\ , but this may conflict -with the *bound* keyword settings. By using *bound* and *reset* -together, *Vmax* itself can be reset, and desired bounds still applied -to the Cij values. +system. The :math:`C_{ij}` values will then adjust in aggregate (up or down) +so that :math:`C_{ij} \cdot V^{max}` produces a boost of *Btarget*\ , but this +may conflict with the *bound* keyword settings. By using *bound* and *reset* +together, :math:`V^{max}` itself can be reset, and desired bounds still applied +to the :math:`C_{ij}` values. A setting for *Rfreq* of -1 (the default) means *Vmax* never changes. -A setting of 0 means *Vmax* is adjusted every time an event occurs and +A setting of 0 means :math:`V^{max}` is adjusted every time an event occurs and bond pairs are recalculated. A setting of N > 0 timesteps means -*Vmax* is adjusted on the first time an event occurs on a timestep >= -N steps after the previous adjustment. The adjustment to *Vmax* is -computed as follows. The current average of all Cij\*Vmax values is -computed and the *Vmax* is reset to that value. All Cij values are -changed to new prefactors such the new Cij\*Vmax is the same as it was -previously. If the *bound* keyword was used, those bounds are -enforced on the new Cij values. Henceforth, new bonds are assigned a -Cij = 1.0, which means their bias potential magnitude is the new -*Vmax*\ . +:math:`V^{max}` is adjusted on the first time an event occurs on a timestep >= +N steps after the previous adjustment. The adjustment to :math:`V^{max}` is +computed as follows. The current average of all :math:`C_{ij} \cdot V^{max}` +values is computed and the :math:`V^{max}` is reset to that value. All +:math:`C_{ij}` values are changed to new prefactors such the new +:math:`C_{ij} \cdot V^{max}` is the same as it was previously. If the +*bound* keyword was used, those bounds are enforced on the new :math:`C_{ij}` +values. Henceforth, new bonds are assigned a :math:`C_{ij} = 1.0`, which +means their bias potential magnitude is the new :math:`V^{max}`. The *check/ghost* keyword turns on extra computation each timestep to compute statistics about ghost atoms used to determine which bonds to @@ -390,8 +399,8 @@ vector stores the following quantities: * 1 = average boost for all bonds on this step (unitless) * 2 = # of biased bonds on this step -* 3 = max strain Eij of any bond on this step (absolute value, unitless) -* 4 = value of Vmax on this step (energy units) +* 3 = max strain :math:`E_{ij}` of any bond on this step (absolute value, unitless) +* 4 = value of :math:`V^{max}` on this step (energy units) * 5 = average bias coeff for all bonds on this step (unitless) * 6 = min bias coeff for all bonds on this step (unitless) * 7 = max bias coeff for all bonds on this step (unitless) @@ -428,12 +437,12 @@ multiple runs (since the point in the input script the fix was defined). For value 10, each bond instantaneous boost factor is given by the -equation for Bij above. The total system boost (average across all +equation for :math:`B_{ij}` above. The total system boost (average across all bonds) fluctuates, but should average to a value close to the -specified Btarget. +specified :math:`B_{target}`. For value 12, the numerator is a count of all biased bonds on each -timestep whose bias energy = 0.0 due to Eij >= *qfactor*\ . The +timestep whose bias energy = 0.0 due to :math:`E_{ij} >= qfactor`. The denominator is the count of all biased bonds on all timesteps. For value 13, the numerator is a count of all biased bonds on each @@ -522,12 +531,12 @@ The scalar and vector values calculated by this fix are all "intensive". This fix also computes a local vector of length the number of bonds -currently in the system. The value for each bond is its Cij prefactor -(bias coefficient). These values can be can be accessed by various +currently in the system. The value for each bond is its :math:`C_{ij}` +prefactor (bias coefficient). These values can be can be accessed by various :doc:`output commands `. A particularly useful one is the :doc:`fix ave/histo ` command which can be used to histogram the Cij values to see if they are distributed reasonably -close to 1.0, which indicates a good choice of *Vmax*\ . +close to 1.0, which indicates a good choice of :math:`V^{max}`. The local values calculated by this fix are unitless. diff --git a/doc/src/fix_langevin_spin.rst b/doc/src/fix_langevin_spin.rst index bccedc8520..b229a2ae8d 100644 --- a/doc/src/fix_langevin_spin.rst +++ b/doc/src/fix_langevin_spin.rst @@ -36,16 +36,19 @@ Brownian dynamics (BD). A random torque and a transverse dissipation are applied to each spin i according to the following stochastic differential equation: -.. image:: Eqs/fix_langevin_spin_sLLG.jpg - :align: center +.. math:: -with lambda the transverse damping, and eta a random vector. + \frac{d \vec{s}_{i}}{dt} = \frac{1}{\left(1+\lambda^2 \right)} \left( \left( + \vec{\omega}_{i} +\vec{\eta} \right) \times \vec{s}_{i} + \lambda\, \vec{s}_{i} + \times\left( \vec{\omega}_{i} \times\vec{s}_{i} \right) \right) + +with :math:`\lambda` the transverse damping, and :math:`\eta` a random vector. This equation is referred to as the stochastic Landau-Lifshitz-Gilbert (sLLG) equation. -The components of eta are drawn from a Gaussian probability law. Their amplitude -is defined as a proportion of the temperature of the external thermostat T (in K -in metal units). +The components of :math:`\eta` are drawn from a Gaussian probability +law. Their amplitude is defined as a proportion of the temperature of +the external thermostat T (in K in metal units). More details about this implementation are reported in :ref:`(Tranchida) `. diff --git a/doc/src/fix_lb_fluid.rst b/doc/src/fix_lb_fluid.rst index b7ce7ffdc8..0c923d923b 100644 --- a/doc/src/fix_lb_fluid.rst +++ b/doc/src/fix_lb_fluid.rst @@ -69,33 +69,42 @@ dependent force to the fluid. The lattice-Boltzmann algorithm solves for the fluid motion governed by the Navier Stokes equations, -.. image:: Eqs/fix_lb_fluid_navierstokes.jpg - :align: center +.. math:: + + \partial_t \rho + \partial_{\beta}\left(\rho u_{\beta}\right)= & 0 \\ + \partial_t\left(\rho u_{\alpha}\right) + \partial_{\beta}\left(\rho u_{\alpha} u_{\beta}\right) = & \partial_{\beta}\sigma_{\alpha \beta} + F_{\alpha} + \partial_{\beta}\left(\eta_{\alpha \beta \gamma \nu}\partial_{\gamma} u_{\nu}\right) + with, -.. image:: Eqs/fix_lb_fluid_viscosity.jpg - :align: center +.. math:: -where rho is the fluid density, u is the local fluid velocity, sigma -is the stress tensor, F is a local external force, and eta and Lambda -are the shear and bulk viscosities respectively. Here, we have -implemented + \eta_{\alpha \beta \gamma \nu} = \eta\left[\delta_{\alpha \gamma}\delta_{\beta \nu} + \delta_{\alpha \nu}\delta_{\beta \gamma} - \frac{2}{3}\delta_{\alpha \beta}\delta_{\gamma \nu}\right] + \Lambda \delta_{\alpha \beta}\delta_{\gamma \nu} -.. image:: Eqs/fix_lb_fluid_stress.jpg - :align: center -with a\_0 set to 1/3 (dx/dt)\^2 by default. +where :math:`\rho` is the fluid density, *u* is the local +fluid velocity, :math:`\sigma` is the stress tensor, *F* is a local external +force, and :math:`\eta` and :math:`\Lambda` are the shear and bulk viscosities +respectively. Here, we have implemented + +.. math:: + + \sigma_{\alpha \beta} = -P_{\alpha \beta} = -\rho a_0 \delta_{\alpha \beta} + + +with :math:`a_0` set to :math:`\frac{1}{3} \frac{dx}{dt}^2` by default. The algorithm involves tracking the time evolution of a set of partial distribution functions which evolve according to a velocity discretized version of the Boltzmann equation, -.. image:: Eqs/fix_lb_fluid_boltzmann.jpg - :align: center +.. math:: + + \left(\partial_t + e_{i\alpha}\partial_{\alpha}\right)f_i = -\frac{1}{\tau}\left(f_i - f_i^{eq}\right) + W_i + where the first term on the right hand side represents a single time -relaxation towards the equilibrium distribution function, and tau is a +relaxation towards the equilibrium distribution function, and :math:`\tau` is a parameter physically related to the viscosity. On a technical note, we have implemented a 15 velocity model (D3Q15) as default; however, the user can switch to a 19 velocity model (D3Q19) through the use of @@ -108,8 +117,10 @@ finite difference LB integrator is used. If *LBtype* is set equal to Physical variables are then defined in terms of moments of the distribution functions, -.. image:: Eqs/fix_lb_fluid_properties.jpg - :align: center +.. math:: + + \rho = & \displaystyle\sum\limits_{i} f_i \\ + \rho u_{\alpha} = & \displaystyle\sum\limits_{i} f_i e_{i\alpha} Full details of the lattice-Boltzmann algorithm used can be found in :ref:`Mackay et al. `. @@ -119,12 +130,15 @@ through a velocity dependent force. The contribution to the fluid force on a given lattice mesh site j due to MD particle alpha is calculated as: -.. image:: Eqs/fix_lb_fluid_fluidforce.jpg - :align: center +.. math:: -where v\_n is the velocity of the MD particle, u\_f is the fluid + {\bf F}_{j \alpha} = \gamma \left({\bf v}_n - {\bf u}_f \right) \zeta_{j\alpha} + + +where :math:`\mathbf{v}_n` is the velocity of the MD particle, +:math:`\mathbf{u}_f` is the fluid velocity interpolated to the particle location, and gamma is the force -coupling constant. Zeta is a weight assigned to the grid point, +coupling constant. :math:`\zeta` is a weight assigned to the grid point, obtained by distributing the particle to the nearest lattice sites. For this, the user has the choice between a trilinear stencil, which provides a support of 8 lattice sites, or the immersed boundary method @@ -135,20 +149,25 @@ to walls, due to its smaller support. Therefore, by default, the Peskin stencil is used; however the user may switch to the trilinear stencil by specifying the keyword, *trilinear*\ . -By default, the force coupling constant, gamma, is calculated according to +By default, the force coupling constant, :math:`\gamma`, is calculated +according to -.. image:: Eqs/fix_lb_fluid_gammadefault.jpg - :align: center +.. math:: -Here, m\_v is the mass of the MD particle, m\_u is a representative -fluid mass at the particle location, and dt\_collision is a collision -time, chosen such that tau/dt\_collision = 1 (see :ref:`Mackay and Denniston ` for full details). In order to calculate m\_u, the -fluid density is interpolated to the MD particle location, and -multiplied by a volume, node\_area\*dx\_lb, where node\_area represents -the portion of the surface area of the composite object associated -with a given MD particle. By default, node\_area is set equal to -dx\_lb\*dx\_lb; however specific values for given atom types can be set -using the *setArea* keyword. + \gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right) + + +Here, :math:`m_v` is the mass of the MD particle, :math:`m_u` is a +representative fluid mass at the particle location, and :math:`\Delta +t_{collision}` is a collision time, chosen such that +:math:`\frac{\tau}{\Delta t_{collision}} = 1` (see :ref:`Mackay and +Denniston ` for full details). In order to calculate :math:`m_u`, +the fluid density is interpolated to the MD particle location, and +multiplied by a volume, node\_area\*dx\_lb, where node\_area +represents the portion of the surface area of the composite object +associated with a given MD particle. By default, node\_area is set +equal to dx\_lb\*dx\_lb; however specific values for given atom types +can be set using the *setArea* keyword. The user also has the option of specifying their own value for the force coupling constant, for all the MD particles associated with the @@ -364,8 +383,10 @@ Default By default, the force coupling constant is set according to -.. image:: Eqs/fix_lb_fluid_gammadefault.jpg - :align: center +.. math:: + + \gamma = \frac{2m_um_v}{m_u+m_v}\left(\frac{1}{\Delta t_{collision}}\right) + and an area of dx\_lb\^2 per node, used to calculate the fluid mass at the particle node location, is assumed. diff --git a/doc/src/fix_mvv_dpd.rst b/doc/src/fix_mvv_dpd.rst index 55066c8ce4..211642e7ec 100644 --- a/doc/src/fix_mvv_dpd.rst +++ b/doc/src/fix_mvv_dpd.rst @@ -50,10 +50,14 @@ The modified velocity-Verlet (MVV) algorithm aims to improve the stability of the time integrator by using an extrapolated version of the velocity for the force evaluation: -.. image:: Eqs/fix_mvv_dpd.jpg - :align: center +.. math:: -where the parameter λ depends on the + v(t+\frac{\Delta t}{2}) = & v(t) + \frac{\Delta t}{2}\cdot a(t) \\ + r(t+\Delta t) = & r(t) + \Delta t\cdot v(t+\frac{\Delta t}{2}) \\ + a(t+\Delta t) = & \frac{1}{m}\cdot F\left[ r(t+\Delta t), v(t) +\lambda \cdot \Delta t\cdot a(t)\right] \\ + v(t+\Delta t) = & v(t+\frac{\Delta t}{2}) + \frac{\Delta t}{2}\cdot a(t+\Delta t) + +where the parameter :math:`\lambda` depends on the specific choice of DPD parameters, and needs to be tuned on a case-by-case basis. Specification of a *lambda* value is optional. If specified, the setting must be from 0.0 to 1.0. If not specified, diff --git a/doc/src/fix_nh.rst b/doc/src/fix_nh.rst index 36f2d6c8f3..88ece95e95 100644 --- a/doc/src/fix_nh.rst +++ b/doc/src/fix_nh.rst @@ -511,9 +511,28 @@ with *respa*\ , LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator (for two rRESPA levels): -.. image:: Eqs/fix_nh1.jpg - :align: center +.. math:: + \exp \left(\mathrm{i} L \Delta t \right) = & \hat{E} + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ + &\times \left[ + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_1 \frac{\Delta t}{n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \right]^n \\ + &\times + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ + &+ \mathcal{O} \left(\Delta t^3 \right) + + This factorization differs somewhat from that of Tuckerman et al, in that the barostat is only updated at the outermost rRESPA level, whereas Tuckerman's factorization requires splitting the pressure into diff --git a/doc/src/fix_nphug.rst b/doc/src/fix_nphug.rst index 2261600f93..1d946e5f83 100644 --- a/doc/src/fix_nphug.rst +++ b/doc/src/fix_nphug.rst @@ -88,21 +88,23 @@ Essentially, a Hugoniostat simulation is an NPT simulation in which the user-specified target temperature is replaced with a time-dependent target temperature Tt obtained from the following equation: -.. image:: Eqs/fix_nphug.jpg - :align: center +.. math:: -where T and Tt are the instantaneous and target temperatures, -P and P0 are the instantaneous and reference pressures or axial stresses, + T_t - T = \frac{\left(\frac{1}{2}\left(P + P_0\right)\left(V_0 - V\right) + E_0 - E\right)}{N_{dof} k_B } = \Delta + + +where *T* and :math:`T_t` are the instantaneous and target temperatures, +*P* and :math:`P_0` are the instantaneous and reference pressures or axial stresses, depending on whether hydrostatic or uniaxial compression is being -performed, V and V0 are the instantaneous and reference volumes, -E and E0 are the instantaneous and reference internal energy (potential -plus kinetic), Ndof is the number of degrees of freedom used in the -definition of temperature, and kB is the Boltzmann constant. Delta is the +performed, *V* and :math:`V_0` are the instantaneous and reference volumes, +*E* and :math:`E_0` are the instantaneous and reference internal energy (potential +plus kinetic), :math:`N_{dof}` is the number of degrees of freedom used in the +definition of temperature, and :math:`k_B` is the Boltzmann constant. :math:`\Delta` is the negative deviation of the instantaneous temperature from the target temperature. -When the system reaches a stable equilibrium, the value of Delta should +When the system reaches a stable equilibrium, the value of :math:`\Delta` should fluctuate about zero. -The values of E0, V0, and P0 are the instantaneous values at the start of +The values of :math:`E_0`, :math:`V_0`, and :math:`P_0` are the instantaneous values at the start of the simulation. These can be overridden using the fix\_modify keywords *e0*\ , *v0*\ , and *p0* described below. @@ -179,19 +181,20 @@ instructions on how to use the accelerated styles effectively. **Restart, fix\_modify, output, run start/stop, minimize info:** -This fix writes the values of E0, V0, and P0, as well as the -state of all the thermostat and barostat -variables to :doc:`binary restart files `. See the -:doc:`read_restart ` command for info on how to re-specify -a fix in an input script that reads a restart file, so that the -operation of the fix continues in an uninterrupted fashion. +This fix writes the values of :math:`E_0`, :math:`V_0`, and :math:`P_0`, +as well as the state of all the thermostat and barostat variables to +:doc:`binary restart files `. See the :doc:`read_restart +` command for info on how to re-specify a fix in an input +script that reads a restart file, so that the operation of the fix +continues in an uninterrupted fashion. -The :doc:`fix_modify ` *e0*\ , *v0* and *p0* keywords -can be used to define the values of E0, V0, and P0. Note the -the values for *e0* and *v0* are extensive, and so must correspond -to the total energy and volume of the entire system, not energy and -volume per atom. If any of these quantities are not specified, then the -instantaneous value in the system at the start of the simulation is used. +The :doc:`fix_modify ` *e0*\ , *v0* and *p0* keywords can be +used to define the values of :math:`E_0`, :math:`V_0`, and +:math:`P_0`. Note the the values for *e0* and *v0* are extensive, and so +must correspond to the total energy and volume of the entire system, not +energy and volume per atom. If any of these quantities are not +specified, then the instantaneous value in the system at the start of +the simulation is used. The :doc:`fix_modify ` *temp* and *press* options are supported by these fixes. You can use them to assign a @@ -216,7 +219,7 @@ values are "intensive". The scalar is the cumulative energy change due to the fix. -The vector stores three quantities unique to this fix (Delta, Us, and up), +The vector stores three quantities unique to this fix (:math:`\Delta`, Us, and up), followed by all the internal Nose/Hoover thermostat and barostat variables defined for :doc:`fix npt `. Delta is the deviation of the temperature from the target temperature, given by the above equation. diff --git a/doc/src/fix_npt_cauchy.rst b/doc/src/fix_npt_cauchy.rst index 133305f13c..e9a98b813f 100644 --- a/doc/src/fix_npt_cauchy.rst +++ b/doc/src/fix_npt_cauchy.rst @@ -444,8 +444,26 @@ with *respa*\ , LAMMPS uses an integrator constructed according to the following factorization of the Liouville propagator (for two rRESPA levels): -.. image:: Eqs/fix_nh1.jpg - :align: center +.. math:: + + \exp \left(\mathrm{i} L \Delta t \right) = & \hat{E} + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) \\ + &\times \left[ + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_1 \frac{\Delta t}{n} \right) + \exp \left(\mathrm{i} L_{\epsilon , 1} \frac{\Delta t}{2n} \right) + \exp \left(\mathrm{i} L_{2}^{(1)} \frac{\Delta t}{2n} \right) + \right]^n \\ + &\times + \exp \left(\mathrm{i} L_{2}^{(2)} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\epsilon , 2} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}part} \frac{\Delta t}{2} \right) + \exp \left(\mathrm{i} L_{\rm T\textrm{-}baro} \frac{\Delta t}{2} \right) \\ + &+ \mathcal{O} \left(\Delta t^3 \right) This factorization differs somewhat from that of Tuckerman et al, in that the barostat is only updated at the outermost rRESPA level, diff --git a/doc/src/fix_nve_spin.rst b/doc/src/fix_nve_spin.rst index 6caa7cc8a6..c66d107089 100644 --- a/doc/src/fix_nve_spin.rst +++ b/doc/src/fix_nve_spin.rst @@ -47,7 +47,7 @@ By default a spin-lattice integration is performed (lattice = moving). The *nve/spin* fix applies a Suzuki-Trotter decomposition to the equations of motion of the spin lattice system, following the scheme: -.. image:: Eqs/fix_integration_spin_stdecomposition.jpg +.. image:: JPG/fix_integration_spin_stdecomposition.jpg :align: center according to the implementation reported in :ref:`(Omelyan) `. diff --git a/doc/src/fix_orient.rst b/doc/src/fix_orient.rst index 7100efc4e5..a23b98fbae 100644 --- a/doc/src/fix_orient.rst +++ b/doc/src/fix_orient.rst @@ -58,8 +58,22 @@ accounted for in measuring the grain boundary velocity. The potential energy added to atom I is given by these formulas -.. image:: Eqs/fix_orient_fcc.jpg - :align: center +.. math:: + + \xi_{i} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j} - \mathbf{r}_{j}^{\rm I} \right| \qquad\qquad\left(1\right) \\ + \\ + \xi_{\rm IJ} = & \sum_{j=1}^{12} \left| \mathbf{r}_{j}^{\rm J} - \mathbf{r}_{j}^{\rm I} \right| \qquad\qquad\left(2\right)\\ + \\ + \xi_{\rm low} = & {\rm cutlo} \, \xi_{\rm IJ} \qquad\qquad\qquad\left(3\right)\\ + \xi_{\rm high} = & {\rm cuthi} \, \xi_{\rm IJ} \qquad\qquad\qquad\left(4\right) \\ + \\ + \omega_{i} = & \frac{\pi}{2} \frac{\xi_{i} - \xi_{\rm low}}{\xi_{\rm high} - \xi_{\rm low}} \qquad\qquad\left(5\right)\\ + \\ + u_{i} = & 0 \quad\quad\qquad\qquad\qquad \textrm{ for } \qquad \xi_{i} < \xi_{\rm low}\\ + = & {\rm dE}\,\frac{1 - \cos(2 \omega_{i})}{2} + \qquad \mathrm{ for }\qquad \xi_{\rm low} < \xi_{i} < \xi_{\rm high} \quad \left(6\right) \\ + = & {\rm dE} \quad\qquad\qquad\qquad\textrm{ for } \qquad \xi_{\rm high} < \xi_{i} + which are fully explained in :ref:`(Janssens) `. For fcc crystals this order parameter Xi for atom I in equation (1) is a sum over the diff --git a/doc/src/fix_pimd.rst b/doc/src/fix_pimd.rst index 436b13d9bc..d71c969acf 100644 --- a/doc/src/fix_pimd.rst +++ b/doc/src/fix_pimd.rst @@ -46,8 +46,11 @@ configurations from the canonical ensemble :ref:`(Feynman) `. The classical partition function and its components are given by the following equations: -.. image:: Eqs/fix_pimd.jpg - :align: center +.. math:: + + Z = & \int d{\bf q} d{\bf p} \cdot \textrm{exp} [ -\beta H_{eff} ] \\ + H_{eff} = & \bigg(\sum_{i=1}^P \frac{p_i^2}{2m_i}\bigg) + V_{eff} \\ + V_{eff} = & \sum_{i=1}^P \bigg[ \frac{mP}{2\beta^2 \hbar^2} (q_i - q_{i+1})^2 + \frac{1}{P} V(q_i)\bigg] The interested user is referred to any of the numerous references on this methodology, but briefly, each quantum particle in a path diff --git a/doc/src/fix_rhok.rst b/doc/src/fix_rhok.rst index ba381a37d3..9374f43798 100644 --- a/doc/src/fix_rhok.rst +++ b/doc/src/fix_rhok.rst @@ -29,8 +29,12 @@ Description The fix applies a force to atoms given by the potential -.. image:: Eqs/fix_rhok.jpg - :align: center +.. math:: + + U = & \frac{1}{2} K (|\rho_{\vec{k}}| - a)^2 \\ + \rho_{\vec{k}} = & \sum_j^N \exp(-i\vec{k} \cdot \vec{r}_j )/\sqrt{N} \\ + \vec{k} = & (2\pi n_x /L_x , 2\pi n_y /L_y , 2\pi n_z/L_z ) + as described in :ref:`(Pedersen) `. diff --git a/doc/src/fix_rx.rst b/doc/src/fix_rx.rst index ce40a58524..2f0df1ebd5 100644 --- a/doc/src/fix_rx.rst +++ b/doc/src/fix_rx.rst @@ -46,13 +46,17 @@ defined within the file associated with this command. For a general reaction such that -.. image:: Eqs/fix_rx_reaction.jpg - :align: center +.. math:: + + \nu_{A}A + \nu_{B}B \rightarrow \nu_{C}C + the reaction rate equation is defined to be of the form -.. image:: Eqs/fix_rx_reactionRate.jpg - :align: center +.. math:: + + r = k(T)[A]^{\nu_{A}}[B]^{\nu_{B}} + In the current implementation, the exponents are defined to be equal to the stoichiometric coefficients. A given reaction set consisting @@ -121,12 +125,14 @@ irreversible reaction. After specifying the reaction, the reaction rate constant is determined through the temperature dependent Arrhenius equation: -.. image:: Eqs/fix_rx.jpg - :align: center +.. math:: + + k = AT^{n}e^{\frac{-E_{a}}{k_{B}T}} + where *A* is the Arrhenius factor in time units or concentration/time units, *n* is the unitless exponent of the temperature dependence, and -*E\_a* is the activation energy in energy units. The temperature +:math:`E_a` is the activation energy in energy units. The temperature dependence can be removed by specifying the exponent as zero. The internal temperature of the coarse-grained particles can be used @@ -136,13 +142,17 @@ be specified to compute a local-average particle internal temperature for use in the reaction rate constant expressions. The local-average particle internal temperature is defined as: -.. image:: Eqs/fix_rx_localTemp.jpg - :align: center +.. math:: + + \theta_i^{-1} = \frac{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)\theta_j^{-1}}{\sum_{j=1}\omega_{Lucy}\left(r_{ij}\right)} + where the Lucy function is expressed as: -.. image:: Eqs/fix_rx_localTemp2.jpg - :align: center +.. math:: + + \omega_{Lucy}\left(r_{ij}\right) = \left( 1 + \frac{3r_{ij}}{r_c} \right) \left( 1 - \frac{r_{ij}}{r_c} \right)^3 + The self-particle interaction is included in the above equation. diff --git a/doc/src/fix_shake.rst b/doc/src/fix_shake.rst index bca1a55d16..624d5cf455 100644 --- a/doc/src/fix_shake.rst +++ b/doc/src/fix_shake.rst @@ -75,13 +75,18 @@ be the position and velocity of atom *i* at time *n*\ , for *i* =1,...,\ *N*\ , where *N* is the number of sites of our reference molecule. The distance vector between sites *i* and *j* is given by -.. image:: Eqs/fix_rattle_rij.jpg - :align: center +.. math:: + + \mathbf r^{n+1}_{ij} = \mathbf r^n_j - \mathbf r^n_i + The constraints can then be formulated as -.. image:: Eqs/fix_rattle_constraints.jpg - :align: center +.. math:: + + \mathbf r^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= d^2_{ij} \quad \text{and} \\ + \mathbf v^{n+1}_{ij} \cdot \mathbf r^{n+1}_{ij} &= 0 + The SHAKE algorithm satisfies the first condition, i.e. the sites at time *n+1* will have the desired separations Dij immediately after the diff --git a/doc/src/fix_spring_rg.rst b/doc/src/fix_spring_rg.rst index e1463dc4e3..fd3b09754b 100644 --- a/doc/src/fix_spring_rg.rst +++ b/doc/src/fix_spring_rg.rst @@ -44,15 +44,21 @@ energy of the constraint and associated force on each atom is given by the second and third formulas, when the group is at a different RG than the target value RG0. -.. image:: Eqs/fix_spring_rg.jpg - :align: center +.. math:: -The (xi - center-of-mass) term is computed taking into account -periodic boundary conditions, m\_i is the mass of the atom, and M is -the mass of the entire group. Note that K is thus a force constant + {R_G}^2 & = \frac{1}{M}\sum_{i}^{N}{m_{i}\left( x_{i} - + \frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right)^{2}} \\ + E & = K\left( R_G - R_{G0} \right)^{2} \\ + F_{i} & = 2K\frac{m_{i}}{M}\left( 1-\frac{R_{G0}}{R_G} + \right)\left( x_{i} - \frac{1}{M}\sum_{j}^{N}{m_{j}x_{j}} \right) + + +The (:math:`x_i` - center-of-mass) term is computed taking into account +periodic boundary conditions, :math:`m_i` is the mass of the atom, and +*M* is the mass of the entire group. Note that K is thus a force constant for the aggregate force on the group of atoms, not a per-atom force. -If RG0 is specified as NULL, then the RG of the group is computed at +If :math:`R_{G0}` is specified as NULL, then the RG of the group is computed at the time the fix is specified, and that value is used as the target. **Restart, fix\_modify, output, run start/stop, minimize info:** diff --git a/doc/src/fix_ti_spring.rst b/doc/src/fix_ti_spring.rst index ec4599b519..152e3fbcac 100644 --- a/doc/src/fix_ti_spring.rst +++ b/doc/src/fix_ti_spring.rst @@ -48,8 +48,10 @@ The thermodynamic integration procedure is performed by rescaling the force on each atom. Given an atomic configuration the force (F) on each atom is given by -.. image:: Eqs/fix_ti_spring_force.jpg - :align: center +.. math:: + + F = \left( 1-\lambda \right) F_{\text{solid}} + \lambda F_{\text{harm}} + where F\_solid is the force that acts on an atom due to an interatomic potential (\ *e.g.* EAM potential), F\_harm is the force due to the @@ -87,15 +89,19 @@ The *function* keyword allows the use of two different lambda paths. Option *1* results in a constant rate of change of lambda with time: -.. image:: Eqs/fix_ti_spring_function_1.jpg - :align: center +.. math:: + + \lambda(\tau) = \tau + where tau is the scaled time variable *t/t\_s*. The option *2* performs the lambda switching at a rate defined by the following switching function -.. image:: Eqs/fix_ti_spring_function_2.jpg - :align: center +.. math:: + + \lambda(\tau) = \tau^5 \left( 70 \tau^4 - 315 \tau^3 + 540 \tau^2 - 420 \tau + 126 \right) + This function has zero slope as lambda approaches its extreme values (0 and 1), according to :ref:`de Koning ` this results in diff --git a/doc/src/fix_ttm.rst b/doc/src/fix_ttm.rst index eeafd8bfe0..022afc67b5 100644 --- a/doc/src/fix_ttm.rst +++ b/doc/src/fix_ttm.rst @@ -109,8 +109,12 @@ Energy transport within the electronic subsystem is solved according to the heat diffusion equation with added source terms for heat transfer between the subsystems: -.. image:: Eqs/fix_ttm.jpg - :align: center +.. math:: + + C_e \rho_e \frac{\partial T_e}{\partial t} = + \bigtriangledown (\kappa_e \bigtriangledown T_e) - + g_p (T_e - T_a) + g_s T_a' + where C\_e is the specific heat, rho\_e is the density, kappa\_e is the thermal conductivity, T is temperature, the "e" and "a" subscripts @@ -194,8 +198,12 @@ temperature controlled by another fix - e.g. :doc:`fix nvt ` or Fix ttm/mod uses the heat diffusion equation with possible external heat sources (e.g. laser heating in ablation simulations): -.. image:: Eqs/fix_ttm_mod.jpg - :align: center +.. math:: + + C_e \rho_e \frac{\partial T_e}{\partial t} = + \bigtriangledown (\kappa_e \bigtriangledown T_e) - + g_p (T_e - T_a) + g_s T_a' + \theta (x-x_{surface})I_0 \exp(-x/l_{skin}) + where theta is the Heaviside step function, I\_0 is the (absorbed) laser pulse intensity for ablation simulations, l\_skin is the depth @@ -207,8 +215,10 @@ Fix ttm/mod also allows users to specify the dependencies of C\_e and kappa\_e on the electronic temperature. The specific heat is expressed as -.. image:: Eqs/fix_ttm_ce.jpg - :align: center +.. math:: + + C_e = C_0 + (a_0 + a_1 X + a_2 X^2 + a_3 X^3 + a_4 X^4) \exp (-(AX)^2) + where *X* = T\_e/1000, and the thermal conductivity is defined as kappa\_e = D\_e\*rho\_e\*C\_e, where D\_e is the thermal diffusion @@ -219,8 +229,10 @@ for the blast force acting on ions because of electronic pressure gradient (see :ref:`(Chen) `, :ref:`(Norman) `). The total force acting on an ion is: -.. image:: Eqs/fix_ttm_blast.jpg - :align: center +.. math:: + + {\vec F}_i = - \partial U / \partial {\vec r}_i + {\vec F}_{langevin} - \nabla P_e/n_{ion} + where F\_langevin is a force from Langevin thermostat simulating electron-phonon coupling, and nabla P\_e/n\_ion is the electron blast @@ -242,8 +254,10 @@ initial borders of vacuum can be set in the *init\_file* via *lsurface* and *rsurface* parameters. In this case, electronic pressure gradient is calculated as -.. image:: Eqs/fix_ttm_blast1.jpg - :align: center +.. math:: + + \nabla_x P_e = \left[\frac{C_e{}T_e(x)\lambda}{(x+\lambda)^2} + \frac{x}{x+\lambda}\frac{(C_e{}T_e)_{x+\Delta x}-(C_e{}T_e)_{x}}{\Delta x} \right] + where lambda is the electron mean free path (see :ref:`(Norman) `, :ref:`(Pisarev) `) diff --git a/doc/src/fix_wall.rst b/doc/src/fix_wall.rst index ba37b19205..600c880f20 100644 --- a/doc/src/fix_wall.rst +++ b/doc/src/fix_wall.rst @@ -104,35 +104,58 @@ wall-particle interactions depends on the style. For style *wall/lj93*\ , the energy E is given by the 9/3 potential: -.. image:: Eqs/fix_wall_lj93.jpg - :align: center +.. math:: + + E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^3 \right] + \qquad r < r_c + For style *wall/lj126*\ , the energy E is given by the 12/6 potential: -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: + + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c + For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: -.. image:: Eqs/fix_wall_lj1043.jpg - :align: center +.. math:: + + E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - + \left(\frac{\sigma}{r}\right)^4 - + \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] + \qquad r < r_c + For style *wall/colloid*\ , the energy E is given by an integrated form of the :doc:`pair_style colloid ` potential: -.. image:: Eqs/fix_wall_colloid.jpg - :align: center +.. math:: + + E = & \epsilon \left[ \frac{\sigma^{6}}{7560} + \left(\frac{6R-D}{D^{7}} + \frac{D+8R}{(D+2R)^{7}} \right) \right. \\ + & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) + \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c + For style *wall/harmonic*\ , the energy E is given by a harmonic spring potential: -.. image:: Eqs/fix_wall_harmonic.jpg - :align: center +.. math:: + + E = \epsilon \quad (r - r_c)^2 \qquad r < r_c + For style *wall/morse*\ , the energy E is given by a Morse potential: -.. image:: Eqs/pair_morse.jpg - :align: center +.. math:: + + E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \qquad r < r_c + In all cases, *r* is the distance from the particle to the wall at position *coord*\ , and Rc is the *cutoff* distance at which the diff --git a/doc/src/fix_wall_ees.rst b/doc/src/fix_wall_ees.rst index 6374109cc6..334228d85b 100644 --- a/doc/src/fix_wall_ees.rst +++ b/doc/src/fix_wall_ees.rst @@ -65,15 +65,16 @@ group by generating a force on the atom in a direction perpendicular to the wall and a torque parallel with the wall. The energy of wall-particle interactions E is given by: -.. image:: Eqs/fix_wall_ees.jpg - :align: center +.. math:: + + E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n < r < r_c + Introduced by Babadi and Ejtehadi in :ref:`(Babadi) `. Here, *r* is the distance from the particle to the wall at position *coord*\ , and Rc is the *cutoff* distance at which the particle and wall no -longer interact. Also, sigma\_n is the distance between center of -ellipsoid and the nearest point of its surface to the wall. The energy -of the wall is: +longer interact. Also, :math:`\sigma_n` is the distance between center of +ellipsoid and the nearest point of its surface to the wall as shown below. .. image:: JPG/fix_wall_ees_image.jpg :align: center @@ -82,24 +83,30 @@ Details of using this command and specifications are the same as fix/wall command. You can also find an example in USER/ees/ under examples/ directory. -The prefactor *epsilon* can be thought of as an +The prefactor :math:`\epsilon` can be thought of as an effective Hamaker constant with energy units for the strength of the -ellipsoid-wall interaction. More specifically, the *epsilon* pre-factor -= 8 \* pi\^2 \* rho\_wall \* rho\_ellipsoid \* epsilon -\* sigma\_a \* sigma\_b \* sigma\_c, where epsilon is the LJ parameters for -the constituent LJ particles and sigma\_a, sigma\_b, and sigma\_c are radii -of ellipsoidal particles. Rho\_wall and rho\_ellipsoid are the number -density of the constituent particles, in the wall and ellipsoid -respectively, in units of 1/volume. +ellipsoid-wall interaction. More specifically, the :math:`\epsilon` +pre-factor is + +.. math:: + + 8 \pi^2 \quad \rho_{wall} \quad \rho_{ellipsoid} \quad \epsilon \quad \sigma_a \quad \sigma_b \quad \sigma_c + + +where :math:`\epsilon` is the LJ energy parameter for the constituent LJ +particles and :math:`\sigma_a`, :math:`\sigma_b`, and :math:`\sigma_c` +are the radii of the ellipsoidal particles. :math:`\rho_{wall}` and +:math:`\rho_{ellipsoid}` are the number density of the constituent +particles, in the wall and ellipsoid respectively, in units of 1/volume. .. note:: - You must insure that r is always bigger than sigma\_n for + You must insure that r is always bigger than :math:`\sigma_n` for all particles in the group, or LAMMPS will generate an error. This means you cannot start your simulation with particles touching the wall - position *coord* (r = sigma\_n) or with particles penetrating the wall - (0 =< r < sigma\_n) or with particles on the wrong side of the - wall (r < 0). + position *coord* (:math:`r = \sigma_n`) or with particles penetrating + the wall (:math:`0 =< r < \sigma_n`) or with particles on the wrong + side of the wall (:math:`r < 0`). Fix *wall/region/ees* treats the surface of the geometric region defined by the *region-ID* as a bounding wall which interacts with nearby diff --git a/doc/src/fix_wall_region.rst b/doc/src/fix_wall_region.rst index 162b9d6994..a6f719e142 100644 --- a/doc/src/fix_wall_region.rst +++ b/doc/src/fix_wall_region.rst @@ -132,38 +132,62 @@ style. For style *lj93*\ , the energy E is given by the 9/3 potential: -.. image:: Eqs/fix_wall_lj93.jpg - :align: center +.. math:: + + E = \epsilon \left[ \frac{2}{15} \left(\frac{\sigma}{r}\right)^{9} - + \left(\frac{\sigma}{r}\right)^3 \right] + \qquad r < r_c + For style *lj126*\ , the energy E is given by the 12/6 potential: -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: + + E = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < r_c + For style *wall/lj1043*\ , the energy E is given by the 10/4/3 potential: -.. image:: Eqs/fix_wall_lj1043.jpg - :align: center +.. math:: + + E = 2 \pi \epsilon \left[ \frac{2}{5} \left(\frac{\sigma}{r}\right)^{10} - + \left(\frac{\sigma}{r}\right)^4 - + \frac{\sqrt(2)\sigma^3}{3\left(r+\left(0.61/\sqrt(2)\right)\sigma\right)^3}\right] + \qquad r < r_c + For style *colloid*\ , the energy E is given by an integrated form of the :doc:`pair_style colloid ` potential: -.. image:: Eqs/fix_wall_colloid.jpg - :align: center +.. math:: + + E = & \epsilon \left[ \frac{\sigma^{6}}{7560} + \left(\frac{6R-D}{D^{7}} + \frac{D+8R}{(D+2R)^{7}} \right) \right. \\ + & \left. - \frac{1}{6} \left(\frac{2R(D+R) + D(D+2R) + \left[ \ln D - \ln (D+2R) \right]}{D(D+2R)} \right) \right] \qquad r < r_c + For style *wall/harmonic*\ , the energy E is given by a harmonic spring potential (the distance parameter is ignored): -.. image:: Eqs/fix_wall_harmonic.jpg - :align: center +.. math:: + + E = \epsilon \quad (r - r_c)^2 \qquad r < r_c + For style *wall/morse*\ , the energy E is given by the Morse potential: -.. image:: Eqs/pair_morse.jpg - :align: center +.. math:: -Unlike other styles, this requires three parameters (*D\_0*, *alpha*\ , *r\_0* -in this order) instead of two like for the other wall styles. + E = D_0 \left[ e^{- 2 \alpha (r - r_0)} - 2 e^{- \alpha (r - r_0)} \right] + \qquad r < r_c + + +Unlike other styles, this requires three parameters (:math:`D_0`, +:math:`\alpha`, and :math:`r_0` in this order) instead of two like +for the other wall styles. In all cases, *r* is the distance from the particle to the region surface, and Rc is the *cutoff* distance at which the particle and diff --git a/doc/src/min_style.rst b/doc/src/min_style.rst index 5de407b6a9..dffacab8a5 100644 --- a/doc/src/min_style.rst +++ b/doc/src/min_style.rst @@ -65,21 +65,21 @@ Style *fire* is a damped dynamics method described in :ref:`(Bitzek) and alters the projection operation to maintain components of the velocity non-parallel to the current force vector. The velocity of each atom is initialized to 0.0 by this style, at the beginning of a -minimization. This style correspond to an optimized version described +minimization. This style correspond to an optimized version described in :ref:`(Guenole) ` that include different time integration -schemes and defaults parameters. The default parameters can be +schemes and defaults parameters. The default parameters can be modified with the command :doc:`min_modify `. -Style *fire/old* is the original implementation of *fire* in Lammps, -conserved for backward compatibility. The main differences regarding +Style *fire/old* is the original implementation of *fire* in Lammps, +conserved for backward compatibility. The main differences regarding the current version *fire* are: time integration by Explicit Euler only, different sequence in maintaining velocity components non-parallel to the current force vector and hard-coded minimization parameters. -A complete description of the differences between *fire/old* and *fire* -can be found in :ref:`(Guenole) ` (where the current *fire* -in lammps is named *fire2.0*). By using an appropriate set of -parameters, *fire* can behave similarly than *fire/old*, as described +A complete description of the differences between *fire/old* and *fire* +can be found in :ref:`(Guenole) ` (where the current *fire* +in LAMMPS is called *fire2.0*). By using an appropriate set of +parameters, *fire* can behave similar to *fire/old*, as described in the :doc:`min_modify ` command. Style *spin* is a damped spin dynamics with an adaptive timestep. diff --git a/doc/src/pair_adp.rst b/doc/src/pair_adp.rst index 69051f545e..43a94933ad 100644 --- a/doc/src/pair_adp.rst +++ b/doc/src/pair_adp.rst @@ -1,16 +1,16 @@ -.. index:: pair\_style adp +.. index:: pair_style adp -pair\_style adp command -======================= +pair_style adp command +====================== -pair\_style adp/omp command -=========================== +pair_style adp/omp command +========================== Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style adp @@ -18,11 +18,11 @@ Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style adp - pair_coeff \* \* Ta.adp Ta - pair_coeff \* \* ../potentials/AlCu.adp Al Al Cu + pair_coeff * * Ta.adp Ta + pair_coeff * * ../potentials/AlCu.adp Al Al Cu Description """"""""""" @@ -32,15 +32,21 @@ using the angular dependent potential (ADP) of :ref:`(Mishin) `, which is a generalization of the :doc:`embedded atom method (EAM) potential `. The LAMMPS implementation is discussed in :ref:`(Singh) `. The total energy Ei of an atom I is given by -.. image:: Eqs/pair_adp.jpg - :align: center +.. math:: -where F is the embedding energy which is a function of the atomic -electron density rho, phi is a pair potential interaction, alpha and -beta are the element types of atoms I and J, and s and t = 1,2,3 and -refer to the cartesian coordinates. The mu and lambda terms represent -the dipole and quadruple distortions of the local atomic environment -which extend the original EAM framework by introducing angular forces. + E_i & = F_\alpha \left( \sum_{j\neq i} \rho_\beta (r_{ij}) \right) + \frac{1}{2} \sum_{j\neq i}\phi_{\alpha\beta}(r_{ij})+ \frac{1}{2} \sum_s (\mu_i^s)^2 + \frac{1}{2} \sum_{s,t} (\lambda_i^{st})^2 - \frac{1}{6} \nu_i^2 \\ + \mu_i^s & = \sum_{j\neq i}u_{\alpha\beta}(r_{ij})r_{ij}^s\\ + \lambda_i^{st} & = \sum_{j\neq i}w_{\alpha\beta}(r_{ij})r_{ij}^sr_{ij}^t\\ + \nu_i & = \sum_s\lambda_i^{ss} + + +where :math:`F` is the embedding energy which is a function of the atomic +electron density :math:`\rho`, :math:`\phi` is a pair potential interaction, +:math:`\alpha` and :math:`\beta` are the element types of atoms :math:`I` and +:math:`J`, and :math:`s` and :math:`t = 1,2,3` and refer to the cartesian +coordinates. The :math:`\mu` and :math:`\lambda` terms represent the dipole +and quadruple distortions of the local atomic environment which extend the +original EAM framework by introducing angular forces. Note that unlike for other potentials, cutoffs for ADP potentials are not set in the pair\_style or pair\_coeff command; they are specified in @@ -61,12 +67,12 @@ command to specify them. Only a single pair\_coeff command is used with the *adp* style which specifies an extended DYNAMO *setfl* file, which contains information -for M elements. These are mapped to LAMMPS atom types by specifying N +for :math:`M` elements. These are mapped to LAMMPS atom types by specifying :math:`N` additional arguments after the filename in the pair\_coeff command, -where N is the number of LAMMPS atom types: +where :math:`N` is the number of LAMMPS atom types: * filename -* N element names = mapping of extended *setfl* elements to atom types +* :math:`N` element names = mapping of extended *setfl* elements to atom types See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. @@ -79,9 +85,9 @@ and you want the 1st 3 to be Al, and the 4th to be Cu, you would use the following pair\_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* AlCu.adp Al Al Al Cu + pair_coeff * * AlCu.adp Al Al Al Cu The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three Al arguments map LAMMPS atom types 1,2,3 to the Al @@ -103,29 +109,33 @@ the tabulated pair potentials. See the :doc:`pair_eam ` command for further details on the *setfl* format. * lines 1,2,3 = comments (ignored) -* line 4: Nelements Element1 Element2 ... ElementN -* line 5: Nrho, drho, Nr, dr, cutoff +* line 4: :math:`N_{\text{elements}}` Element1 Element2 ... ElementN +* line 5: :math:`N_\rho`, :math:`d_\rho`, :math:`N_r`, :math:`d_r`, cutoff -Following the 5 header lines are Nelements sections, one for each +Following the 5 header lines are :math:`N_{\text{elements}}` sections, one for each element, each with the following format: * line 1 = atomic number, mass, lattice constant, lattice type (e.g. FCC) -* embedding function F(rho) (Nrho values) -* density function rho(r) (Nr values) +* embedding function :math:`F(\rho)` (:math:`N_\rho` values) +* density function :math:`\rho(r)` (:math:`N_r` values) -Following the Nelements sections, Nr values for each pair potential -phi(r) array are listed for all i,j element pairs in the same format -as other arrays. Since these interactions are symmetric (i,j = j,i) -only phi arrays with i >= j are listed, in the following order: i,j = -(1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (Nelements, -Nelements). The tabulated values for each phi function are listed as -r\*phi (in units of eV-Angstroms), since they are for atom pairs, the +Following the :math:`N_{\text{elements}}` sections, :math:`N_r` values for each pair potential +:math:`\phi(r)` array are listed for all :math:`i,j` element pairs in the same format +as other arrays. Since these interactions are symmetric (:math:`i,j = j,i`) +only :math:`\phi` arrays with :math:`i \geq j` are listed, in the following order: + +.. math:: + + i,j = (1,1), (2,1), (2,2), (3,1), (3,2), (3,3), (4,1), ..., (N_{\text{elements}},N_{\text{elements}}). + +The tabulated values for each :math:`\phi` function are listed as +:math:`r*\phi` (in units of eV-Angstroms), since they are for atom pairs, the same as for :doc:`other EAM files `. -After the phi(r) arrays, each of the u(r) arrays are listed in the +After the :math:`\phi(r)` arrays, each of the :math:`u(r)` arrays are listed in the same order with the same assumptions of symmetry. Directly following -the u(r), the w(r) arrays are listed. Note that phi(r) is the only -array tabulated with a scaling by r. +the :math:`u(r)`, the :math:`w(r)` arrays are listed. Note that :math:`\phi(r)` is the only +array tabulated with a scaling by :math:`r`. ---------- diff --git a/doc/src/pair_agni.rst b/doc/src/pair_agni.rst index fc2b47b63d..bb7408f363 100644 --- a/doc/src/pair_agni.rst +++ b/doc/src/pair_agni.rst @@ -1,23 +1,26 @@ -.. index:: pair\_style agni +.. index:: pair_style agni -pair\_style agni command +pair_style agni command ======================== -pair\_style agni/omp command +pair_style agni/omp command ============================ Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style agni Examples """""""" -pair\_style agni -pair\_coeff \* \* Al.agni Al + +.. code-block:: LAMMPS + + pair_style agni + pair_coeff * * Al.agni Al Description """"""""""" @@ -25,14 +28,19 @@ Description Style *agni* style computes the many-body vectorial force components for an atom as -.. image:: Eqs/pair_agni.jpg - :align: center +.. math:: -*u* labels the individual components, i.e. x, y or z, and *V* is the -corresponding atomic fingerprint. *d* is the Euclidean distance between -any two atomic fingerprints. A total of N\_t reference atomic -environments are considered to construct the force field file. *alpha\_t* -and *l* are the weight coefficients and length scale parameter of the + F_i^u & = \sum_t^{N_t}\alpha_t \cdot \exp\left[-\frac{\left(d_{i,t}^u\right)^2}{2l^2}\right] \\ + d_{i,t}^u & = \left|\left| V_i^u(\eta) - V_t^u(\eta) \right|\right| \\ + V_i^u(\eta) & = \sum_{j \neq i}\frac{r^u_{ij}}{r_{ij}} \cdot e^{-\left(\frac{r_{ij}}{\eta} \right)^2} \cdot f_d\left(r_{ij}\right) \\ + f_d\left(r_{ij}\right) & = \frac{1}{2} \left[\cos\left(\frac{\pi r_{ij}}{R_c}\right) + 1 \right] + + +:math:`u` labels the individual components, i.e. :math:`x`, :math:`y` or :math:`z`, and :math:`V` is the +corresponding atomic fingerprint. :math:`d` is the Euclidean distance between +any two atomic fingerprints. A total of :math:`N_t` reference atomic +environments are considered to construct the force field file. :math:`\alpha_t` +and :math:`l` are the weight coefficients and length scale parameter of the non-linear regression model. The method implements the recently proposed machine learning access to @@ -45,11 +53,11 @@ vectorial atomic forces. Only a single pair\_coeff command is used with the *agni* style which specifies an AGNI potential file containing the parameters of the force field for the needed elements. These are mapped to LAMMPS atom -types by specifying N additional arguments after the filename in the -pair\_coeff command, where N is the number of LAMMPS atom types: +types by specifying :math:`N` additional arguments after the filename in the +pair\_coeff command, where :math:`N` is the number of LAMMPS atom types: * filename -* N element names = mapping of AGNI elements to atom types +* :math:`N` element names = mapping of AGNI elements to atom types See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the force field file. diff --git a/doc/src/pair_airebo.rst b/doc/src/pair_airebo.rst index 0cd2a79fe8..e2ef285f91 100644 --- a/doc/src/pair_airebo.rst +++ b/doc/src/pair_airebo.rst @@ -1,61 +1,61 @@ -.. index:: pair\_style airebo +.. index:: pair_style airebo -pair\_style airebo command -========================== +pair_style airebo command +========================= -pair\_style airebo/intel command -================================ +pair_style airebo/intel command +=============================== -pair\_style airebo/omp command -============================== +pair_style airebo/omp command +============================= -pair\_style airebo/morse command -================================ +pair_style airebo/morse command +=============================== -pair\_style airebo/morse/intel command -====================================== +pair_style airebo/morse/intel command +===================================== -pair\_style airebo/morse/omp command -==================================== +pair_style airebo/morse/omp command +=================================== -pair\_style rebo command -======================== +pair_style rebo command +======================= -pair\_style rebo/intel command -============================== +pair_style rebo/intel command +============================= -pair\_style rebo/omp command -============================ +pair_style rebo/omp command +=========================== Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style style cutoff LJ_flag TORSION_flag cutoff_min * style = *airebo* or *airebo/morse* or *rebo* -* cutoff = LJ or Morse cutoff (sigma scale factor) (AIREBO and AIREBO-M only) +* cutoff = LJ or Morse cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only) * LJ\_flag = 0/1 to turn off/on the LJ or Morse term (AIREBO and AIREBO-M only, optional) * TORSION\_flag = 0/1 to turn off/on the torsion term (AIREBO and AIREBO-M only, optional) -* cutoff\_min = Start of the transition region of cutoff (sigma scale factor) (AIREBO and AIREBO-M only, optional) +* cutoff\_min = Start of the transition region of cutoff (:math:`\sigma` scale factor) (AIREBO and AIREBO-M only, optional) Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style airebo 3.0 pair_style airebo 2.5 1 0 - pair_coeff \* \* ../potentials/CH.airebo H C + pair_coeff * * ../potentials/CH.airebo H C pair_style airebo/morse 3.0 - pair_coeff \* \* ../potentials/CH.airebo-m H C + pair_coeff * * ../potentials/CH.airebo-m H C pair_style rebo - pair_coeff \* \* ../potentials/CH.rebo H C + pair_coeff * * ../potentials/CH.rebo H C Description """"""""""" @@ -82,8 +82,11 @@ with a few slightly different parameters The AIREBO potential consists of three terms: -.. image:: Eqs/pair_airebo.jpg - :align: center +.. math:: + + E & = \frac{1}{2} \sum_i \sum_{j \neq i} + \left[ E^{\text{REBO}}_{ij} + E^{\text{LJ}}_{ij} + + \sum_{k \neq i,j} \sum_{l \neq i,j,k} E^{\text{TORSION}}_{kijl} \right] \\ By default, all three terms are included. For the *airebo* style, if the first two optional flag arguments to the pair\_style command are @@ -91,73 +94,73 @@ included, the LJ and torsional terms can be turned off. Note that both or neither of the flags must be included. If both of the LJ an torsional terms are turned off, it becomes the 2nd-generation REBO potential, with a small caveat on the spline fitting procedure -mentioned below. This can be specified directly as pair\_style *rebo* +mentioned below. This can be specified directly as pair_style *rebo* with no additional arguments. The detailed formulas for this potential are given in :ref:`(Stuart) `; here we provide only a brief description. -The E\_REBO term has the same functional form as the hydrocarbon REBO +The :math:`E^{\text{REBO}}` term has the same functional form as the hydrocarbon REBO potential developed in :ref:`(Brenner) `. The coefficients for -E\_REBO in AIREBO are essentially the same as Brenner's potential, but +:math:`E^{\text{REBO}}` in AIREBO are essentially the same as Brenner's potential, but a few fitted spline values are slightly different. For most cases the -E\_REBO term in AIREBO will produce the same energies, forces and +:math:`E^{\text{REBO}}` term in AIREBO will produce the same energies, forces and statistical averages as the original REBO potential from which it was -derived. The E\_REBO term in the AIREBO potential gives the model its +derived. The :math:`E^{\text{REBO}}` term in the AIREBO potential gives the model its reactive capabilities and only describes short-ranged C-C, C-H and H-H -interactions (r < 2 Angstroms). These interactions have strong +interactions (:math:`r < 2` Angstroms). These interactions have strong coordination-dependence through a bond order parameter, which adjusts the attraction between the I,J atoms based on the position of other nearby atoms and thus has 3- and 4-body dependence. -The E\_LJ term adds longer-ranged interactions (2 < r < cutoff) using a +The :math:`E^{\text{LJ}}` term adds longer-ranged interactions (:math:`2 < r < \text{cutoff}`) using a form similar to the standard :doc:`Lennard Jones potential `. -The E\_LJ term in AIREBO contains a series of switching functions so -that the short-ranged LJ repulsion (1/r\^12) does not interfere with -the energetics captured by the E\_REBO term. The extent of the E\_LJ -interactions is determined by the *cutoff* argument to the pair\_style +The :math:`E^{\text{LJ}}` term in AIREBO contains a series of switching functions so +that the short-ranged LJ repulsion (:math:`1/r^{12}`) does not interfere with +the energetics captured by the :math:`E^{\text{REBO}}` term. The extent of the :math:`E^{\text{LJ}}` +interactions is determined by the *cutoff* argument to the pair_style command which is a scale factor. For each type pair (C-C, C-H, H-H) the cutoff is obtained by multiplying the scale factor by the sigma value defined in the potential file for that type pair. In the -standard AIREBO potential, sigma\_CC = 3.4 Angstroms, so with a scale -factor of 3.0 (the argument in pair\_style), the resulting E\_LJ cutoff +standard AIREBO potential, :math:`\sigma_{CC} = 3.4` Angstroms, so with a scale +factor of 3.0 (the argument in pair_style), the resulting :math:`E^{\text{LJ}}` cutoff would be 10.2 Angstroms. By default, the longer-ranged interaction is smoothly switched off -between 2.16 and 3.0 sigma. By specifying *cutoff\_min* in addition +between 2.16 and 3.0 :math:`\sigma`. By specifying *cutoff\_min* in addition to *cutoff*\ , the switching can be configured to take place between *cutoff\_min* and *cutoff*\ . *cutoff\_min* can only be specified if all optional arguments are given. -The E\_TORSION term is an explicit 4-body potential that describes +The :math:`E^{\text{TORSION}}` term is an explicit 4-body potential that describes various dihedral angle preferences in hydrocarbon configurations. ---------- -Only a single pair\_coeff command is used with the *airebo*\ , *airebo* +Only a single pair_coeff command is used with the *airebo*\ , *airebo* or *rebo* style which specifies an AIREBO, REBO, or AIREBO-M potential file with parameters for C and H. Note that as of LAMMPS version 15 May 2019 the *rebo* style in LAMMPS uses its own potential file (CH.rebo). These are mapped to LAMMPS atom types by specifying -N additional arguments after the filename in the pair\_coeff command, +N additional arguments after the filename in the pair_coeff command, where N is the number of LAMMPS atom types: * filename -* N element names = mapping of AIREBO elements to atom types +* :math:`N` element names = mapping of AIREBO elements to atom types See the :doc:`pair_coeff ` doc page for alternate ways to specify the path for the potential file. As an example, if your LAMMPS simulation has 4 atom types and you want the 1st 3 to be C, and the 4th to be H, you would use the following -pair\_coeff command: +pair_coeff command: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* CH.airebo C C C H + pair_coeff * * CH.airebo C C C H The 1st 2 arguments must be \* \* so as to span all LAMMPS atom types. The first three C arguments map LAMMPS atom types 1,2,3 to the C @@ -178,21 +181,21 @@ listed in the CH.airebo-m file to agree with the :ref:`(O'Connor) ` paper. Thus the parameters are specific to this potential and the way it was fit, so modifying the file should be done cautiously. The AIREBO-M Morse potentials were parameterized using a cutoff of -3.0 (sigma). Modifying this cutoff may impact simulation accuracy. +3.0 (:math:`\sigma`). Modifying this cutoff may impact simulation accuracy. This pair style tallies a breakdown of the total AIREBO potential energy into sub-categories, which can be accessed via the :doc:`compute pair ` command as a vector of values of length 3. The 3 values correspond to the following sub-categories: -1. *E\_REBO* = REBO energy -2. *E\_LJ* = Lennard-Jones energy -3. *E\_TORSION* = Torsion energy +1. :math:`E_{\text{REBO}}` = REBO energy +2. :math:`E_{\text{LJ}}` = Lennard-Jones energy +3. :math:`E_{\text{TORSION}}` = Torsion energy To print these quantities to the log file (with descriptive column headings) the following commands could be included in an input script: -.. parsed-literal:: +.. code-block:: LAMMPS compute 0 all pair airebo variable REBO equal c_0[1] @@ -232,12 +235,12 @@ These pair styles do not support the :doc:`pair_modify ` mix, shift, table, and tail options. These pair styles do not write their information to :doc:`binary restart files `, since it is stored in potential files. Thus, you -need to re-specify the pair\_style and pair\_coeff commands in an input +need to re-specify the pair_style and pair_coeff commands in an input script that reads a restart file. These pair styles can only be used via the *pair* keyword of the :doc:`run_style respa ` command. They do not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner* , *middle*, *outer* keywords. Restrictions """""""""""" diff --git a/doc/src/pair_atm.rst b/doc/src/pair_atm.rst index 6118b0943f..c8c4edeb54 100644 --- a/doc/src/pair_atm.rst +++ b/doc/src/pair_atm.rst @@ -1,13 +1,13 @@ -.. index:: pair\_style atm +.. index:: pair_style atm -pair\_style atm command -======================= +pair_style atm command +====================== Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style atm cutoff cutoff_triple @@ -18,13 +18,13 @@ Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style atm 4.5 2.5 - pair_coeff \* \* \* 0.072 + pair_coeff * * * 0.072 pair_style hybrid/overlay lj/cut 6.5 atm 4.5 2.5 - pair_coeff \* \* lj/cut 1.0 1.0 + pair_coeff * * lj/cut 1.0 1.0 pair_coeff 1 1 atm 1 0.064 pair_coeff 1 1 atm 2 0.080 pair_coeff 1 2 atm 2 0.100 @@ -36,91 +36,95 @@ Description The *atm* style computes a 3-body :ref:`Axilrod-Teller-Muto ` potential for the energy E of a system of atoms as -.. image:: Eqs/pair_atm.jpg - :align: center +.. math:: -where nu is the three-body interaction strength. The distances -between pairs of atoms r12, r23, r31 and the angles gamma1, gamma2, -gamma3 are as shown in this diagram: + E & = \nu\frac{1+3\cos\gamma_1\cos\gamma_2\cos\gamma_3}{r_{12}^3r_{23}^3r_{31}^3} \\ + + +where :math:`\nu` is the three-body interaction strength. The distances +between pairs of atoms :math:`r_{12}`, :math:`r_{23}`, :math:`r_{31}` and the angles :math:`\gamma_1`, :math:`\gamma_2`, +:math:`\gamma_3` are as shown in this diagram: .. image:: JPG/pair_atm_dia.jpg :align: center -Note that for the interaction between a triplet of atoms I,J,K, there +Note that for the interaction between a triplet of atoms :math:`I,J,K`, there is no "central" atom. The interaction is symmetric with respect to -permutation of the three atoms. Thus the nu value is -the same for all those permutations of the atom types of I,J,K +permutation of the three atoms. Thus the :math:`\nu` value is +the same for all those permutations of the atom types of :math:`I,J,K` and needs to be specified only once, as discussed below. The *atm* potential is typically used in combination with a two-body potential using the :doc:`pair_style hybrid/overlay ` command as in the example above. -The potential for a triplet of atom is calculated only if all 3 -distances r12, r23, r31 between the 3 atoms satisfy rIJ < cutoff. -In addition, the product of the 3 distances r12\*r23\*r31 < -cutoff\_triple\^3 is required, which excludes from calculation the -triplets with small contribution to the interaction. +The potential for a triplet of atom is calculated only if all 3 distances +:math:`r_{12}`, :math:`r_{23}`, :math:`r_{31}` between the 3 atoms satisfy +:math:`r_{IJ} < \text{cutoff}`. In addition, the product of the 3 distances +:math:`r_{12} r_{23} r_{31}` < cutoff_triple :math:`^3` is required, which +excludes from calculation the triplets with small contribution to the +interaction. The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples above, or in the restart files read by the :doc:`read_restart ` commands: -* K = atom type of the third atom (1 to Ntypes) -* nu = prefactor (energy/distance\^9 units) +* :math:`K` = atom type of the third atom (1 to :math:`N_{\text{types}}`) +* :math:`\nu` = prefactor (energy/distance\^9 units) -K can be specified in one of two ways. An explicit numeric value can -be used, as in the 2nd example above. J <= K is required. LAMMPS -sets the coefficients for the other 5 symmetric interactions to the -same values. E.g. if I = 1, J = 2, K = 3, then these 6 values are set -to the specified nu: nu123, nu132, nu213, nu231, nu312, nu321. This -enforces the symmetry discussed above. +:math:`K` can be specified in one of two ways. An explicit numeric value can +be used, as in the 2nd example above. :math:`J \leq K` is required. LAMMPS +sets the coefficients for the other 5 symmetric interactions to the same +values. E.g. if :math:`I = 1`, :math:`J = 2`, :math:`K = 3`, then these 6 +values are set to the specified :math:`\nu`: :math:`\nu_{123}`, +:math:`\nu_{132}`, :math:`\nu_{213}`, :math:`\nu_{231}`, :math:`\nu_{312}`, +:math:`\nu_{321}`. This enforces the symmetry discussed above. A wildcard asterisk can be used for K to set the coefficients for multiple triplets of atom types. This takes the form "\*" or "\*n" or -"n\*" or "m\*n". If N = the number of atom types, then an asterisk with -no numeric values means all types from 1 to N. A leading asterisk -means all types from 1 to n (inclusive). A trailing asterisk means -all types from n to N (inclusive). A middle asterisk means all types -from m to n (inclusive). Note that only type triplets with J <= K are -considered; if asterisks imply type triplets where K < J, they are +"n\*" or "m\*n". If :math:`N` equals the number of atom types, then an asterisk with +no numeric values means all types from 1 to :math:`N`. A leading asterisk +means all types from 1 to :math:`n` (inclusive). A trailing asterisk means +all types from :math:`n` to :math:`N` (inclusive). A middle asterisk means all types +from :math:`m` to :math:`n` (inclusive). Note that only type triplets with :math:`J \leq K` are +considered; if asterisks imply type triplets where :math:`K < J`, they are ignored. -Note that a pair\_coeff command can override a previous setting for the -same I,J,K triplet. For example, these commands set nu for all I,J.K -triplets, then overwrite nu for just the I,J,K = 2,3,4 triplet: +Note that a pair_coeff command can override a previous setting for the +same :math:`I,J,K` triplet. For example, these commands set :math:`\nu` for all :math:`I,J.K` +triplets, then overwrite nu for just the :math:`I,J,K = 2,3,4` triplet: -.. parsed-literal:: +.. code-block:: LAMMPS - pair_coeff \* \* \* 0.25 + pair_coeff * * * 0.25 pair_coeff 2 3 4 0.1 Note that for a simulation with a single atom type, only a single entry is required, e.g. -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1 0.25 -For a simulation with two atom types, four pair\_coeff commands will +For a simulation with two atom types, four pair_coeff commands will specify all possible nu values: -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1 nu1 pair_coeff 1 1 2 nu2 pair_coeff 1 2 2 nu3 pair_coeff 2 2 2 nu4 -For a simulation with three atom types, ten pair\_coeff commands will +For a simulation with three atom types, ten pair_coeff commands will specify all possible nu values: -.. parsed-literal:: +.. code-block:: LAMMPS pair_coeff 1 1 1 nu1 pair_coeff 1 1 2 nu2 @@ -133,12 +137,12 @@ specify all possible nu values: pair_coeff 2 3 3 nu9 pair_coeff 3 3 3 nu10 -By default the nu value for all triplets is set to 0.0. Thus it is -not required to provide pair\_coeff commands that enumerate triplet -interactions for all K types. If some I,J,K combination is not +By default the :math:`\nu` value for all triplets is set to 0.0. Thus it is +not required to provide pair_coeff commands that enumerate triplet +interactions for all :math:`K` types. If some :math:`I,J,K` combination is not specified, then there will be no 3-body ATM interactions for that combination and all its permutations. However, as with all pair -styles, it is required to specify a pair\_coeff command for all I,J +styles, it is required to specify a pair_coeff command for all :math:`I,J` combinations, else an error will result. @@ -150,16 +154,16 @@ combinations, else an error will result. This pair styles do not support the :doc:`pair_modify ` mix, shift, table, and tail options. -This pair style writes its information to :doc:`binary restart files `, so pair\_style and pair\_coeff commands do not need -to be specified in an input script that reads a restart file. -However, if the *atm* potential is used in combination with other -potentials using the :doc:`pair_style hybrid/overlay ` -command then pair\_coeff commands need to be re-specified -in the restart input script. +This pair style writes its information to :doc:`binary restart files +`, so pair_style and pair_coeff commands do not need to be specified +in an input script that reads a restart file. However, if the *atm* potential +is used in combination with other potentials using the :doc:`pair_style +hybrid/overlay ` command then pair_coeff commands need to be +re-specified in the restart input script. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the -*inner*\ , *middle*\ , *outer* keywords. +*inner* , *middle* , *outer* keywords. ---------- diff --git a/doc/src/pair_beck.rst b/doc/src/pair_beck.rst index 6a407e11a9..88abfe9798 100644 --- a/doc/src/pair_beck.rst +++ b/doc/src/pair_beck.rst @@ -1,19 +1,19 @@ -.. index:: pair\_style beck +.. index:: pair_style beck -pair\_style beck command -======================== +pair_style beck command +======================= -pair\_style beck/gpu command -============================ +pair_style beck/gpu command +=========================== -pair\_style beck/omp command -============================ +pair_style beck/omp command +=========================== Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style beck Rc @@ -23,10 +23,10 @@ Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style beck 8.0 - pair_coeff \* \* 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 + pair_coeff * * 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 pair_coeff 1 1 399.671876712 0.0000867636112694 0.675 4.390 0.0003746 6.0 Description @@ -36,8 +36,10 @@ Style *beck* computes interactions based on the potential by :ref:`(Beck) `, originally designed for simulation of Helium. It includes truncation at a cutoff distance Rc. -.. image:: Eqs/pair_beck.jpg - :align: center +.. math:: + + E(r) &= A \exp\left[-\alpha r - \beta r^6\right] - \frac{B}{\left(r^2+a^2\right)^3} \left(1+\frac{2.709+3a^2}{r^2+a^2}\right) \qquad r < R_c \\ + The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples @@ -45,15 +47,15 @@ above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` commands. -* A (energy units) -* B (energy-distance\^6 units) -* a (distance units) -* alpha (1/distance units) -* beta (1/distance\^6 units) +* :math:`A` (energy units) +* :math:`B` (energy-distance\^6 units) +* :math:`a` (distance units) +* :math:`\alpha` (1/distance units) +* :math:`\beta` (1/distance\^6 units) * cutoff (distance units) The last coefficient is optional. If not specified, the global cutoff -Rc is used. +:math:`R_c` is used. ---------- @@ -108,7 +110,7 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - none +none Related commands """""""""""""""" diff --git a/doc/src/pair_body_nparticle.rst b/doc/src/pair_body_nparticle.rst index 1214890070..edfd4f3ab2 100644 --- a/doc/src/pair_body_nparticle.rst +++ b/doc/src/pair_body_nparticle.rst @@ -1,13 +1,13 @@ -.. index:: pair\_style body/nparticle +.. index:: pair_style body/nparticle -pair\_style body/nparticle command -================================== +pair_style body/nparticle command +================================= Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/nparticle cutoff @@ -17,10 +17,10 @@ Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/nparticle 3.0 - pair_coeff \* \* 1.0 1.0 + pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 Description @@ -67,11 +67,15 @@ The interaction between two sub-particles, or a sub-particle and point particle, or between two point particles is computed as a Lennard-Jones interaction, using the standard formula -.. image:: Eqs/pair_lj.jpg - :align: center +.. math:: -where Rc is the cutoff. As explained above, an interaction involving -one or two body sub-particles may be computed even for r > Rc. + E & = 4 \epsilon \left[ \left(\frac{\sigma}{r}\right)^{12} - + \left(\frac{\sigma}{r}\right)^6 \right] + \qquad r < R_c \\ + + +where :math:`R_c` is the cutoff. As explained above, an interaction involving +one or two body sub-particles may be computed even for :math:`r > R_c`. For style *body*\ , the following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in @@ -79,8 +83,8 @@ the examples above, or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` commands: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global cutoff @@ -94,7 +98,7 @@ is used. For atom type pairs I,J and I != J, the epsilon and sigma coefficients and cutoff distance for all of this pair style can be mixed. The -default mix value is *geometric*\ . See the "pair\_modify" command for +default mix value is *geometric*\ . See the :doc:`pair_modify ` command for details. This pair style does not support the :doc:`pair_modify ` diff --git a/doc/src/pair_body_rounded_polygon.rst b/doc/src/pair_body_rounded_polygon.rst index 9a042b5b5a..652c618d4a 100644 --- a/doc/src/pair_body_rounded_polygon.rst +++ b/doc/src/pair_body_rounded_polygon.rst @@ -1,16 +1,19 @@ -.. index:: pair\_style body/rounded/polygon +.. index:: pair_style body/rounded/polygon -pair\_style body/rounded/polygon command -======================================== +pair_style body/rounded/polygon command +======================================= Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff + +.. parsed-literal:: + c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding @@ -21,10 +24,10 @@ Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 - pair_coeff \* \* 100.0 1.0 + pair_coeff * * 100.0 1.0 pair_coeff 1 1 100.0 1.0 Description @@ -33,7 +36,8 @@ Description Style *body/rounded/polygon* is for use with 2d models of body particles of style *rounded/polygon*\ . It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex circular disks with a specified diameter. See the :doc:`Howto body ` doc page for more details on using body +1-vertex circular disks with a specified diameter. See the +:doc:`Howto body ` doc page for more details on using body rounded/polygon particles. This pairwise interaction between rounded polygons is described in @@ -54,34 +58,44 @@ their respective rounded surfaces, not by the separation of the vertices and edges themselves. This means that the specified cutoff in the pair\_style command is the -cutoff distance, r\_c, for the surface separation, \delta\_n (see figure +cutoff distance, :math:`r_c`, for the surface separation, :math:`\delta_n` (see figure below). This is the distance at which two particles no longer -interact. If r\_c is specified as 0.0, then it is a contact-only +interact. If :math:`r_c` is specified as 0.0, then it is a contact-only interaction. I.e. the two particles must overlap in order to exert a -repulsive force on each other. If r\_c > 0.0, then the force between +repulsive force on each other. If :math:`r_c > 0.0`, then the force between two particles will be attractive for surface separations from 0 to -r\_c, and repulsive once the particles overlap. +:math:`r_c`, and repulsive once the particles overlap. Note that unlike for other pair styles, the specified cutoff is not the distance between the centers of two particles at which they stop interacting. This center-to-center distance depends on the shape and size of the two particles and their relative orientation. LAMMPS takes that into account when computing the surface separation distance -and applying the r\_c cutoff. +and applying the :math:`r_c` cutoff. The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: -.. image:: Eqs/pair_body_rounded.jpg - :align: center +.. math:: + + F_n &= \begin{cases} + k_n \delta_n - c_n v_n & \delta_n \le 0 \\ + -k_{na} \delta_n - c_n v_n & 0 < \delta_n \le r_c \\ + 0 & \delta_n > r_c \\ + \end{cases} \\ + F_t &= \begin{cases} + \mu k_n \delta_n - c_t v_t & \delta_n \le 0 \\ + 0 & \delta_n > 0 + \end{cases} .. image:: JPG/pair_body_rounded.jpg :align: center -Note that F\_n and F\_t are functions of the surface separation \delta\_n -= d - (R\_i + R\_j). In this model, when (R\_i + R\_j) < d < (R\_i + R\_j) -+ r\_c, that is, 0 < \delta\_n < r\_c, the cohesive region of the two -surfaces overlap and the two surfaces are attractive to each other. +Note that :math:`F_n` and :math:`F_t` are functions of the surface separation +:math:`\delta_n = d - (R_i + R_j)`. In this model, when +:math:`(R_i + R_j) < d < (R_i + R_j) + r_c`, that is, :math:`0 < \delta_n < r_c`, +the cohesive region of the two surfaces overlap and the two surfaces are +attractive to each other. In :ref:`Fraige `, the tangential friction force between two particles that are in contact is modeled differently prior to gross @@ -98,12 +112,12 @@ The following coefficients must be defined for each pair of atom types via the :doc:`pair_coeff ` command as in the examples above, or in the data file read by the :doc:`read_data ` command: -* k\_n (energy/distance\^2 units) -* k\_na (energy/distance\^2 units) +* :math:`k_n` (energy/distance\^2 units) +* :math:`k_{na}` (energy/distance\^2 units) -Effectively, k\_n and k\_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta\_n < 0 and 0 < -\delta\_n < r\_c respectively. +Effectively, :math:`k_n` and :math:`k_{na}` are the slopes of the red lines in the plot +above for force versus surface separation, for :math:`\delta_n < 0` and +:math:`0 < \delta_n < r_c` respectively. **Mixing, shift, table, tail correction, restart, rRESPA info**\ : @@ -120,7 +134,6 @@ This pair style can only be used via the *pair* keyword of the Restrictions """""""""""" - These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the :doc:`Build package ` doc page for more info. diff --git a/doc/src/pair_body_rounded_polyhedron.rst b/doc/src/pair_body_rounded_polyhedron.rst index 23623a640e..20dbbafb13 100644 --- a/doc/src/pair_body_rounded_polyhedron.rst +++ b/doc/src/pair_body_rounded_polyhedron.rst @@ -1,16 +1,18 @@ -.. index:: pair\_style body/rounded/polyhedron +.. index:: pair_style body/rounded/polyhedron -pair\_style body/rounded/polyhedron command -=========================================== +pair_style body/rounded/polyhedron command +========================================== Syntax """""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polyhedron c_n c_t mu delta_ua cutoff +.. parsed-literal:: + c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding @@ -21,10 +23,10 @@ Examples """""""" -.. parsed-literal:: +.. code-block:: LAMMPS pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 - pair_coeff \* \* 100.0 1.0 + pair_coeff * * 100.0 1.0 pair_coeff 1 1 100.0 1.0 Description @@ -33,7 +35,8 @@ Description Style *body/rounded/polygon* is for use with 3d models of body particles of style *rounded/polyhedron*\ . It calculates pairwise body/body interactions which can include body particles modeled as -1-vertex spheres with a specified diameter. See the :doc:`Howto body ` doc page for more details on using body +1-vertex spheres with a specified diameter. See the +:doc:`Howto body ` doc page for more details on using body rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described @@ -54,26 +57,35 @@ separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. This means that the specified cutoff in the pair\_style command is the -cutoff distance, r\_c, for the surface separation, \delta\_n (see figure +cutoff distance, :math:`r_c`, for the surface separation, :math:`\delta_n` (see figure below). This is the distance at which two particles no longer -interact. If r\_c is specified as 0.0, then it is a contact-only +interact. If :math:`r_c` is specified as 0.0, then it is a contact-only interaction. I.e. the two particles must overlap in order to exert a -repulsive force on each other. If r\_c > 0.0, then the force between +repulsive force on each other. If :math:`r_c > 0.0`, then the force between two particles will be attractive for surface separations from 0 to -r\_c, and repulsive once the particles overlap. +:math:`r_c`, and repulsive once the particles overlap. Note that unlike for other pair styles, the specified cutoff is not the distance between the centers of two particles at which they stop interacting. This center-to-center distance depends on the shape and size of the two particles and their relative orientation. LAMMPS takes that into account when computing the surface separation distance -and applying the r\_c cutoff. +and applying the :math:`r_c` cutoff. The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, and edge-face overlaps are given by: -.. image:: Eqs/pair_body_rounded.jpg - :align: center +.. math:: + + F_n &= \begin{cases} + k_n \delta_n - c_n v_n, & \delta_n \le 0 \\ + -k_{na} \delta_n - c_n v_n & 0 < \delta_n \le r_c \\ + 0 & \delta_n > r_c \\ + \end{cases} \\ + F_t &= \begin{cases} + \mu k_n \delta_n - c_t v_t & \delta_n \le 0 \\ + 0 & \delta_n > 0 + \end{cases} .. image:: JPG/pair_body_rounded.jpg :align: center @@ -93,20 +105,21 @@ The following coefficients must be defined for each pair of atom types via the :doc:`pair_coeff ` command as in the examples above, or in the data file read by the :doc:`read_data ` command: -* k\_n (energy/distance\^2 units) -* k\_na (energy/distance\^2 units) +* :math:`k_n` (energy/distance\^2 units) +* :math:`k_{na}` (energy/distance\^2 units) -Effectively, k\_n and k\_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta\_n < 0 and 0 < -\delta\_n < r\_c respectively. +Effectively, :math:`k_n` and :math:`k_{na}` are the slopes of the red lines in the plot +above for force versus surface separation, for :math:`\delta_n` < 0 and +:math:`0 < \delta_n < r_c` respectively. **Mixing, shift, table, tail correction, restart, rRESPA info**\ : This pair style does not support the :doc:`pair_modify ` mix, shift, table, and tail options. -This pair style does not write its information to :doc:`binary restart files `. Thus, you need to re-specify the pair\_style and -pair\_coeff commands in an input script that reads a restart file. +This pair style does not write its information to :doc:`binary restart files `. +Thus, you need to re-specify the pair\_style and pair\_coeff +commands in an input script that reads a restart file. This pair style can only be used via the *pair* keyword of the :doc:`run_style respa ` command. It does not support the diff --git a/doc/src/pair_srp.rst b/doc/src/pair_srp.rst index a1138db382..822bd0dddb 100644 --- a/doc/src/pair_srp.rst +++ b/doc/src/pair_srp.rst @@ -56,19 +56,25 @@ Bonds of specified type *btype* interact with one another through a bond-pairwise potential, such that the force on bond *i* due to bond *j* is as follows -.. image:: Eqs/pair_srp1.jpg - :align: center +.. math:: -where *r* and *rij* are the distance and unit vector between the two -bonds. Note that *btype* can be specified as an asterisk "\*", which -case the interaction is applied to all bond types. The *mid* option -computes *r* and *rij* from the midpoint distance between bonds. The -*min* option computes *r* and *rij* from the minimum distance between -bonds. The force acting on a bond is mapped onto the two bond atoms -according to the lever rule, + F^{SRP}_{ij} & = C(1-r/r_c)\hat{r}_{ij} \qquad r < r_c + + +where *r* and :math:`\hat{r}_{ij}` are the distance and unit vector +between the two bonds. Note that *btype* can be specified as an +asterisk "\*", which case the interaction is applied to all bond types. +The *mid* option computes *r* and :math:`\hat{r}_{ij}` from the midpoint +distance between bonds. The *min* option computes *r* and +:math:`\hat{r}_{ij}` from the minimum distance between bonds. The force +acting on a bond is mapped onto the two bond atoms according to the +lever rule, + +.. math:: + + F_{i1}^{SRP} & = F^{SRP}_{ij}(L) \\ + F_{i2}^{SRP} & = F^{SRP}_{ij}(1-L) -.. image:: Eqs/pair_srp2.jpg - :align: center where *L* is the normalized distance from the atom to the point of closest approach of bond *i* and *j*\ . The *mid* option takes *L* as @@ -80,7 +86,7 @@ the data file or restart file read by the :doc:`read_data ` or :doc:`read_restart ` commands: * *C* (force units) -* *rc* (distance units) +* :math:`r_c` (distance units) The last coefficient is optional. If not specified, the global cutoff is used. @@ -114,7 +120,7 @@ Pair style *srp* turns off normalization of thermodynamic properties by particle number, as if the command :doc:`thermo_modify norm no ` had been issued. The pairwise energy associated with style *srp* is shifted to be zero -at the cutoff distance *rc*\ . +at the cutoff distance :math:`r_c`. ---------- @@ -127,7 +133,7 @@ This pair styles does not support mixing. This pair style does not support the :doc:`pair_modify ` shift option for the energy of the pair interaction. Note that as discussed above, the energy term is already shifted to be 0.0 at the -cutoff distance *rc*\ . +cutoff distance :math:`r_c`. The :doc:`pair_modify ` table option is not relevant for this pair style. diff --git a/doc/src/pair_sw.rst b/doc/src/pair_sw.rst index 425dcf1f16..2df9958ba1 100644 --- a/doc/src/pair_sw.rst +++ b/doc/src/pair_sw.rst @@ -39,12 +39,23 @@ Description The *sw* style computes a 3-body :ref:`Stillinger-Weber ` potential for the energy E of a system of atoms as -.. image:: Eqs/pair_sw.jpg - :align: center +.. math:: -where phi2 is a two-body term and phi3 is a three-body term. The -summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = a\*sigma. + E & = \sum_i \sum_{j > i} \phi_2 (r_{ij}) + + \sum_i \sum_{j \neq i} \sum_{k > j} + \phi_3 (r_{ij}, r_{ik}, \theta_{ijk}) \\ + \phi_2(r_{ij}) & = A_{ij} \epsilon_{ij} \left[ B_{ij} (\frac{\sigma_{ij}}{r_{ij}})^{p_{ij}} - + (\frac{\sigma_{ij}}{r_{ij}})^{q_{ij}} \right] + \exp \left( \frac{\sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) \\ + \phi_3(r_{ij},r_{ik},\theta_{ijk}) & = \lambda_{ijk} \epsilon_{ijk} \left[ \cos \theta_{ijk} - + \cos \theta_{0ijk} \right]^2 + \exp \left( \frac{\gamma_{ij} \sigma_{ij}}{r_{ij} - a_{ij} \sigma_{ij}} \right) + \exp \left( \frac{\gamma_{ik} \sigma_{ik}}{r_{ik} - a_{ik} \sigma_{ik}} \right) + + +where :math:`\phi_2` is a two-body term and :math:`\phi_3` is a +three-body term. The summations in the formula are over all neighbors J +and K of atom I within a cutoff distance :math:`a `\sigma`. Only a single pair\_coeff command is used with the *sw* style which specifies a Stillinger-Weber potential file with parameters for all @@ -86,24 +97,25 @@ and three-body coefficients in the formula above: * element 1 (the center atom in a 3-body interaction) * element 2 * element 3 -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * a -* lambda -* gamma -* costheta0 +* :math:`\lambda` +* :math:`\gamma` +* :math:`\cos\theta_0` * A * B * p * q * tol -The A, B, p, and q parameters are used only for two-body -interactions. The lambda and costheta0 parameters are used only for -three-body interactions. The epsilon, sigma and a parameters are used -for both two-body and three-body interactions. gamma is used only in the -three-body interactions, but is defined for pairs of atoms. -The non-annotated parameters are unitless. +The A, B, p, and q parameters are used only for two-body interactions. +The :math:`\lambda` and :math:`\cos\theta_0` parameters are used only +for three-body interactions. The :math:`\epsilon`, :math:`\sigma` and +*a* parameters are used for both two-body and three-body +interactions. :math:`\gamma` is used only in the three-body +interactions, but is defined for pairs of atoms. The non-annotated +parameters are unitless. LAMMPS introduces an additional performance-optimization parameter tol that is used for both two-body and three-body interactions. In the @@ -141,9 +153,9 @@ are usually defined by simple formulas involving two sets of pair-wise parameters, corresponding to the ij and ik pairs, where i is the center atom. The user must ensure that the correct combining rule is used to calculate the values of the three-body parameters for -alloys. Note also that the function phi3 contains two exponential +alloys. Note also that the function :math:`\phi_3` contains two exponential screening factors with parameter values from the ij pair and ik -pairs. So phi3 for a C atom bonded to a Si atom and a second C atom +pairs. So :math:`\phi_3` for a C atom bonded to a Si atom and a second C atom will depend on the three-body parameters for the CSiC entry, and also on the two-body parameters for the CCC and CSiSi entries. Since the order of the two neighbors is arbitrary, the three-body parameters for @@ -152,8 +164,8 @@ parameters for entries SiCC and CSiSi should also be the same. The parameters used only for two-body interactions (A, B, p, and q) in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. -This is also true for the parameters in phi3 that are -taken from the ij and ik pairs (sigma, a, gamma) +This is also true for the parameters in :math:`\phi_3` that are +taken from the ij and ik pairs (:math:`\sigma`, *a*\ , :math:`\gamma`) ---------- diff --git a/doc/src/pair_tersoff.rst b/doc/src/pair_tersoff.rst index ab9d714499..f2e44d0362 100644 --- a/doc/src/pair_tersoff.rst +++ b/doc/src/pair_tersoff.rst @@ -50,12 +50,28 @@ Description The *tersoff* style computes a 3-body Tersoff potential :ref:`(Tersoff\_1) ` for the energy E of a system of atoms as -.. image:: Eqs/pair_tersoff_1.jpg - :align: center +.. math:: -where f\_R is a two-body term and f\_A includes three-body interactions. -The summations in the formula are over all neighbors J and K of atom I -within a cutoff distance = R + D. + E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ + f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l} + 1 & r < R - D \\ + \frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) & + R-D < r < R + D \\ + 0 & r > R + D + \end{array} \right. \\ + f_R(r) & = A \exp (-\lambda_1 r) \\ + f_A(r) & = -B \exp (-\lambda_2 r) \\ + b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ + \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) + \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ + g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - + \frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right) + + +where :math:`f_R` is a two-body term and :math:`f_A` includes three-body +interactions. The summations in the formula are over all neighbors +J and K of atom I within a cutoff distance = R + D. The *tersoff/table* style uses tabulated forms for the two-body, environment and angular functions. Linear interpolation is performed @@ -104,22 +120,24 @@ above: * element 2 (the atom bonded to the center atom) * element 3 (the atom influencing the 1-2 bond in a bond-order sense) * m -* gamma -* lambda3 (1/distance units) +* :math:`\gamma` +* :math:`\lambda_3` (1/distance units) * c * d -* costheta0 (can be a value < -1 or > 1) +* :math:`\cos\theta_0` (can be a value < -1 or > 1) * n -* beta -* lambda2 (1/distance units) +* :math:`\beta` +* :math:`\lambda_2` (1/distance units) * B (energy units) * R (distance units) * D (distance units) -* lambda1 (1/distance units) +* :math:`\lambda_1` (1/distance units) * A (energy units) -The n, beta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The m, gamma, lambda3, c, d, and costheta0 +The n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A +parameters are only used for +two-body interactions. The m, :math:`\gamma`, :math:`\lambda_3`, c, d, +and :math:`\cos\theta_0` parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The non-annotated parameters are unitless. The value of m must be 3 or 1. @@ -149,7 +167,8 @@ SiCC entry. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions -(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd +(n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A) +in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. @@ -165,16 +184,24 @@ it reduces to the form of :ref:`Albe et al. ` when beta = 1 and m = 1. Note that in the current Tersoff implementation in LAMMPS, m must be specified as either 3 or 1. Tersoff used a slightly different but equivalent form for alloys, which we will refer to as Tersoff\_2 -potential :ref:`(Tersoff\_2) `. The *tersoff/table* style implements +potential :ref:`(Tersoff\_2) `. +The *tersoff/table* style implements Tersoff\_2 parameterization only. LAMMPS parameter values for Tersoff\_2 can be obtained as follows: -gamma\_ijk = omega\_ik, lambda3 = 0 and the value of +:math:`\gamma_{ijk} = \omega_{ik}`, :math:`\lambda_3 = 0` and the value of m has no effect. The parameters for species i and j can be calculated using the Tersoff\_2 mixing rules: -.. image:: Eqs/pair_tersoff_2.jpg - :align: center +.. math:: + + \lambda_1^{i,j} & = \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\ + \lambda_2^{i,j} & = \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\ + A_{i,j} & = (A_{i}A_{j})^{1/2}\\ + B_{i,j} & = \chi_{ij}(B_{i}B_{j})^{1/2}\\ + R_{i,j} & = (R_{i}R_{j})^{1/2}\\ + S_{i,j} & = (S_{i}S_{j})^{1/2} + Tersoff\_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following diff --git a/doc/src/pair_tersoff_mod.rst b/doc/src/pair_tersoff_mod.rst index dbe0b4d95b..94cc9300ed 100644 --- a/doc/src/pair_tersoff_mod.rst +++ b/doc/src/pair_tersoff_mod.rst @@ -49,21 +49,40 @@ potential :ref:`(Tersoff\_1) `, :ref:`(Tersoff\_2) ` wit modified cutoff function and angular-dependent term, giving the energy E of a system of atoms as -.. image:: Eqs/pair_tersoff_mod.jpg - :align: center +.. math:: -where f\_R is a two-body term and f\_A includes three-body interactions. + E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ + f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l} + 1 & r < R - D \\ + \frac{1}{2} - \frac{9}{16} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) - \frac{1}{16} \sin \left( \frac{3\pi}{2} \frac{r-R}{D} \right) & + R-D < r < R + D \\ + 0 & r > R + D + \end{array} \right. \\ + f_R(r) & = A \exp (-\lambda_1 r) \\ + f_A(r) & = -B \exp (-\lambda_2 r) \\ + b_{ij} & = \left( 1 + {\zeta_{ij}}^\eta \right)^{-\frac{1}{2n}} \\ + \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) + \exp \left[ \alpha (r_{ij} - r_{ik})^\beta \right] \\ + g(\theta) & = c_1 + g_o(\theta) g_a(\theta) \\ + g_o(\theta) & = \frac{c_2 (h - \cos \theta)^2}{c_3 + (h - \cos \theta)^2} \\ + g_a(\theta) & = 1 + c_4 \exp \left[ -c_5 (h - \cos \theta)^2 \right] \\ + + +where :math:`f_R` is a two-body term and :math:`f_A` includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. The *tersoff/mod/c* style differs from *tersoff/mod* only in the formulation of the V\_ij term, where it contains an additional c0 term. -.. image:: Eqs/pair_tersoff_mod_c.jpg - :align: center +.. math:: -The modified cutoff function f\_C proposed by :ref:`(Murty) ` and + V_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) + c_0 \right] + + +The modified cutoff function :math:`f_C` proposed by :ref:`(Murty) ` and having a continuous second-order differential is employed. The -angular-dependent term g(theta) was modified to increase the +angular-dependent term :math:`g(\theta)` was modified to increase the flexibility of the potential. The *tersoff/mod* potential is fitted to both the elastic constants @@ -105,30 +124,30 @@ not blank or comments (starting with #) define parameters for a triplet of elements. The parameters in a single entry correspond to coefficients in the formulae above: -element 1 (the center atom in a 3-body interaction) -element 2 (the atom bonded to the center atom) -element 3 (the atom influencing the 1-2 bond in a bond-order sense) -beta -alpha -h -eta -beta\_ters = 1 (dummy parameter) -lambda2 (1/distance units) -B (energy units) -R (distance units) -D (distance units) -lambda1 (1/distance units) -A (energy units) -n -c1 -c2 -c3 -c4 -c5 -c0 (energy units, tersoff/mod/c only):ul +* element 1 (the center atom in a 3-body interaction) +* element 2 (the atom bonded to the center atom) +* element 3 (the atom influencing the 1-2 bond in a bond-order sense) +* :math:`\beta` +* :math:`\alpha` +* h +* :math:`\eta` +* :math:`\beta_{ters}` = 1 (dummy parameter) +* :math:`\lambda_2` (1/distance units) +* B (energy units) +* R (distance units) +* D (distance units) +* :math:`\lambda_1` (1/distance units) +* A (energy units) +* n +* c1 +* c2 +* c3 +* c4 +* c5 +* c0 (energy units, tersoff/mod/c only):ul -The n, eta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The beta, alpha, c1, c2, c3, c4, c5, h +The n, :math:`\eta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A parameters are only used for +two-body interactions. The :math:`\beta`, :math:`\alpha`, c1, c2, c3, c4, c5, h parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The c0 term applies to *tersoff/mod/c* only. The non-annotated diff --git a/doc/src/pair_tersoff_zbl.rst b/doc/src/pair_tersoff_zbl.rst index 2ad3be9d7d..e60de64f28 100644 --- a/doc/src/pair_tersoff_zbl.rst +++ b/doc/src/pair_tersoff_zbl.rst @@ -38,26 +38,53 @@ based on a Coulomb potential and the Ziegler-Biersack-Littmark universal screening function :ref:`(ZBL) `, giving the energy E of a system of atoms as -.. image:: Eqs/pair_tersoff_zbl.jpg - :align: center +.. math:: -The f\_F term is a fermi-like function used to smoothly connect the ZBL + E & = \frac{1}{2} \sum_i \sum_{j \neq i} V_{ij} \\ + V_{ij} & = (1 - f_F(r_{ij})) V^{ZBL}_{ij} + f_F(r_{ij}) V^{Tersoff}_{ij} \\ + f_F(r_{ij}) & = \frac{1}{1 + e^{-A_F(r_{ij} - r_C)}}\\ + \\ + \\ + V^{ZBL}_{ij} & = \frac{1}{4\pi\epsilon_0} \frac{Z_1 Z_2 \,e^2}{r_{ij}} \phi(r_{ij}/a) \\ + a & = \frac{0.8854\,a_0}{Z_{1}^{0.23} + Z_{2}^{0.23}}\\ + \phi(x) & = 0.1818e^{-3.2x} + 0.5099e^{-0.9423x} + 0.2802e^{-0.4029x} + 0.02817e^{-0.2016x}\\ + \\ + \\ + V^{Tersoff}_{ij} & = f_C(r_{ij}) \left[ f_R(r_{ij}) + b_{ij} f_A(r_{ij}) \right] \\ + f_C(r) & = \left\{ \begin{array} {r@{\quad:\quad}l} + 1 & r < R - D \\ + \frac{1}{2} - \frac{1}{2} \sin \left( \frac{\pi}{2} \frac{r-R}{D} \right) & + R-D < r < R + D \\ + 0 & r > R + D + \end{array} \right. \\ + f_R(r) & = A \exp (-\lambda_1 r) \\ + f_A(r) & = -B \exp (-\lambda_2 r) \\ + b_{ij} & = \left( 1 + \beta^n {\zeta_{ij}}^n \right)^{-\frac{1}{2n}} \\ + \zeta_{ij} & = \sum_{k \neq i,j} f_C(r_{ik}) g(\theta_{ijk}) + \exp \left[ {\lambda_3}^m (r_{ij} - r_{ik})^m \right] \\ + g(\theta) & = \gamma_{ijk} \left( 1 + \frac{c^2}{d^2} - + \frac{c^2}{\left[ d^2 + (\cos \theta - \cos \theta_0)^2\right]} \right) + + +The :math:`f_F` term is a fermi-like function used to smoothly connect the ZBL repulsive potential with the Tersoff potential. There are 2 -parameters used to adjust it: A\_F and r\_C. A\_F controls how "sharp" -the transition is between the two, and r\_C is essentially the cutoff +parameters used to adjust it: :math:`A_F` and :math:`r_C`. :math:`A_F` +controls how "sharp" +the transition is between the two, and :math:`r_C` is essentially the cutoff for the ZBL potential. For the ZBL portion, there are two terms. The first is the Coulomb repulsive term, with Z1, Z2 as the number of protons in each nucleus, -e as the electron charge (1 for metal and real units) and epsilon0 as -the permittivity of vacuum. The second part is the ZBL universal +e as the electron charge (1 for metal and real units) and :math:`\epsilon_0` +as the permittivity of vacuum. The second part is the ZBL universal screening function, with a0 being the Bohr radius (typically 0.529 Angstroms), and the remainder of the coefficients provided by the original paper. This screening function should be applicable to most systems. However, it is only accurate for small separations (i.e. less than 1 Angstrom). -For the Tersoff portion, f\_R is a two-body term and f\_A includes +For the Tersoff portion, :math:`f_R` is a two-body term and :math:`f_A` +includes three-body interactions. The summations in the formula are over all neighbors J and K of atom I within a cutoff distance = R + D. @@ -102,29 +129,32 @@ in the formula above: * element 2 (the atom bonded to the center atom) * element 3 (the atom influencing the 1-2 bond in a bond-order sense) * m -* gamma -* lambda3 (1/distance units) +* :math:`\gamma` +* :math:`\lambda_3` (1/distance units) * c * d -* costheta0 (can be a value < -1 or > 1) +* :math:`\cos\theta_0` (can be a value < -1 or > 1) * n -* beta -* lambda2 (1/distance units) +* :math:`\beta` +* :math:`\lambda_2` (1/distance units) * B (energy units) * R (distance units) * D (distance units) -* lambda1 (1/distance units) +* :math:`\lambda_1` (1/distance units) * A (energy units) -* Z\_i -* Z\_j +* :math:`Z_i` +* :math:`Z_j` * ZBLcut (distance units) * ZBLexpscale (1/distance units) -The n, beta, lambda2, B, lambda1, and A parameters are only used for -two-body interactions. The m, gamma, lambda3, c, d, and costheta0 +The n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A +parameters are only used for +two-body interactions. The m, :math:`\gamma`, :math:`\lambda_3`, c, d, +and :math:`\cos\theta_0` parameters are only used for three-body interactions. The R and D parameters are used for both two-body and three-body interactions. The -Z\_i,Z\_j, ZBLcut, ZBLexpscale parameters are used in the ZBL repulsive +:math:`Z_i`, :math:`Z_j`, ZBLcut, ZBLexpscale parameters are used in the +ZBL repulsive portion of the potential and in the Fermi-like function. The non-annotated parameters are unitless. The value of m must be 3 or 1. @@ -153,7 +183,8 @@ SiCC entry. The parameters used for a particular three-body interaction come from the entry with the corresponding three elements. The parameters used only for two-body interactions -(n, beta, lambda2, B, lambda1, and A) in entries whose 2nd and 3rd +(n, :math:`\beta`, :math:`\lambda_2`, B, :math:`\lambda_1`, and A) +in entries whose 2nd and 3rd element are different (e.g. SiCSi) are not used for anything and can be set to 0.0 if desired. @@ -172,12 +203,19 @@ different but equivalent form for alloys, which we will refer to as Tersoff\_2 potential :ref:`(Tersoff\_2) `. LAMMPS parameter values for Tersoff\_2 can be obtained as follows: -gamma = omega\_ijk, lambda3 = 0 and the value of +:math:`\gamma = \omega_{ijk}`, :math:`\lambda_3 = 0` and the value of m has no effect. The parameters for species i and j can be calculated using the Tersoff\_2 mixing rules: -.. image:: Eqs/pair_tersoff_2.jpg - :align: center +.. math:: + + \lambda_1^{i,j} & = \frac{1}{2}(\lambda_1^i + \lambda_1^j)\\ + \lambda_2^{i,j} & = \frac{1}{2}(\lambda_2^i + \lambda_2^j)\\ + A_{i,j} & = (A_{i}A_{j})^{1/2}\\ + B_{i,j} & = \chi_{ij}(B_{i}B_{j})^{1/2}\\ + R_{i,j} & = (R_{i}R_{j})^{1/2}\\ + S_{i,j} & = (S_{i}S_{j})^{1/2}\\ + Tersoff\_2 parameters R and S must be converted to the LAMMPS parameters R and D (R is different in both forms), using the following diff --git a/doc/src/pair_ufm.rst b/doc/src/pair_ufm.rst index 3bb4e83a0e..c8a7e42743 100644 --- a/doc/src/pair_ufm.rst +++ b/doc/src/pair_ufm.rst @@ -42,10 +42,16 @@ Description Style *ufm* computes pairwise interactions using the Uhlenbeck-Ford model (UFM) potential :ref:`(Paula Leite2016) ` which is given by -.. image:: Eqs/pair_ufm.jpg - :align: center +.. math:: -where rc is the cutoff, sigma is a distance-scale and epsilon is an energy-scale, i.e., a product of Boltzmann constant kB, temperature T and the Uhlenbeck-Ford p-parameter which is responsible + E & = -\varepsilon\, \ln{\left[1-\exp{\left(-r^{2}/\sigma^{2}\right)}\right]} \qquad r < r_c \\ + \varepsilon & = p\,k_B\,T + + +where :math:`r_c` is the cutoff, :math:`\sigma` is a distance-scale and +:math:`\epsilon` is an energy-scale, i.e., a product of Boltzmann constant +:math:`k_B`, temperature *T* and the Uhlenbeck-Ford p-parameter which +is responsible to control the softness of the interactions :ref:`(Paula Leite2017) `. This model is useful as a reference system for fluid-phase free-energy calculations :ref:`(Paula Leite2016) `. @@ -55,8 +61,8 @@ or in the data file or restart files read by the :doc:`read_data ` or :doc:`read_restart ` commands, or by mixing as described below: -* epsilon (energy units) -* sigma (distance units) +* :math:`\epsilon` (energy units) +* :math:`\sigma` (distance units) * cutoff (distance units) The last coefficient is optional. If not specified, the global *ufm* @@ -76,7 +82,13 @@ of a run: .. note:: - The thermodynamic integration procedure can be performed with this potential using :doc:`fix adapt `. This command will rescale the force on each atom by varying a scale variable, which always starts with value 1.0. The syntax is the same described above, however, changing epsilon to scale. A detailed explanation of how to use this command and perform nonequilibrium thermodynamic integration in LAMMPS is given in the paper by :ref:`(Freitas) `. + The thermodynamic integration procedure can be performed with this + potential using :doc:`fix adapt `. This command will + rescale the force on each atom by varying a scale variable, which + always starts with value 1.0. The syntax is the same described above, + however, changing epsilon to scale. A detailed explanation of how to + use this command and perform nonequilibrium thermodynamic integration + in LAMMPS is given in the paper by :ref:`(Freitas) `. ---------- diff --git a/doc/src/pair_vashishta.rst b/doc/src/pair_vashishta.rst index de29985f56..2dde0482be 100644 --- a/doc/src/pair_vashishta.rst +++ b/doc/src/pair_vashishta.rst @@ -63,16 +63,21 @@ including SiO2 :ref:`Vashishta1990 `, SiC The potential for the energy U of a system of atoms is -.. image:: Eqs/pair_vashishta.jpg - :align: center +.. math:: + + U & = \sum_i^N \sum_{j > i}^N U_{ij}^{(2)} (r_{ij}) + \sum_i^N \sum_{j \neq i}^N \sum_{k > j, k \neq i}^N U_{ijk}^{(3)} (r_{ij}, r_{ik}, \theta_{ijk}) \\ + U_{ij}^{(2)} (r) & = \frac{H_{ij}}{r^{\eta_{ij}}} + \frac{Z_i Z_j}{r}\exp(-r/\lambda_{1,ij}) - \frac{D_{ij}}{r^4}\exp(-r/\lambda_{4,ij}) - \frac{W_{ij}}{r^6}, r < r_{c,{ij}} \\ + U_{ijk}^{(3)}(r_{ij},r_{ik},\theta_{ijk}) & = B_{ijk} \frac{\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} {1+C_{ijk}\left[ \cos \theta_{ijk} - \cos \theta_{0ijk} \right]^2} \times \\ + & \exp \left( \frac{\gamma_{ij}}{r_{ij} - r_{0,ij}} \right) \exp \left( \frac{\gamma_{ik}}{r_{ik} - r_{0,ik}} \right), r_{ij} < r_{0,ij}, r_{ik} < r_{0,ik} + where we follow the notation used in :ref:`Branicio2009 `. -U2 is a two-body term and U3 is a three-body term. The +:math:`U^2` is a two-body term and U3 is a three-body term. The summation over two-body terms is over all neighbors J within -a cutoff distance = *rc*\ . The twobody terms are shifted and +a cutoff distance = :math:`r_c`. The twobody terms are shifted and tilted by a linear function so that the energy and force are -both zero at *rc*\ . The summation over three-body terms -is over all neighbors J and K within a cut-off distance = *r0*\ , +both zero at :math:`r_c`. The summation over three-body terms +is over all neighbors *i* and *k* within a cut-off distance :math:`= r_0`, where the exponential screening function becomes zero. The *vashishta* style computes these formulas analytically. The @@ -126,20 +131,20 @@ and three-body coefficients in the formulae above: * element 1 (the center atom in a 3-body interaction) * element 2 * element 3 -* H (energy units) -* eta -* Zi (electron charge units) -* Zj (electron charge units) -* lambda1 (distance units) -* D (energy units) -* lambda4 (distance units) -* W (energy units) -* rc (distance units) -* B (energy units) -* gamma -* r0 (distance units) -* C -* costheta0 +* *H* (energy units) +* :math:`\eta` +* :math:`Z_i` (electron charge units) +* :math:`Z_j` (electron charge units) +* :math:`\lambda_1` (distance units) +* *D* (energy units) +* :math:`\lambda_4` (distance units) +* *W* (energy units) +* :math:`r_c` (distance units) +* *B* (energy units) +* :math:`\gamma` +* :math:`r_0` (distance units) +* *C* +* :math:`\cos\theta_0` The non-annotated parameters are unitless. The Vashishta potential file must contain entries for all the elements listed in the @@ -159,12 +164,14 @@ unambiguous, general, and simple to code, LAMMPS uses a slightly confusing method for specifying parameters. All parameters are divided into two classes: two-body and three-body. Two-body and three-body parameters are handled differently, as described below. -The two-body parameters are H, eta, lambda1, D, lambda4, W, rc, gamma, -and r0. They appear in the above formulae with two subscripts. The -parameters Zi and Zj are also classified as two-body parameters, even -though they only have 1 subscript. The three-body parameters are B, -C, costheta0. They appear in the above formulae with three -subscripts. Two-body and three-body parameters are handled +The two-body parameters are *H*\ , :math:`\eta`, :math:`\lambda_1`, +*D*\ , :math:`\lambda_4`, *W*, :math:`r_c`, :math:`\gamma`, +and :math:`r_0`. They appear in the above formulae with two subscripts. +The parameters :math:`Z_i` and :math:`Z_j` are also classified +as two-body parameters, even +though they only have 1 subscript. The three-body parameters are *B*\ , +*C*\ , :math:`\cos\theta_0`. They appear in the above formulae with +three subscripts. Two-body and three-body parameters are handled differently, as described below. The first element in each entry is the center atom in a three-body @@ -184,7 +191,8 @@ ensure that these values are equal. Two-body parameters appearing in entries where the 2nd and 3rd elements are different are stored but never used. It is good practice to enter zero for these values. Note that the three-body function U3 above contains the two-body parameters -gamma and r0. So U3 for a central C atom bonded to an Si atom and a +:math:`\gamma` and :math:`r_0`. So U3 for a central C atom bonded to +an Si atom and a second C atom will take three-body parameters from the CSiC entry, but two-body parameters from the CCC and CSiSi entries. diff --git a/doc/src/pair_yukawa.rst b/doc/src/pair_yukawa.rst index c3a8e9fc71..b7cb6818d2 100644 --- a/doc/src/pair_yukawa.rst +++ b/doc/src/pair_yukawa.rst @@ -38,10 +38,12 @@ Description Style *yukawa* computes pairwise interactions with the formula -.. image:: Eqs/pair_yukawa.jpg - :align: center +.. math:: -Rc is the cutoff. + E = A \frac{e^{- \kappa r}}{r} \qquad r < r_c + + +:math:`r_c` is the cutoff. The following coefficients must be defined for each pair of atoms types via the :doc:`pair_coeff ` command as in the examples diff --git a/doc/src/pair_yukawa_colloid.rst b/doc/src/pair_yukawa_colloid.rst index 76bf010fb9..2c337bdb94 100644 --- a/doc/src/pair_yukawa_colloid.rst +++ b/doc/src/pair_yukawa_colloid.rst @@ -35,11 +35,13 @@ Description Style *yukawa/colloid* computes pairwise interactions with the formula -.. image:: Eqs/pair_yukawa_colloid.jpg - :align: center +.. math:: -where Ri and Rj are the radii of the two particles and Rc is the -cutoff. + E = \frac{A}{\kappa} e^{- \kappa (r - (r_i + r_j))} \qquad r < r_c + + +where :math:`r_i` and :math:`r_j` are the radii of the two particles +and :math:`r_c` is the cutoff. In contrast to :doc:`pair_style yukawa `, this functional form arises from the Coulombic interaction between two colloid @@ -49,7 +51,7 @@ theory. :doc:`Pair\_style yukawa ` is a screened Coulombic potential between two point-charges and uses no such approximation. This potential applies to nearby particle pairs for which the Derjagin -approximation holds, meaning h << Ri + Rj, where h is the +approximation holds, meaning :math:`h << r_i + r_j`, where *h* is the surface-to-surface separation of the two particles. When used in combination with :doc:`pair_style colloid `, @@ -72,17 +74,17 @@ used in :doc:`pair_style yukawa `. For low surface potentials, i.e. less than about 25 mV, A can be written as: -.. parsed-literal:: +.. math:: - A = 2 \* PI \* R\*eps\*eps0 \* kappa \* psi\^2 + A = 2 \pi R\varepsilon\varepsilon_0 \kappa \psi^2 where -* R = colloid radius (distance units) -* eps0 = permittivity of free space (charge\^2/energy/distance units) -* eps = relative permittivity of fluid medium (dimensionless) -* kappa = inverse screening length (1/distance units) -* psi = surface potential (energy/charge units) +* *R* = colloid radius (distance units) +* :math:`\varepsilon_0` = permittivity of free space (charge\^2/energy/distance units) +* :math:`\varepsilon` = relative permittivity of fluid medium (dimensionless) +* :math:`\kappa` = inverse screening length (1/distance units) +* :math:`\psi` = surface potential (energy/charge units) The last coefficient is optional. If not specified, the global yukawa/colloid cutoff is used. diff --git a/doc/src/pair_zbl.rst b/doc/src/pair_zbl.rst index 8e34341172..bffcf9fbda 100644 --- a/doc/src/pair_zbl.rst +++ b/doc/src/pair_zbl.rst @@ -43,12 +43,16 @@ that ramps the energy, force, and curvature smoothly to zero between an inner and outer cutoff. The potential energy due to a pair of atoms at a distance r\_ij is given by: -.. image:: Eqs/pair_zbl.jpg - :align: center +.. math:: -where e is the electron charge, epsilon\_0 is the electrical -permittivity of vacuum, and Z\_i and Z\_j are the nuclear charges of the -two atoms. The switching function S(r) is identical to that used by + E^{ZBL}_{ij} & = \frac{1}{4\pi\epsilon_0} \frac{Z_i Z_j \,e^2}{r_{ij}} \phi(r_{ij}/a)+ S(r_{ij})\\ + a & = \frac{0.46850}{Z_{i}^{0.23} + Z_{j}^{0.23}}\\ + \phi(x) & = 0.18175e^{-3.19980x} + 0.50986e^{-0.94229x} + 0.28022e^{-0.40290x} + 0.02817e^{-0.20162x}\\ + +where *e* is the electron charge, :math:`\epsilon_0` is the electrical +permittivity of vacuum, and :math:`Z_i` and :math:`Z_j` are the nuclear +charges of the +two atoms. The switching function :math:`S(r)` is identical to that used by :doc:`pair_style lj/gromacs `. Here, the inner and outer cutoff are the same for all pairs of atom types. @@ -56,16 +60,17 @@ The following coefficients must be defined for each pair of atom types via the :doc:`pair_coeff ` command as in the examples above, or in the LAMMPS data file. -* Z\_i (atomic number for first atom type, e.g. 13.0 for aluminum) +* :math:`Z_i` (atomic number for first atom type, e.g. 13.0 for aluminum) -* Z\_j (ditto for second atom type) +* :math:`Z_j` (ditto for second atom type) -The values of Z\_i and Z\_j are normally equal to the atomic +The values of :math:`Z_i` and :math:`Z_j` are normally equal to the atomic numbers of the two atom types. Thus, the user may optionally -specify only the coefficients for each I==I pair, and rely +specify only the coefficients for each :math:`i==i` pair, and rely on the obvious mixing rule for cross interactions (see below). -Note that when I==I it is required that Z\_i == Z\_j. When used -with :doc:`hybrid/overlay ` and pairs are assigned +Note that when :math:`i==i` it is required that :math:`Z_i == Z_j`. +When used with :doc:`hybrid/overlay ` and pairs are +assigned to more than one sub-style, the mixing rule is not used and each pair of types interacting with the ZBL sub-style must be included in a pair\_coeff command. @@ -108,9 +113,11 @@ instructions on how to use the accelerated styles effectively. **Mixing, shift, table, tail correction, restart, rRESPA info**\ : -For atom type pairs I,J and I != J, the Z\_i and Z\_j coefficients -can be mixed by taking Z\_i and Z\_j from the values specified for -I == I and J == J cases. When used +For atom type pairs *i,j* and :math:`i \neq i`, the :math:`Z_i` and +:math:`Z_j` coefficients +can be mixed by taking :math:`Z_i` and :math:`Z_j` from the values +specified for +:math:`i == i` and :math:`j == j` cases. When used with :doc:`hybrid/overlay ` and pairs are assigned to more than one sub-style, the mixing rule is not used and each pair of types interacting with the ZBL sub-style diff --git a/doc/src/set.rst b/doc/src/set.rst index 8214ce8ba9..c633587b25 100644 --- a/doc/src/set.rst +++ b/doc/src/set.rst @@ -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