convert pair styles srp to tersoff

This commit is contained in:
Axel Kohlmeyer 2020-02-16 13:37:39 -05:00
parent 3f5bb96aed
commit 4a2f05d333
No known key found for this signature in database
GPG Key ID: D9B44E93BF0C375A
22 changed files with 207 additions and 247 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 KiB

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -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}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 384 KiB

View File

@ -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}

View File

@ -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 <read_data>`
or :doc:`read_restart <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 <thermo_modify>` 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 <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 <pair_modify>` table option is not relevant for
this pair style.

View File

@ -39,12 +39,23 @@ Description
The *sw* style computes a 3-body :ref:`Stillinger-Weber <Stillinger2>`
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`)
----------

View File

@ -50,12 +50,28 @@ Description
The *tersoff* style computes a 3-body Tersoff potential
:ref:`(Tersoff\_1) <Tersoff_11>` 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. <Albe>` 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) <Tersoff_21>`. The *tersoff/table* style implements
potential :ref:`(Tersoff\_2) <Tersoff_21>`.
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

View File

@ -49,21 +49,40 @@ potential :ref:`(Tersoff\_1) <Tersoff_12>`, :ref:`(Tersoff\_2) <Tersoff_22>` 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) <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) <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

View File

@ -38,26 +38,53 @@ based on a Coulomb potential and the Ziegler-Biersack-Littmark
universal screening function :ref:`(ZBL) <zbl-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) <zbl-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