Micro and Nano Mechanics Group
(Difference between revisions)
(Equilibrium Lattice Constant and Cohesive Energy)
(table caption and cetering)

Revision as of 16:30, 26 November 2007

Manual 03 for MD++
Computing Equilibrium Lattice Constant

Keonwook Kang and Wei Cai

Nov 26 , 2007



Contents

Reading a Log File

In the example scripts of Manual 02, the command setnolog was activated and the simulation results were printed out to the standard output, which is usually your terminal screen. If you want to keep the record of this information, you comment out the setnolog command by adding # before it. This will create a log file A.log in the directory specified by dirname. For example, if you run mo.script in Manual 02 with setnolog commented out, then you will find a A.log file in the runs/mo-example directory. To read this file, type

$ more runs/mo-example/A.log

In the log file, the line starting with ASSIGN shows that a variable is assigned to the values as specified in the script file. The line with EXEC shows the execution of certain command. After the eval command is executed, properties such as number of atoms (NP), potential energy (EPOT), kinetic energy (KATOM), pressure (PRESSURE) and stress (Stress) are also printed. Sometimes, the log file may be zipped as A.log.gz, in which case you can use

$ gzip -cd runs/mo-example/A.log.gz | more

to see the content. To search for a specific property (e.g. EPOT) in the log file, you may use

$ grep EPOT runs/mo-example/A.log

or

$ gzip -cd runs/mo-example/A.log.gz | grep EPOT

depending on whether the log file is zipped or not. In case you want to “grep” several lines before and after your keyword (e.g. Stress), you can use

$ grep -3 Stress runs/mo-example/A.log

This will show three lines above and below any line containing the keyword “Stress”.


Equilibrium Lattice Constant and Cohesive Energy

Under ambient condition silicon takes the diamond-cubic (DC) structure. But in a computer simulation, we can create Si crystals with different hypothet- ical structures, such as face-centered-cubic (FCC), body-centered-cubic (BCC), or simple-cubic (SC). A good potential model should be able to tell us that the DC structure is the one with the lowest energy, hence it is the most favorable structure for silicon. In this section, we will perform such calculations using MD++.

Let us define the lattice energy Φ and the number density ρ as

 \Phi = \frac{E_{pot}}{N} .
 \rho = \frac{N}{V} .

where Epot is the potential energy of the crystal, N is total number of atoms in the simulation cell (corresponding to variable NP in MD++) and V is the volume of the simulation cell. Run MD++ with following command line to use the Stillinger-Weber (SW) potential model<ref name="SW">F. H. Stillinger and T. A. Weber, Phys. Rev. B 31, 5262 (1985).</ref><ref name="BH">H. Balamane, T. Halicioglu, and W. A. Tiler, Phys. Rev. B 46, 2250 (1992)</ref>.

$ bin/sw gpp scripts/ME346/si_polytype.script

Here is the content of the si_polytype.script.

# -*-shell-script-*-
#setnolog
setoverwrite
dirname = runs/si_polytype
#------------------------------------------------------------
#Create Perfect Lattice Configuration
#
crystalstructure = diamond-cubic
latticeconst = 5.4309529817532409 #(A) for Si
latticesize = [ 1 0 0 3
                0 1 0 3
                0 0 1 3]
makecrystal eval
latticeconst = 4.850 makecrystal eval
latticeconst = 4.950 makecrystal eval
latticeconst = 5.050 makecrystal eval
                :
(many lines omitted here for brevity)
                :
latticeconst = 5.900 makecrystal eval
latticeconst = 6.000 makecrystal eval
latticeconst = 6.100 makecrystal eval
crystalstructure = face-centered-cubic
latticeconst = 4.105 makecrystal eval
latticeconst = 4.110 makecrystal eval
                :
                :
latticeconst = 4.205 makecrystal eval
latticeconst = 4.215 makecrystal eval
crystalstructure = body-centered-cubic
latticeconst = 3.210 makecrystal eval
latticeconst = 3.220 makecrystal eval
                :
                :
latticeconst = 3.320 makecrystal eval
latticeconst = 3.340 makecrystal eval
crystalstructure = simple-cubic
latticeconst = 2.550 makecrystal eval
latticeconst = 2.600 makecrystal eval
                :
                :
latticeconst = 2.640 makecrystal eval
latticeconst = 2.650 makecrystal eval
quit

From the log file, you can find number of atoms NP for the 3 X 3 X 3 DC cell to be 216. This number can also be obtained by calculating 8 \times 3^3 = 216, since there are eight atoms in the DC unit cell. For other crystal structures, the number of atoms in the 3X3X3 cell is given in the following table.

Table 1. Number of atoms in different crystal structures
Crystal Structure No. of atoms in the unit cell Total No. of atoms
SC 1 27
BCC 2 54
FCC 4 108
DC 8 216

The potential energy at each different lattice constant can also be read from the log file by typing

$ grep EPOT runs/si_polytype/A.log

The volume of a simulation cell V can be obtained from the determinant of the matrix \mathbf{H}.<ref>The matrix \mathbf{H} defines size and shape of the simulation cell. \mathbf{H} = [\mathbf{c}_1 \; \mathbf{c}_2 \; \mathbf{c}_3] where \mathbf{c}_i's are three periodicity vectors. In MD++, the matrix \mathbf{H} becomes a diagonal matrix when the supercell is a rectangular box (after reorienting the coordinate system). </ref> When \mathbf{H} is a diagonal matrix (the same is true for an upper triangular matrix),

 V = \det(\mathbf{H}) = \mathbf{H}(1,1) \mathbf{H}(2,2) \mathbf{H}(3,3) .

the volume is the product of the entries in the main diagonal of \mathbf{H}. The unit of length in MD++ is Å and the unit of volume is Å3 . From these, we can calculate the lattice energy Φ (in eV) of silicon as a function of the number density ρ (in 1/Å3), for different crystal structures, as shown in Fig.1. The structure with the lowest energy is DC. The equilibrium lattice constant a0 corresponds to the number density that gives the minimum of the Φ(ρ) curve. The minimum of Φ is also called the cohesive energy Ecoh . For DC silicon, a0 = 5.431 Å and Ecoh = −4.63 eV.


Bulk Modulus

The curvature of the Φ(ρ) curve near the minimum also tells us the bulk modulus of the crystal. The bulk modulus B is defined as<ref>This is because B = VP / V and P = Φ / V.</ref>

 B = V \frac{\partial^2 \Phi}{\partial V^2}_{V=V_0} .

where V0 is the equilibrium atomic volume (corresponding to the energy minimum). To compute the second derivative, plot Φ as a function of V = 1 / ρ and fit the Φ(V) curve in the neighborhood of the minimum by a quadratic function, i.e. Φ = c0 + c1V + c2V2, as shown in Fig.1(b). This can be done by the Matlab command polyfit and the result is c2 = 0.0169 (in unit of eV/Å6 ). Then, with V0 = 20.025 (Å6), the bulk modulus becomes

 B =  2\times 20.025 \mathrm{(\AA^3)}\times 0.0169 \mathrm{(eV/\AA^6)}\times 160.2 \mathrm{(GPa/(eV/\AA^3))}= 108.5 \mathrm{(GPa)}.

This result matches with an earlier report in the literature<ref name="BH"/>. In the elasticity theory<ref>J. P. Hirth and J. Lothe, Theory of Dislocations, (Wiley, New York, 1982)</ref>, the bulk modulus B is related to the other elastic constants through

B = \lambda + \frac{2}{3}\mu for isotropic material
B = \frac{1}{3}(C_{11} + 2C_{12}) for cubic material

where λ and μ are Lamé's constants and C11 and C12 are cubic elastic constants. From this relation, the bulk modulus would be 98.4 GPa if we calculate it from the experimental value of C11 = 165.7(GPa) and C12 = 63.9(GPa) for silicon. The discrepancy between the simulation and experimental results in the bulk modulus is partly because the simulation results corresponds to the ideal case of T = 0 K, while the experimental result is obtained at room temperature T = 300 K. The elastic constants generally decreases with increasing temperature. The discrepancy may also come from the fact that the potential model has empirical nature. Different parameterization of the potential model generally leads to different predictions of the elastic constants.


Notes

<references/>