CatApp database

CatApp data: Calculated reaction and activation energies for elementary coupling reactions occurring on metal surfaces

Dr. Jens S. Hummelshøj, Dr. Frank Abild-Pedersen, Dr. Felix Studt, Dr. Thomas Bligaard and Prof. Jens K. Nørskov

CatApp: A Web Application for Surface Chemistry and Heterogeneous Catalysis

Angewandte Chemie International Edition, Volume 51, Issue 1, pages 272–274, January 2, 2012

The data

The csv-file has been converted to an ASE db-file using this script:

import csv
import ase.db
from ase import Atoms


reader = csv.reader(open('catappdata.csv'))
next(reader)  # skip header
with ase.db.connect('catapp.db', append=False) as con:
    for er, ea, surface, ab, a, b, ref, url, dataset in reader:
        if surface.startswith('HH- '):
            surf = surface[4:]
        else:
            surf = surface
        keys = {}
        words = surf.split()
        if len(words) == 2:
            surf, keys['site'] = words
        else:
            surf, = words
        symbols, facet = surf.split('(')
        facet = '(' + facet
        symbols = symbols.replace('-', '')
        atoms = Atoms(symbols, pbc=(True, True, False))
        a, b, ab = (x if x[:2] != 'hf' else x[2:] + '/2' for x in [a, b, ab])
        for xc in ['RPBE', 'PW91', 'BEEF']:
            if xc in dataset:
                break
        else:
            xc = '???'
        if ea:
            keys['ea'] = float(ea)
        con.write(atoms, a=a, b=b, ab=ab, er=float(er),
                  surface=surface, facet=facet,
                  xc=xc, ref=ref, url=url, dataset=dataset,
                  **keys)

Key-value pairs

key

description

unit

a

Reactant A

b

Reactant B

ab

Product AB

surface

Description of surface

facet

Surface facet

site

Adsorption site

xc

XC-functional

reference

Reference

url

Link to reference

dataset

Description of calculation

ref

Ref

ea

Ea

er

Er

Methane example

Here we look at the correlation between the activation and reaction energy for this reaction:

\[\text{H}* + \text{CH}_3* \rightarrow \text{CH}_4\]
# creates: ch4.svg
import matplotlib.pyplot as plt
import ase.db

con = ase.db.connect('catapp.db')
x = []
y = []
for row in con.select(a='H*', b='CH3*'):
    x.append(row.er)
    y.append(row.ea)
    
plt.plot(x, y, 'o', label='H*+CH3*->CH4')
plt.legend()
plt.xlabel('reaction energy [eV]')
plt.ylabel('activation energy [eV]')
plt.savefig('ch4.svg')
../_images/ch4.svg