File: emt.rst

package info (click to toggle)
python-ase 3.26.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,484 kB
  • sloc: python: 148,112; xml: 2,728; makefile: 110; javascript: 47
file content (359 lines) | stat: -rw-r--r-- 11,530 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
.. module::  ase.calculators.emt
   :synopsis: Effective Medium Theory

==========================
Pure Python EMT calculator
==========================

The EMT potential is included in the ASE package in order to have a
simple calculator that can be used for quick demonstrations and
tests.

.. warning::

   If you want to do a real application using EMT, you should use the
   *much* more efficient implementation in the ASAP_ calculator.

.. autoclass:: ase.calculators.emt.EMT
   :class-doc-from: class

.. _ASAP: http://wiki.fysik.dtu.dk/asap

Theory
------

In the following, the seven parameters :math:`E_{0i}`, :math:`s_{0i}`,
:math:`V_{0i}`, :math:`\eta_{2i}`, :math:`\kappa_{i}`, :math:`\lambda_{i}`,
and :math:`n_{0i}` are specific for the species of atom :math:`i`.

Energy
^^^^^^

In the effective-medium theory (EMT), the energy is given by

.. math::
   E = \sum_{i=1}^{N} (E_{\mathrm{c},i} + E_{\mathrm{AS},i})

The cohesive function :math:`E_{\mathrm{c},i}` describes the energy in the
reference system, where we assume the face-centered cubic (fcc) structure and
given by

.. math::
   E_{\mathrm{c},i}
   = E_{0i} f(\lambda_i (s_{i} - s_{0i}))
   = E_{0i} f(\lambda_i \dot{s}_{i})

.. math::
   f(x) = (1 + x) \exp(-x)

where :math:`E_{0i}` is the cohesive energy, :math:`s_{0i}` is the Wigner–Seitz
radius in the equilibrium fcc state, and :math:`\lambda_i` is related to the
curvature of the energy–volume curve and thus to the bulk modulus.
:math:`s_i` is the neutral-sphere radius, and

.. math::
   \dot{s}_i
   = s_{i} - s_{0i}
   = - \frac{1}{\beta \eta_{2i}} \log \frac{\sigma_{1i}}{12 \gamma_{1i}}

where :math:`\beta` is the constant related to the Wigner–Seitz radius and the
first nearest neighbor distance (cf. `Tips`_).
:math:`\sigma_{1i}`` is given by

.. math::
   \sigma_{1i}
   = \sum_{j} \chi_{ij} w(r_{ij})
   \exp(- \eta_{2j} (r_{ij} - \beta s_{0j}))
   = \sum_{j} \dot{\sigma}_{1ij}^\mathrm{s}

The summation is over the neighbors of atom :math:`i`.
:math:`r_{ij}` is the distance of atoms :math:`i` and :math:`j` and given
using their position vectors :math:`\mathbf{r}_i` and :math:`\mathbf{r}_j` by

.. math::
   r_{ij} = |\mathbf{r}_{ij}| = |\mathbf{r}_{j} - \mathbf{r}_i|

:math:`\chi_{ij}` is given by

.. math::
   \chi_{ij} = \frac{n_{0j}}{n_{0i}}

The contribution from atom :math:`j` is given by

.. math::
   \dot{\sigma}_{1ij}^\mathrm{s} = \chi_{ij} w(r_{ij})
   \exp(- \eta_{2j} (r_{ij} - \beta s_{0j}))

For later convenience in `Forces`_, the contribution from atom :math:`i` to
atom :math:`j` is also written as;

.. math::
   \dot{\sigma}_{1ij}^\mathrm{o} = \chi_{ji} w(r_{ij})
   \exp(- \eta_{2i} (r_{ij} - \beta s_{0i}))

:math:`w(r)` is the smooth cutoff function given by

.. math::
   w(r) = \frac{1}{1 + \exp(a (r - r_\mathrm{c}))}

:math:`\gamma_{1i}` is a correction factor when considering beyond the first
nearest neighbor sites and given by (cf. `Tips`_)

.. math::
   \gamma_{1i} = \frac{1}{12} (
      n^\mathrm{1NN} w(d_0^\mathrm{1NN}) \exp(\eta_{2i} (d_0^\mathrm{1NN} - \beta s_{0i})) +
      n^\mathrm{2NN} w(d_0^\mathrm{2NN}) \exp(\eta_{2i} (d_0^\mathrm{2NN} - \beta s_{0i})) +
      n^\mathrm{3NN} w(d_0^\mathrm{3NN}) \exp(\eta_{2i} (d_0^\mathrm{3NN} - \beta s_{0i})) +
      \cdots
   )

which is :math:`1` when considering only up to the first nearest neighbors of
the equilibrium fcc structure.

The atomic-sphere correction :math:`E_{\mathrm{AS},i}` describes the derivation
from the reference fcc system and given by

.. math::
   E_{\mathrm{AS},i} = E_{\mathrm{AS},i}^{1} + E_{\mathrm{AS},i}^{2}

:math:`E_{\mathrm{AS},i}^{1}` is the pair interactions of the real system,
and :math:`E_{\mathrm{AS},i}^{2}` is the negative of the pair interactions of
the reference unary perfect fcc structure.
Both terms are described using the following pair interaction function;

.. math::
   V_{ij} (r) = -V_{0i} \cdot \frac{1}{\gamma_{2i}} \chi_{ij} w(r)
   \exp(-\frac{\kappa_{j}}{\beta}(r - \beta s_{0j}))

:math:`\gamma_{2i}` is a correction factor when considering beyond the first
nearest neighbor sites and given by (cf. `Tips`_)

.. math::
   \gamma_{2i} = \frac{1}{12} (
      n_\mathrm{1NN} w(d_\mathrm{1NN}) \exp(-\frac{\kappa_{2i}}{\beta} (r_\mathrm{1NN} - \beta s_{0i})) +
      n_\mathrm{2NN} w(d_\mathrm{2NN}) \exp(-\frac{\kappa_{2i}}{\beta} (r_\mathrm{2NN} - \beta s_{0i})) +
      n_\mathrm{3NN} w(d_\mathrm{3NN}) \exp(-\frac{\kappa_{2i}}{\beta} (r_\mathrm{3NN} - \beta s_{0i})) +
      \cdots
   )

Here, if we consider only up to the first nearest neighbors,

.. math::
   \gamma_{2i} \rightarrow 1

For :math:`E_{\mathrm{AS},i}^{2}`, only the interactions up to the first
nearest neighbors are considered, i.e., :math:`j = i` and
:math:`r_{ij} = d^\mathrm{1NN} = \beta s_{i}`. Thus,

.. math::
   E_{\mathrm{AS},i}^{2} = \frac{1}{2} n^\mathrm{1NN} V_{ii}(d^\mathrm{1NN})
   = -\frac{12}{2} V_{ii} (\beta s_{i})
   = 6 V_{0i} \exp(-\kappa_{i} \dot{s}_i)

The first term :math:`E_{\mathrm{AS},i}^{1}` is the pair interactions of the
real system. Here we consider the interactions up to a certain cutoff radius,
and we average the contribution from atom :math:`i` to atom :math:`j` and that
from atom :math:`j` to atom :math:`i`. Thus,

.. math::
   E_{\mathrm{AS},i}^{1} = \frac{1}{2}
   \sum_{j} \frac{1}{2} \left(V_{ij}(r_{ij}) + V_{ji}(r_{ij})\right)
   = - \frac{V_{0i}}{2 \gamma_{2i}} \cdot \frac{1}{2} \sum_{j}
   (\dot{\sigma}_{2ij}^\mathrm{s} + \dot{\sigma}_{2ij}^\mathrm{o})

where

.. math::
   \dot{\sigma}_{2ij}^\mathrm{s}
   = \chi_{ij} w(r_{ij})
   \exp(-\frac{\kappa_j}{\beta} (r_{ij} - \beta s_{0j}))

.. math::
   \dot{\sigma}_{2ij}^\mathrm{o}
   = \chi_{ji} w(r_{ij})
   \exp(-\frac{\kappa_i}{\beta} (r_{ij} - \beta s_{0i}))

and further for unary perfect fcc systems,

Forces
^^^^^^

The forces on atom :math:`i` can be computed as

.. math::
   \mathbf{F}_{i}
   = -\nabla_i E
   = \sum_j \frac{\partial E}{\partial r_{ij}} \frac{\mathbf{r}_{ij}}{r_{ij}}
   = \sum_j \mathbf{f}_{ij}

where the force applied on atom :math:`i` by atom :math:`j` is given by

.. math::
   \mathbf{f}_{ij}
   = \frac{\partial E}{\partial r_{ij}} \frac{\mathbf{r}_{ij}}{r_{ij}}

The derivative of :math:`E` with respect to :math:`r_{ij}` is further written
as

.. math::
   \frac{\partial E}{\partial r_{ij}} = \left(
   \frac{\partial E_{\mathrm{c},i}}{\partial r_{ij}} +
   \frac{\partial E_{\mathrm{c},j}}{\partial r_{ij}} +
   \frac{\partial E_{\mathrm{AS},i}^2}{\partial r_{ij}} +
   \frac{\partial E_{\mathrm{AS},j}^2}{\partial r_{ij}} \right) + \left(
   \frac{\partial E_{\mathrm{AS},i}^1}{\partial r_{ij}} +
   \frac{\partial E_{\mathrm{AS},j}^1}{\partial r_{ij}} \right)

Be careful that we also need to consider the contribution of the energy term
associated to atom :math:`j`.

The first terms depend on :math:`r_{ij}` indirectly via `s_{i}` and `s_{j}`.

.. math::
   \frac{\partial E_{\mathrm{c},i}}{\partial r_{ij}} =
   \frac{\partial E_{\mathrm{c},i}}{\partial s_{i}}
   \frac{\partial s_i}{\partial \sigma_{1i}}
   \frac{\partial \sigma_{1i}}{\partial r_{ij}}

.. math::
   \frac{\partial E_{\mathrm{c},j}}{\partial r_{ij}} =
   \frac{\partial E_{\mathrm{c},j}}{\partial s_{j}}
   \frac{\partial s_j}{\partial \sigma_{1j}}
   \frac{\partial \sigma_{1j}}{\partial r_{ij}}

.. math::
   \frac{\partial E_{\mathrm{AS},i}^2}{\partial r_{ij}} =
   \frac{\partial E_{\mathrm{AS},i}^2}{\partial s_{i}}
   \frac{\partial s_i}{\partial \sigma_{1i}}
   \frac{\partial \sigma_{1i}}{\partial r_{ij}}

.. math::
   \frac{\partial E_{\mathrm{AS},j}^2}{\partial r_{ij}} =
   \frac{\partial E_{\mathrm{AS},j}^2}{\partial s_{j}}
   \frac{\partial s_j}{\partial \sigma_{1j}}
   \frac{\partial \sigma_{1j}}{\partial r_{ij}}

They can be computed using

.. math::
   \frac{\partial E_{\mathrm{c},i}}{\partial s_i}
   = - E_{0i} \lambda_i^2 \dot{s}_i \exp(-\lambda_i \dot{s}_i)

.. math::
   \frac{\partial E_\mathrm{AS}^2}{\partial s_i}
   = -6 V_{0i} \kappa_i \exp(-\kappa_i \dot{s}_i)

.. math::
   \frac{\mathrm{d}s_i}{\mathrm{d}\sigma_{1i}}
   = \frac{\mathrm{d}\dot{s}_i}{\mathrm{d}\sigma_{1i}}
   = -\frac{1}{\beta\eta_{2i}} \frac{1}{\sigma_{1i}}

.. math::
   \frac{\partial \sigma_{1i}}{\partial r_{ij}}
   = \chi_{ij}
   \left(
      \frac{\partial w}{\partial r_{ij}}
      \exp(-\eta_{2j} (r_{ij} - \beta s_{0j})) -
      w(r_{ij}) \eta_{2j}
      \exp(-\eta_{2j} (r_{ij} - \beta s_{0j}))
   \right)
   = \left(
      \frac{1}{w(r_{ij})} \frac{\partial w}{\partial r_{ij}} -
      \eta_{2j}
   \right) \dot{\sigma}_{1ij}^\mathrm{s}

.. math::
   \frac{\partial \sigma_{1j}}{\partial r_{ij}}
   = \chi_{ji}
   \left(
      \frac{\partial w}{\partial r_{ij}}
      \exp(-\eta_{2i} (r_{ij} - \beta s_{0i})) -
      w(r_{ij}) \eta_{2i}
      \exp(-\eta_{2i} (r_{ij} - \beta s_{0i}))
   \right)
   = \left(
      \frac{1}{w(r_{ij})} \frac{\partial w}{\partial r_{ij}} -
      \eta_{2i}
   \right) \dot{\sigma}_{1ij}^\mathrm{o}

The second part directly depends on :math:`r_{ij}` and given by

.. math::
   \frac{\partial E_{\mathrm{AS},i}^1}{\partial r_{ij}} +
   \frac{\partial E_{\mathrm{AS},j}^1}{\partial r_{ij}}
   = - \frac{1}{2} \left(
      \frac{V_{0i}}{2 \gamma_{2i}} \frac{\partial \dot{\sigma}_{2ij}^\mathrm{s}}{\partial r_{ij}} +
      \frac{V_{0j}}{2 \gamma_{2j}} \frac{\partial \dot{\sigma}_{2ij}^\mathrm{o}}{\partial r_{ij}}
   \right)

where

.. math::
   \frac{\partial \dot{\sigma}_{2ij}^\mathrm{s}}{\partial r_{ij}}
   = \chi_{ij}
   \left(
      \frac{\partial w}{\partial r_{ij}}
      \exp(-\frac{\kappa_j}{\beta} (r_{ij} - \beta s_{0j})) -
      w(r_{ij}) \frac{\kappa_j}{\beta}
      \exp(-\frac{\kappa_j}{\beta} (r_{ij} - \beta s_{0j}))
   \right)
   = \left(
      \frac{1}{w(r_{ij})} \frac{\partial w}{\partial r_{ij}} -
      \frac{\kappa_j}{\beta}
   \right)
   \dot{\sigma}_{2ij}^\mathrm{s}

.. math::
   \frac{\partial \dot{\sigma}_{2ij}^\mathrm{o}}{\partial r_{ij}}
   = \chi_{ji}
   \left(
      \frac{\partial w}{\partial r_{ij}}
      \exp(-\frac{\kappa_i}{\beta} (r_{ij} - \beta s_{0i})) -
      w(r_{ij}) \frac{\kappa_i}{\beta}
      \exp(-\frac{\kappa_i}{\beta} (r_{ij} - \beta s_{0i}))
   \right)
   = \left(
      \frac{1}{w(r_{ij})} \frac{\partial w}{\partial r_{ij}} -
      \frac{\kappa_i}{\beta}
   \right)
   \dot{\sigma}_{2ij}^\mathrm{o}

Note that

.. math::
   \frac{\mathrm{d}w}{\mathrm{d}r} = a w(r) (w(r) - 1)

Stress
^^^^^^

The static part of the virial stress can be given as

.. math::
   \tau^{\alpha \beta}
   = \frac{1}{\Omega} \frac{1}{2}
   \sum_{i=1}^{N} \sum_{j \neq i} r_{ij}^{\alpha} f_{ij}^{\beta}
   = \frac{1}{\Omega}
   \sum_{i=1}^{N} \sum_{j > i} r_{ij}^{\alpha} f_{ij}^{\beta}

where :math:`\alpha` and :math:`\beta` are indices for Cartesian components.
When considering all the neighbors for each atom, we should not forget the
factor :math:`1/2`.

Tips
^^^^

For the fcc structure, the numbers of neighbor sites and the
distances of first several shells are

.. math::

   :wowrap:

   n^\mathrm{1NN} &= 12,           & \quad d^\mathrm{1NN} &= \beta s_{i} \\
   n^\mathrm{2NN} &= \phantom{0}6, & \quad d^\mathrm{2NN} &= \sqrt{2}\,d^\mathrm{1NN} \\
   n^\mathrm{3NN} &= 24,           & \quad d^\mathrm{3NN} &= \sqrt{3}\,d^\mathrm{1NN} \\
   n^\mathrm{4NN} &= 12,           & \quad d^\mathrm{4NN} &= \sqrt{4}\,d^\mathrm{1NN} \\
   n^\mathrm{5NN} &= 24,           & \quad d^\mathrm{5NN} &= \sqrt{5}\,d^\mathrm{1NN}

where :math:`s_{i}` is the Wigner–Seitz radius of the species of atom
:math:`i` and :math:`\beta = 2^{-1/2} (16 \pi / 3)^{1/3} \approx 1.809`.