FAQ

  • Q: What does convergence mean?

    • A: Any property may be converged, including total energy, some energy difference, lattice parameter, etc. The important thing to note is that convergence is always defined with respect to your "most accurate" calculation. Convergence is not necessarily reached when the difference in desired property between the n-1st calculation and the nth calculation falls below some threshold! If you look at things that way, you run the risk of prematurely declaring a calculation converged. See the below example.

In this figure, if you were to only consider the current calculation and the one before it, you would call an energy cutoff of 300eV converged, as the difference in what we're calculating between cutoff=350eV and cutoff=300eV just happens to be zero. Clearly, though, we are not yet converged at cutoff=300eV. Instead, if we compare everything to cutoff=600eV (which we take as our most accurate answer), we see that cutoff=500eV is the correct convergence threshold.

  • Q: Where can I learn more about quantum mechanics?

  • Q: How precisely do I need to get the lattice parameter?

    • A: Lattice parameters are typically listed to within 0.01 Angstroms. There are applications when higher precision is required; this is not one of them.

  • Q: The energies when you move an atom (the force calculations) are higher than when you don't?

    • A: This is correct. Remember equilibrium has the lowest energy. Equilibrium for this structure has C at 0 0 0 and at .25 .25 .25. As a side note the forces will give you an idea of how far you are from equilibrium (they tell you which direction the atoms "want" to move). The stresses tell you which direction the cell parameters "want" to change to reach equilibrium.

  • Q: Why is my E vs. lattice constant plot jagged?

    • A: There are a number of solutions to this; the easiest is to raise the energy cutoff.

  • Q: Why do the weights of the k-points add up to 2, not 1?

    • A: This is a “feature” of the code. Don’t worry about it.

  • Q: I don’t understand convergence of energy and forces. It seems that, as a percentage of the absolute value, energies converge much faster.

    • A: Sometimes you are interested in an absolute value, rather than a percentage value. For instance, let’s say you can measure length to within 1mm. If you measure the length of an ant, in terms of percentage error, you may be off by 50% or more. If you measure the length of an elephant, in terms of absolute error, you may be off by 0.01%. But usually you don’t care as long as you are to within 1mm. Errors on forces are the same. Don’t worry about the percentage errors so much. You could always arbitrarily decrease the percentage errors on the forces by taking a bigger displacement. From experience, we know that a good error on energy differences is ~5 meV/atom. From experience, we also know that a good error on forces is 10 meV/Angstrom. These are just values that we know, because we have done many first-principles calculations in the past. This is what you should look for.

  • Q: Does PWSCF use LDA or GGA? DFT or Hartree Fock?

    • A: PWSCF uses DFT. It has both LDA and GGA, but in this lab we only use LDA.

  • Q: My energies are really different from lab 1. What is the ‘correct’ scale I should be looking for?

    • A: Remember that absolute energies do not usually mean very much. We are mostly interested in energy differences. Also, the reference energies are different. In lab 1, the reference energies (when atoms are infinitely far apart) is 0. In lab 2, this is not the case. The absolute energies can shift a lot, depending on which reference energies you take.

  • Q: Why do I take symmetric k-point grids? Can I take asymmetric k-point grids?

    • A: For this material, we take a symmetric k-point grid because it is the same in all three lattice directions. This is not always true. The ‘best’ k-point meshes arethose that sample k-space evenly in all directions. Thus, for a tetragonal cell (with a=b, c=2a, and all angles 90 degrees) we might take a 8x8x4 mesh. Think about why this is (Note that if a lattice vector is longer in real space, it is shorter in k-space).

  • Q: What is a good source of pseudopotentials to use?

    • A: Use the “efficient” set of PBE pseudopotentials from here http://materialscloud.org/sssp/. Another source of pseudopotentials is http://www.quantum-espresso.org/pseudopotentials/. But remember to use the same XC functional for all elements (LDA or GGA). It is OK to mix different parameterizations (PW91, PBE for GGA) but not recommended. It is OK to mix norm-conserving/ultrasoft/PAW potentials (remember that the hardest element determines the cutoff energies).

  • Q: Why is the lattice parameter unchanged in a 'relax' calculation?

    • A: Setting the calculation as 'relax' in quantum espresso keeps the lattice parameters fixed, but varies the atomic positions within the cell.

  • Q: How do I get atomic coordinates for primitive unit cells?

    • A: You first need to get a structure, the ICSD (available through Northwestern Libraries) is a good start. From there, you can download the desired structure as a cif. Then, you can use a program called mint to convert the structure to a primitive cell, using a command similar to the following:

/projects/e20438/bin/mint/mint POSCAR -print vasp5 -primitive -reduced -name ZrO2.vasp

Producing a VASP structure file with coordinates that can be coped into a QE input file.
For more information on mint, issue /projects/e20438/bin/mint/mint -help
If you get an error concerning intel libraries when using mint, issue module load intel

Homework 1

Problem 2
To make a supercell for GULP, we've written an executable file called make_gulp_supercell in /projects/e20438/gulpc, which will help you generate supercells for GULP. It requires that supercell-maker.in is in the same folder. To run it, simply use
./make_gulp_supercell
and it will prompt you for a supercell size, then create a supercell GULP input file for you.
Note: You will need to change the lattice parameters in supercell-maker.in to the correct values you found in Problem 1, and you still need to create the vacancy (as this script creates a perfect supercell).

Problem 3
The example slabs in the /projects/e20438/lab1/gulpsurface directory are correct for the (100) (or (001)) direction. These just use a different choice of unit cell with less atoms. The conventional unit cell has lattice vectors: (A0, 0, 0), (0, A0, 0), (0, 0, A0) and contains 4 atoms. "A0" here is the magnitude of the lattice vector you find in question 1A. The slab unit cell has lattice vectors along (A0/2, A0/2, 0), (A0/2, -A0/2, 0), (0, 0 A0), which when rotated can be expressed as (As, 0, 0), (0, As, 0), (0, 0, A0) where As = A0*2^(-1/2) and contains just two atoms. This is a body centered tetragonal (BCT) cell with a=b!=c, but still represents FCC Au.

An image of the BCT unit cell when viewed from above (001 is out of the page) is shown below for clarity, with the BCT unit cell surrounded by a darker square.

The computational cost of the BCT cell is lower, so we recommend making your own slabs starting from that with lattice parameters that you found in problem 1A, although you can use the conventional cell if you'd like. You can do this manually, or write a script to automate the process for you :)

You will need to first converge the amount of vacuum in your unit cell, then converge the number of layers in your slab. We are providing the general structure for input files for both types of unit cells for the first few slab layers, where we chose to work along the z-direction making (001) surfaces. It is still up to you to ensure convergence of vacuum distance and slab thickness. You will also need to edit the cell parameter corresponding to the vacuum+slab distance, and rescale the coordinates of each atom along the direction of the surface. We have provided the examples in Cartesian coordinates for clarity.

Remember, As = A0*2^(-1/2)

— 2 layers in BCT cell —

As As VACUUM+SLAB 90 90 90

Cartesian

Au 0 0 0

Au As/2 As/2 A0/2


— 3 layers in BCT cell —

As As VACUUM+SLAB 90 90 90

Cartesian

Au 0 0 0

Au As/2 As/2 A0/2

Au 0 0 A0

— 4 layers in BCT cell —

As As VACUUM+SLAB 90 90 90

Cartesian

Au 0 0 0

Au As/2 As/2 A0/2

Au 0 0 A0

Au As/2 As/2 3A0/2

— 2 layers in Conventional Cell —

A0 A0 VACUUM+SLAB 90 90 90

Cartesian

Au 0 0 0

Au A0/2 A0/2 0

Au A0/2 0 A0/2

Au 0 A0/2 A0/2

— 3 layers in Conventional Cell —

cell

A0 A0 VACUUM+SLAB 90 90 90

Cartesian

Au 0 0 0

Au A0/2 A0/2 0

Au A0/2 0 A0/2

Au 0 A0/2 A0/2

Au 0 0 A0

Au A0/2 A0/2 A0

— 4 layers in Conventional Cell —

A0 A0 VACUUM+SLAB 90 90 90

Cartesian

Au 0 0 0

Au A0/2 A0/2 0

Au A0/2 0 A0/2

Au 0 A0/2 A0/2

Au 0 0 A0

Au A0/2 A0/2 A0

Au A0/2 0 3A0/2

Au 0 A0/2 3A0/2

Homework 2
Problem 8
Discussion of some parts of the Problem 2 input file:

    • When you are asked to relax the atoms in BaTiO3, instead of a single self-consistent field calculation ('scf'), we will be doing a 'relax' calculation which includes a series of SCF calculations. Here, the ions are allowed to move in order to reduce the total system energy. This setting is very much like setting the 'opti' flag in GULP.

    • Since we will be using ion “dynamics”, we now need the new IONS section. We are not, however, using real dynamics (i.e. there is no time coordinate used in the relaxations), but just searching for the minimum energy relaxations. This section should be omitted for the scf calculations of part (a).