ASE Tutorials

  1. Introduction to ASE
  2. Getting Started with DFT Calculations
  3. Adsorption

Adsorption on MXenes

In the second exercise, you will be calculating the adsorption energy of a N on the Ti2C surface and determining what the most favorable adsorption site is. The adsorption energy is defined as:

$$ \Delta E_\mathrm{ads} = E_\mathrm{surface + N*} - E_\mathrm{surface} - E_\mathrm{N} $$

where N* refers to adsorbed N. We have Esurface from the previous exercise (the total energy of the previous slab x 4, since we will soon be doubling the cell in the x and y directions), so we will need to calculate Esurface + N*. The energy of EN is -278.275 eV (we will talk about where this energy came from in the Final Project).

Adsorption Sites

Take a look here if you need a reminder of how to add atoms using ase-gui. We will describe how to add atoms within the ASE script below.

First, open the .traj file with the optimized lattice constant that you obtained from the previous exercise. On the menu bar, select View -> Repeat. Under ‘Repeat Atoms’, change the first two numbers from 1 to 2; leave the third number as 1. Then, click set unit cell. Your cell should look like this:

window
2 x 2 surface of Ti2C

There are four possible adsorption sites on a two-dimensional MXene surface that an adsorbate can bind to: the fcc, hcp, ontop, and bridge sites. These are illustrated below:

window
2 x 2 surface of Ti2C

In the ase-gui, click the atom above where the adsorbate will sit, press Ctrl + A, then specify the adsorbate and the vertical distance above the site. You can also hold Ctrl to select multiple atoms and add an adsorbate, which will be at the center of all the selected atoms. You can move the atoms by selecting the atom(s) you wish to move, press Ctrl + M, and use the arrow keys to move the atom(s); press Ctrl + M again to deselect the atom(s) for moving. In the following figure, we illustrate the placement of N on the ontop site:

window
ontop N on Ti2C

Make sure to save the new .traj file via Ctrl + S.

To relax these atoms, use the Relax.pyscript. Read the script to make sure you understand what it does. (Note: In the calculator the k-point mesh is now (4x4x1) instead of the (8x8x1) we were using in the previous steps. Why?) The output should look like this:

BFGS:   0  20:33:56   -13667.108639 136.3606
BFGS:   1  20:38:43   -13675.857635  89.5080
BFGS:   2  20:42:59   -13680.647385	 65.7332
BFGS:   3  20:47:11   -13683.809679	 50.8884
BFGS:   4  20:51:23   -13686.061782	 40.5300
BFGS:   5  20:56:10   -13687.682598	 32.9905
BFGS:   6  21:00:24   -13688.838033	 27.4382
BFGS:   7  21:04:32   -13689.679245	 23.2174
BFGS:   8  21:08:41   -13690.323083	 19.8317
BFGS:   9  21:12:45   -13690.839507	 16.9859
BFGS:  10  21:16:48   -13691.266948	 14.5243
BFGS:  11  21:20:36   -13691.626984	 12.3675
BFGS:  12  21:24:20   -13691.933360	 10.4735
....

The first column tells us we are using a Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm to optimize the atomic positions. The second column is the step number (the first step before we move atoms at all is 0). The third column tells us the time each ionic step is calculated, the fourth column is the total energy of the system (eV), and the last column is the maximum force on an atom (eV/Å).

It is possible that the system does not finish relaxing in the time given to it by the scheduler. If this happens, simply copy the .traj created by the script (in this case, Relax.traj) to the original .traj file name. When the script reads the .traj file, if there are multiple atomic configurations in the file, it will read the last one by default. In this way, you can run the script from before and start where the previous calculation left off.

HW 5: Using the Relax.py script, calculate the Eads for N in each of the four adsorption sites. List each Eads, and say which is the most stable site.

Note: All sites may not be stable (the adsorbed N may move to a different site). If it is clear that the atom is relaxing away from the initial site, you do not need to run the calculation any further if you run out of time; simply state that the position is unstable.