The aluminium crystal has the face centred cubic (FCC) crystal structure. It is a cubic lattice with points at the corners of the cube and at the centres of the six faces of the cube. A possible choice of the primitive lattice vectors in this case would be
,
and
, i.e. three vectors pointing to the centres of three of the six faces of the cube.
We now need a computer code to calculate the energy of the crystal as function of volume.
The DFT code that we will use is vasp 9.1. vasp
requires four input files, named POSCAR, INCAR, KPOINTS and POTCAR.
The file POSCAR is used to define the geometry of the system, and has the following form:
a comment
-16.0 # If positive lattice parameter (Å), if negative volume of the simulation cell
(Å)
0.5 0.0 0.5 # First lattice vector
0.5 0.5 0.0 # Second lattice vector
0.0 0.5 0.5 # Third lattice vector
1 # Number of atoms in the cell
Direct # Atomic coordinates expressed in units of lattice vectors
0.0 0.0 0.0 # Atomic coordinates
The file INCAR contains several input parameters that control the accuracy of the calculations. vasp has defaults for
all these parameters (for example the plane wave cutoff ENCUT, which determines the number of basis functions used in the calculations), and these default values are good enough for present purposes, so we are not going to
modify any of them here beyond the couple of parameters that are already provided in the
INCAR file distributed with these notes. The file KPOINTS is used to specify the grid of -points. A grid with a large number of points (high density) will give very accurate results, but it will also make the calculations more expensive.
We need to find a good compromise between accuracy and cost, and increase the number of k-points until we are
happy with the accuracy that we are obtaining. The KPOINTS file contains the following:
auto # Do not change
0 # Do not change
G # Centres the grid at , makes it easier to make equivalent grids for different supercells
4 4 4 # Makes a 4x4x4 grid of points.
0 0 0 # Do not change
The file POTCAR contains the (pseudo)potential, and in this particular case the potential generated by the aluminium (pseudo)atom. Using a pseudo-potential instead of the full potential is computationally advantageous, as the inner electrons of the atoms (the core electrons) are kept frozen, because they are tightly bound to their nuclei and do not participate to chemical bonding. For this reason, it is usually a good approximation not to explicitly consider them in the calculations.
We are now ready to start exploring the energy landscape by doing a few calculations with
different values of volumes: set a volume in the POSCAR file and then type:
vasp
The code will run and the energy will be available once it finishes. As we mentioned above, to obtain the equilibrium volume you can compute the energy as function of volume and look for the volume at which the energy is at its minimum. This process is facilitated by fitting the data to an appropriate function . This function could be a polynomial, or even a simple parabola if the calculated data only span volumes close to the minimum. A convenient function is a Birch-Murnaghan equation of state 9.2:
| (9.1) |
gnuplot
gnuplot lo 'birch.g'
gnuplot fit birch(x) 'filename' via emin,v0,k0
where filename is the file containing the data and emin , v0
and k0
. For simplicity we do not include variations of
in the fitting procedure, keeping
.
Now repeat the study with a different number of k-points and see how your equilibrium volume changes.