M04 Energy Minimization of Vacancy: Difference between revisions
| (3 intermediate revisions by the same user not shown) | |||
| Line 107: | Line 107: | ||
== Relaxation == |
== Relaxation == |
||
When an atom is removed from a crystal, we expect the neighboring atoms to |
When an atom is removed from a crystal, we expect the neighboring atoms to |
||
adjust its positions, ''e.g.'' to move toward the vacant site, to lower the |
adjust its positions, ''e.g.'' to move toward the vacant site, in order to lower the potential energy. The relaxed structure can be obtained by an energy minimization |
||
tial energy. The relaxed structure can be obtained by an energy minimization |
|||
algorithm, such as [[M04A Conjugate Gradient Method in MD++ | the conjugate gradient (CG) method]]. This can be done by |
algorithm, such as [[M04A Conjugate Gradient Method in MD++ | the conjugate gradient (CG) method]]. This can be done by |
||
the following lines. |
the following lines. |
||
| Line 122: | Line 121: | ||
Let’s copy the above script and paste it to the '''movacancy.script''' right before |
Let’s copy the above script and paste it to the '''movacancy.script''' right before |
||
the last command, '''sleep quit'''. You will |
the last command, '''sleep quit'''. You will see that the potential energy of the |
||
simulated system keeps decreasing while the relaxation goes on. |
simulated system keeps decreasing while the relaxation goes on. |
||
The potential energy printed by the second '''eval''' should be lower than that |
The potential energy printed by the second '''eval''' should be lower than that |
||
| Line 129: | Line 128: | ||
There are several variables controlling the CG relaxation. '''conj_ftol''' is the |
There are several variables controlling the CG relaxation. '''conj_ftol''' is the |
||
tolerance of the residual gradient and '''conj_fevalmax''' is the maximum number |
tolerance of the residual gradient and '''conj_fevalmax''' is the maximum number |
||
of calls to the potential function ( |
of calls to the potential function (effectively limiting the number of iterations). |
||
If '''conj_fixbox = 1''', the shape and volume of simulation cell box is fixed and |
If '''conj_fixbox = 1''', the shape and volume of simulation cell box is fixed and |
||
only the scaled coordinates of the atoms can change during the relaxation. |
only the scaled coordinates of the atoms can change during the relaxation. |
||
If '''conj fixbox = 0''', then all 9 components of the <math>\mathbf{H}</math> are allowed to |
If '''conj fixbox = 0''', then all 9 components of the <math>\mathbf{H}</math> are allowed to change. |
||
Sometimes, we want to fix some components of the <math>\mathbf{H}</math> matrix while allowing |
Sometimes, we want to fix some components of the <math>\mathbf{H}</math> matrix while allowing |
||
other components to |
other components to vary. This can be done by specifying the '''conj_fixboxvec''' |
||
matrix. For example, if |
matrix. For example, if |
||
| Line 166: | Line 165: | ||
Let <math>E_1</math> be the energy of the perfect crystal with <math>N</math> atoms, and <math>E_2</math> be the |
Let <math>E_1</math> be the energy of the perfect crystal with <math>N</math> atoms, and <math>E_2</math> be the |
||
relaxed potential energy of the (N − 1)-atom system (containing the vacancy). |
relaxed potential energy of the (N − 1)-atom system (containing the vacancy). |
||
The vacancy formation energy is not simply the |
The vacancy formation energy is not simply the difference between the two, ''i.e.'' |
||
{|border="0" align="center" |
{|border="0" align="center" |
||
|<math> E_v \neq E_2 - E_1 </math> |
|<math> E_v \neq E_2 - E_1 </math>, |
||
|} |
|} |
||
| Line 177: | Line 176: | ||
vacancy forms in a real crystal, the missing atom moves to the external surface of the |
vacancy forms in a real crystal, the missing atom moves to the external surface of the |
||
crystal (or to grain boundaries). (See Fig.2(a).) Because we have a very small crystal |
crystal (or to grain boundaries). (See Fig.2(a).) Because we have a very small crystal |
||
in our simulation, |
in our simulation, subjected to the periodic boundary condition, there |
||
is no external surface. Therefore, we need to account for this |
is no external surface. Therefore, we need to account for this effect in a different |
||
way. In the perfect crystal, all atoms contributes equally to the total energy. |
way. In the perfect crystal, all atoms contributes equally to the total energy. |
||
Hence, we expect the energy contribution of (N − 1) atoms in the perfect |
|||
crystal structure to be <math>(N-1)/N \times E_1 </math>(even though we cannot |
crystal structure to be <math>(N-1)/N \times E_1 </math>(even though we cannot construct a perfect crystal with (N − 1) atoms in a periodic simulation cell). The vacancy formation energy |
||
(N − 1) atoms in to a periodic simulation cell). The vacancy formation energy |
|||
<math>E_v</math> can be computed from |
<math>E_v</math> can be computed from |
||
| Line 193: | Line 191: | ||
{|border="0" align="center" |
{|border="0" align="center" |
||
|<math> E_v \equiv E_2 - (N-1) E_{coh} </math> |
|<math> E_v \equiv E_2 - (N-1) E_{coh} </math> |
||
|} |
|||
or |
|||
{|border="0" align="center" |
|||
|<math> E_v \equiv (E_2 + E_{coh}) - E_{1} </math>. |
|||
|} |
|} |
||
| Line 199: | Line 203: | ||
''Q.2'' Can you tell the |
''Q.2'' Can you tell the different physical meanings between two expressions |
||
<math>E_2 - \frac{N-1}{N}E_1</math> and <math>E_2 - E_1</math>? You can use Fig. 2 for your explanation. |
<math>E_2 - \frac{N-1}{N}E_1</math> and <math>E_2 - E_1</math>? You can use Fig. 2 for your explanation. |
||
| Line 205: | Line 209: | ||
<math>E_v</math> depend on the number of atoms in the simulation cell? |
<math>E_v</math> depend on the number of atoms in the simulation cell? |
||
[[Image:Movacancy.jpg | frame | center | Fig.1: Vacancy-formed BCC molybdenum crystal. <math>\mathbf{c}_1 = 4[100], \mathbf{c}_2 = 4[010]</math>, and <math>\mathbf{c} |
[[Image:Movacancy.jpg | frame | center | Fig.1: Vacancy-formed BCC molybdenum crystal. <math>\mathbf{c}_1 = 4[100], \mathbf{c}_2 = 4[010]</math>, and <math>\mathbf{c}_3 = 4[001]</math> are the periodicity vectors. The red dotted circle designates |
||
the missing atom and the atoms around the vacant site are shown in |
the missing atom and the atoms around the vacant site are shown in different |
||
color due to their relatively high energy than the others. ]] |
color due to their relatively high energy than the others. ]] |
||
[[Image:VacancyVSremoving.jpg | frame | center | Fig.2: (a) In a real crystal, the atom that leaves the interior, thus creating |
[[Image:VacancyVSremoving.jpg | frame | center | Fig.2: (a) In a real crystal, the atom that leaves the interior, thus creating |
||
a vacancy, moves to the surface of the crystal. (b) If we simply take the energy |
a vacancy, moves to the surface of the crystal. (b) If we simply take the energy |
||
difference between <math>E_2</math> (N − 1 atoms) and <math>E_1</math> (N atoms), we are considering |
|||
the process in which the atom leaves the crystal and moves so far away that it |
the process in which the atom leaves the crystal and moves so far away that it |
||
does not interact with any other atoms in the crystal. This will lead to a much |
does not interact with any other atoms in the crystal. This will lead to a much |
||
| Line 226: | Line 232: | ||
where <math>G_0</math> is the free energy of the perfect crystal (<math>n = 0</math>). |
where <math>G_0</math> is the free energy of the perfect crystal (<math>n = 0</math>). |
||
Here we have ignored the interaction between the vacancies. This approximation is valid if <math>n \ll N</math>. |
Here we have ignored the interaction between the vacancies. This approximation is valid if <math>n \ll N</math>. |
||
<math>S_c</math> is the configurational entropy due to the fact that there are <math>\Omega</math> |
<math>S_c</math> is the configurational entropy due to the fact that there are <math>\Omega</math> different ways |
||
to arrange the n vacancies on N sites. |
to arrange the n vacancies on N sites. |
||
Latest revision as of 15:14, 13 September 2011
Manual 04 for MD++
Vacancy Formation Energy by Energy Minimization
Keonwook Kang and Wei Cai
Creating a Vacancy in a Perfect Crystal
A vacancy is a common point defect in solids. It is an empty site (i.e. a missing atom) in an otherwise prefect crystal structure. Here we discuss how to introduce a vacancy in a perfect crystal using MD++ and how to compute the vacancy formation energy. For more information, see supplementary document: Vacancy formation energy by MD++ . Consider the following MD++ input file, movacancy.script, that creates a vacancy in a perfect BCC Molybdenum crystal.
# -*-shell-script-*-
setnolog
setoverwrite
dirname = runs/movacancy # specify run directory
#--------------------------------------------
# Read in potential file
potfile = ~/Codes/MD++/potentials/mo_pot readpot
#--------------------------------------------
#Create Perfect Lattice Configuration
crystalstructure = body-centered-cubic latticeconst = 3.1472 #(A)
latticesize = [ 1 0 0 5
0 1 0 5
0 0 1 5]
makecrystal finalcnfile = perf.cn writecn
eval # evaluate the potential of perfect crystal
#--------------------------------------------
# Create Vacancy
input = [ 1 # number of atoms to be fixed
0] # index of an atom to be fixed
fixatoms_by_ID # fix a set of atoms by their indices
removefixedatoms # remove fixed atoms
finalcnfile = movac.cn writecn
eval # evaluate the vacancy-formed crystal
#---------------------------------------------
# Plot Configuration
atomradius = 1.0 bondradius = 0.3 bondlength = 0
atomcolor = blue highlightcolor = purple backgroundcolor = gray
bondcolor = red fixatomcolor = yellow
plotfreq = 10 win_width = 600 win_height = 600
plot_atom_info = 3
color00 = "orange" color01 = "purple" color02 = "green"
color03 = "magenta" color04 = "cyan" color05 = "purple"
color06 = "gray80" color07 = "white"
plot_color_windows = [ 2 # number of color windows
-10 -6.8 6 # color06 = gray80
-6.7 -6.0 0 # color00 = orange
]
rotateangles = [ 0 0 0 1 ]
openwin alloccolors rotate saverot plot
sleep quit
We can run this script file by typing
$ bin/fs gpp scripts/movacancy.script
First, MD++ creates a 5×5×5 perfect cubic crystal of BCC Mo with edges along <100> directions. Then it fixes atom 0 by
input = [ 1 # number of atoms to be fixed
0 ] # index of an atom to be fixed
fixatoms_by_ID
and then removs this atom by the command removefixedatoms. The first number in the input array specifies the number of atoms to be removed. For example, if you would like to remove two atoms, say 3 and 8, you can do so by
input = [ 2 # number of atoms to be fixed
3 8 ] # index of atoms to be fixed
fixatoms_by_ID # fix a set of atoms by their index
removefixedatoms # remove fixed atoms
Sometimes, you may want to remove a specific atom you see in the graphic window. You can obtain the index of this atom by clicking the atom with your mouse. Depending on the setting of plot_atom_info, other information is also displayed when you click on the atom. If plot_atom_info = 1, the atom index number and its scaled coordinates are printed when the atom is clicked. If plot_atom_info = 2, the atom index and its real coordinate (in Å) will be printed. If plot_atom_info = 3, the atom index and its local energy (in eV) will be printed.
The script file also sets up two color windows (plot_color_windows) to display the atoms. Atoms with local energy between -10 eV and -6.8 eV are shown in gray and the atoms whose energies lie between -6.7 eV and -6.0 eV are shown in orange. This will highlight the atoms near the vacancy because they usually have a higher local energy. Click the atoms and you will see the actual local energy of these atoms. If you compare the potential energy of the perfect structure and the vacancy-formed structure, you will know which structure has higher energy.
Q.1 If a single atom, whose index is other than 0, is removed from the same perfect structure, do we expect the system to have a different potential energy?
Relaxation
When an atom is removed from a crystal, we expect the neighboring atoms to adjust its positions, e.g. to move toward the vacant site, in order to lower the potential energy. The relaxed structure can be obtained by an energy minimization algorithm, such as the conjugate gradient (CG) method. This can be done by the following lines.
#--------------------------------------------- # Conjugate-Gradient relaxation conj_ftol = 1e-7 # tolerance on the residual gradient conj_fevalmax = 1000 # max. number of iterations conj_fixbox = 1 # fix the simulation box relax # CG relaxation command finalcnfile = relaxed.cn writecn eval # evaluate relaxed structure
Let’s copy the above script and paste it to the movacancy.script right before the last command, sleep quit. You will see that the potential energy of the simulated system keeps decreasing while the relaxation goes on. The potential energy printed by the second eval should be lower than that printed by the first eval.
There are several variables controlling the CG relaxation. conj_ftol is the tolerance of the residual gradient and conj_fevalmax is the maximum number of calls to the potential function (effectively limiting the number of iterations). If conj_fixbox = 1, the shape and volume of simulation cell box is fixed and only the scaled coordinates of the atoms can change during the relaxation. If conj fixbox = 0, then all 9 components of the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{H}} are allowed to change. Sometimes, we want to fix some components of the Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \mathbf{H}} matrix while allowing other components to vary. This can be done by specifying the conj_fixboxvec matrix. For example, if
conj_fixbox = 0
conj_fixboxvec = [ 0 1 1
1 0 1
1 1 0 ]
then only the diagonal components of the box matrix are allowed to relax. (The corresponding entries in conj_fixboxvec are zero).
Vacancy Formation Energy
The vacancy formation energy is the energy increase that is needed to create a vacancy in a perfect crystal. It can be used to predict the vacancy concentration at thermal equilibrium through
| . |
This is an approximation because we have ignored the vibration entropy contribution of the vacancy. The exact expression is
| . |
where is the vacancy formation free energy. These expressions are similar to Boltzmann’s distribution and will be derived in the Appendix.
Let be the energy of the perfect crystal with atoms, and be the relaxed potential energy of the (N − 1)-atom system (containing the vacancy). The vacancy formation energy is not simply the difference between the two, i.e.
| , |
because the two systems does not have the same number of atoms. we need to make sure we compare two systems of the same number of atoms. Besides, in a real crystal, no atom is destroyed when a vacancy forms. Instead, when a vacancy forms in a real crystal, the missing atom moves to the external surface of the crystal (or to grain boundaries). (See Fig.2(a).) Because we have a very small crystal in our simulation, subjected to the periodic boundary condition, there is no external surface. Therefore, we need to account for this effect in a different way. In the perfect crystal, all atoms contributes equally to the total energy. Hence, we expect the energy contribution of (N − 1) atoms in the perfect crystal structure to be (even though we cannot construct a perfect crystal with (N − 1) atoms in a periodic simulation cell). The vacancy formation energy can be computed from
| . |
The cohesive energy of the perfect crystal, , is the potential energy per atom. Hence the vacancy formation energy can also be expressed as,
or
| . |
The result for BCC Mo using the FS potential is 2.550 eV[1] which leads to [n] ≈ 1.43 × 10−13 at T = 1000K (kB = 8.621 × 10−5 eV/K).
Q.2 Can you tell the different physical meanings between two expressions
and ? You can use Fig. 2 for your explanation.
Q.3 Recompute with larger and smaller simulation boxes. How does depend on the number of atoms in the simulation cell?
Equilibrium Vacancy Concentration
Here we derive the equilibrium vacancy concentration, Eq. (2), given the formation energy of a single vacancy. Consider a crystal with N sites, n of which are occupied by vacancies. We can write the Gibbs free energy of the solid as
| Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G = G_0 + n E_v - T S_c } . |
where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G_0} is the free energy of the perfect crystal (Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n = 0} ). Here we have ignored the interaction between the vacancies. This approximation is valid if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle n \ll N} . Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle S_c} is the configurational entropy due to the fact that there are Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \Omega} different ways to arrange the n vacancies on N sites.
| Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{align} S_c &= k_B \ln \Omega = k_B \ln \frac{N!}{(N-n)!n!} \\ &= k_B [N\ln N - (N-n)\ln (N-n) - n\ln n ] \end{align} } . |
In the last step we have used Stirling’s approximation. At equilibrium, the Gibbs free energy Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle G} reaches minimum, which means Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \partial \Delta G / \partial n = 0} .
| Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \begin{align} \frac{\partial \Delta G}{\partial n} &= E_v - T\frac{\partial S_c}{\partial n} \\ &= E_v - T k_B \ln \frac{N-n}{n} \\ &\simeq E_v - T k_B \ln \frac{N}{n} = 0 \end{align} } . |
| Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \therefore [n] \equiv \frac{n}{N} = \exp (-\frac{E_v}{k_B T})} |
Notes
- ↑ This is consistent with the more accurate tight-binding (TB) model which predicts Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle E_v=} 2.46 eV from the reference, M. J. Mehl and D. A. Papaconstantopoulos, “Applications of a tight-binding total-energy method for transition and noble metals: Elastic constants, vacancies, and surfaces of monatomic metals”, Physical Review B 54 4519-4530 1996
