Computational 2D Materials Database (C2DB)

If you are using data from this database in your research, please cite the following papers:

The Computational 2D Materials Database: High-Throughput Modeling and Discovery of Atomically Thin Crystals

Sten Haastrup, Mikkel Strange, Mohnish Pandey, Thorsten Deilmann, Per S. Schmidt, Nicki F. Hinsche, Morten N. Gjerding, Daniele Torelli, Peter M. Larsen, Anders C. Riis-Jensen, Jakob Gath, Karsten W. Jacobsen, Jens Jørgen Mortensen, Thomas Olsen, Kristian S. Thygesen

2D Materials 5, 042002 (2018)

Recent Progress of the Computational 2D Materials Database (C2DB)

M. N. Gjerding, A. Taghizadeh, A. Rasmussen, S. Ali, F. Bertoldo, T. Deilmann, U. P. Holguin, N. R. Knøsgaard, M. Kruse, A. H. Larsen, S. Manti, T. G. Pedersen, T. Skovhus, M. K. Svendsen, J. J. Mortensen, T. Olsen, K. S. Thygesen

2D Materials 8, 044002 (2021)

Brief description

The database contains structural, thermodynamic, elastic, electronic, magnetic, and optical properties of around 4000 two-dimensional (2D) materials distributed over more than 40 different crystal structures. The properties are calculated by density functional theory (DFT) and many-body perturbation theory (\(G_0W_0\) and the Bethe- Salpeter Equation for around 300 materials) as implemented in the GPAW electronic structure code. The workflow was constructed using the Atomic Simulation Recipes (ASR) and executed with the MyQueue task manager. The workflow script and a table with the numerical settings employed for the calculation of the different properties are provided below.

../_images/workflow.png

Overview of methods and parameters used

If a parameter is not specified at a given step, its value equals that of the last step where it was specified:

Workflow step(s)

Parameters

Structure and energetics(*) (1-4)

vacuum = 15 Å; \(k\)-point density = 6.0/Å\(^{-1}\); Fermi smearing = 0.05 eV; PW cutoff = 800 eV; xc functional = PBE; maximum force = 0.01 eV/Å; maximum stress = 0.002 eV/Å\(^3\); phonon displacement = 0.01Å

Elastic constants (5)

\(k\)-point density = \(12.0/\mathrm{Å}^{-1}\); strain = \(\pm\)1%

Magnetic anisotropy (6)

\(k\)-point density = \(20.0/\mathrm{Å}^{-1}\); spin-orbit coupling = True

PBE electronic properties (7-10 and 12)

\(k\)-point density = \(12.0/\mathrm{Å}^{-1}\) (\(36.0/\mathrm{Å}^{-1}\) for DOS)

Effective masses (11)

\(k\)-point density = \(45.0/\mathrm{Å}^{-1}\); finite difference

Deformation potential (13)

\(k\)-point density = 12.0/Å\(^{-1}\); strain = \(\pm\)1%

Plasma frequency (14)

\(k\)-point density = 20.0/Å\(^{-1}\); tetrahedral interpolation

HSE band structure (8-12)

HSE06@PBE; \(k\)-point density = 12.0/Å\(^{-1}\)

\(G_0W_0\) band structure (8, 9)

\(G_0W_0\)@PBE; \(k\)-point density = \(5.0/\mathrm{Å}^{-1}\); PW cutoff = \(\infty\) (extrapolated from 170, 185 and 200 eV); full frequency integration; analytical treatment of \(W({q})\) for small \(q\); truncated Coulomb interaction

RPA polarisability (15)

RPA@PBE; \(k\)-point density = \(20.0/\mathrm{Å}^{-1}\); PW cutoff = 50 eV; truncated Coulomb interaction; tetrahedral interpolation

BSE absorbance (16)

BSE@PBE with \(G_0W_0\) scissors operator; \(k\)-point density = \(20.0/\mathrm{Å}^{-1}\); PW cutoff = 50 eV; truncated Coulomb interaction; at least 4 occupied and 4 empty bands

(*) For the cases with convergence issues, we set a (k)-point density of 9.0 and a smearing of 0.02 eV.

Funding acknowledgements

The C2DB project has received funding from the Danish National Research Foundation’s Center for Nanostructured Graphene (CNG) and the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program Grant No. 773122 (LIMA) and Grant agreement No. 951786 (NOMAD CoE).

Versions

Version

rows

comment

2018-06-01

1888

Initial release

2018-08-01

2391

Two new prototypes added

2018-09-25

3084

New prototypes

2018-12-10

3331

Some BSE spectra recalculated due to small bug affecting absorption strength of materials with large spin-orbit couplings

2021-04-22

4049

Major update including several hundreds new monolayers from experimentally known crystals (from the ICSD/COD databases), new crystal prototype characterization scheme, improved properties (stiffness tensor, effective masses, optical absorbance), and new properties (exfoliation energies, Bader charges, spontaneous polarisations, Born charges, infrared polarisabilities, piezoelectric tensors, band topology invariants, exchange couplings, Raman- and second harmonic generation spectra). See Gjerding et al. for a full description.

2021-06-24

4056

Updated MARE for effective masses.

2022-09-08

15686

Added 11.630 materials from lattice decoration and a deep generative model (see arXiv:2206.12159). Corrected symmetry threshold used to define band structure path to be consistent with the threshold used to define the space group.

2022-11-30

15733

Shift currents for selected materials. Improved deformation potentials.

Key-value pairs

key

description

unit

A

Single-ion anisotropy (out-of-plane)

meV

E_B

Exciton binding energy from BSE

eV

E_x

Soc. total energy, x-direction

meV/unit cell

E_y

Soc. total energy, y-direction

meV/unit cell

E_z

Soc. total energy, z-direction

meV/unit cell

J

Nearest neighbor exchange coupling

meV

N_nn

Number of nearest neighbors

Topology

Band topology

a

Cell parameter a

Å

age

Time since creation

alpha

Cell parameter alpha

deg

alphax

Static total polarizability (x)

Å

alphax_el

Static interband polarizability (x)

Å

alphax_lat

Static lattice polarizability (x)

Å

alphay

Static total polarizability (y)

Å

alphay_el

Static interband polarizability (y)

Å

alphay_lat

Static lattice polarizability (y)

Å

alphaz

Static total polarizability (z)

Å

alphaz_el

Static interband polarizability (z)

Å

alphaz_lat

Static lattice polarizability (z)

Å

asr_id

Material unique ID

b

Cell parameter b

Å

beta

Cell parameter beta

deg

c

Cell parameter c

Å

c_00

Stiffness tensor, 00-component

N/m<sup>dim-1</sup>

c_01

Stiffness tensor, 01-component

N/m<sup>dim-1</sup>

c_02

Stiffness tensor, 02-component

N/m<sup>dim-1</sup>

c_03

Stiffness tensor, 03-component

N/m<sup>dim-1</sup>

c_04

Stiffness tensor, 04-component

N/m<sup>dim-1</sup>

c_05

Stiffness tensor, 05-component

N/m<sup>dim-1</sup>

c_10

Stiffness tensor, 10-component

N/m<sup>dim-1</sup>

c_11

Stiffness tensor, 11-component

N/m<sup>dim-1</sup>

c_12

Stiffness tensor, 12-component

N/m<sup>dim-1</sup>

c_13

Stiffness tensor, 13-component

N/m<sup>dim-1</sup>

c_14

Stiffness tensor, 14-component

N/m<sup>dim-1</sup>

c_15

Stiffness tensor, 15-component

N/m<sup>dim-1</sup>

c_20

Stiffness tensor, 20-component

N/m<sup>dim-1</sup>

c_21

Stiffness tensor, 21-component

N/m<sup>dim-1</sup>

c_22

Stiffness tensor, 22-component

N/m<sup>dim-1</sup>

c_23

Stiffness tensor, 23-component

N/m<sup>dim-1</sup>

c_24

Stiffness tensor, 24-component

N/m<sup>dim-1</sup>

c_25

Stiffness tensor, 25-component

N/m<sup>dim-1</sup>

c_30

Stiffness tensor, 30-component

N/m<sup>dim-1</sup>

c_31

Stiffness tensor, 31-component

N/m<sup>dim-1</sup>

c_32

Stiffness tensor, 32-component

N/m<sup>dim-1</sup>

c_33

Stiffness tensor, 33-component

N/m<sup>dim-1</sup>

c_34

Stiffness tensor, 34-component

N/m<sup>dim-1</sup>

c_35

Stiffness tensor, 35-component

N/m<sup>dim-1</sup>

c_40

Stiffness tensor, 40-component

N/m<sup>dim-1</sup>

c_41

Stiffness tensor, 41-component

N/m<sup>dim-1</sup>

c_42

Stiffness tensor, 42-component

N/m<sup>dim-1</sup>

c_43

Stiffness tensor, 43-component

N/m<sup>dim-1</sup>

c_44

Stiffness tensor, 44-component

N/m<sup>dim-1</sup>

c_45

Stiffness tensor, 45-component

N/m<sup>dim-1</sup>

c_50

Stiffness tensor, 50-component

N/m<sup>dim-1</sup>

c_51

Stiffness tensor, 51-component

N/m<sup>dim-1</sup>

c_52

Stiffness tensor, 52-component

N/m<sup>dim-1</sup>

c_53

Stiffness tensor, 53-component

N/m<sup>dim-1</sup>

c_54

Stiffness tensor, 54-component

N/m<sup>dim-1</sup>

c_55

Stiffness tensor, 55-component

N/m<sup>dim-1</sup>

calculator

ASE-calculator name

cbm

Conduction band minimum

eV

cbm_gw

Conduction band minimum (G₀W₀)

eV

cbm_gw_nosoc

Conduction band minimum w/o soc. (G₀W₀)

eV

cbm_hse

Conduction band minimum (HSE06)

eV

cbm_hse_nosoc

Conduction band minimum w/o soc. (HSE06)

eV

cell_area

Area of unit-cell [\(Ų\)]

charge

Net charge in unit cell

|e|

charge_state

Charge state

class

Material class

cod_id

COD id of parent bulk structure

crystal_type

Crystal type

dE_zx

Magnetic anisotropy (E<sub>z</sub> - E<sub>x</sub>)

meV/unit cell

dE_zy

Magnetic anisotropy (E<sub>z</sub> - E<sub>y</sub>)

meV/unit cell

defect_name

Defect name {type}_{position}

defect_pointgroup

Defect point group

dim_nclusters_0D

Number of 0D clusters.

dim_nclusters_1D

Number of 1D clusters.

dim_nclusters_2D

Number of 2D clusters.

dim_nclusters_3D

Number of 3D clusters.

dim_primary

Dim. with max. scoring parameter

dim_primary_score

Dimensionality scoring parameter of primary dimensionality.

dim_score_0123D

Dimensionality score of dimtype=0123D

dim_score_012D

Dimensionality score of dimtype=012D

dim_score_013D

Dimensionality score of dimtype=013D

dim_score_01D

Dimensionality score of dimtype=01D

dim_score_023D

Dimensionality score of dimtype=023D

dim_score_02D

Dimensionality score of dimtype=02D

dim_score_03D

Dimensionality score of dimtype=03D

dim_score_0D

Dimensionality score of dimtype=0D

dim_score_123D

Dimensionality score of dimtype=123D

dim_score_12D

Dimensionality score of dimtype=12D

dim_score_13D

Dimensionality score of dimtype=13D

dim_score_1D

Dimensionality score of dimtype=1D

dim_score_23D

Dimensionality score of dimtype=23D

dim_score_2D

Dimensionality score of dimtype=2D

dim_score_3D

Dimensionality score of dimtype=3D

dim_threshold_0D

0D dimensionality threshold.

dim_threshold_1D

1D dimensionality threshold.

dim_threshold_2D

2D dimensionality threshold.

dim_threshold_3D

3D dimensionality threshold.

dipz

Out-of-plane dipole along +z axis

e · Å/unit cell

doi

Monolayer reported DOI

dos_at_ef_nosoc

Density of states at the Fermi level w/o soc.

states/(eV · unit cell)

dos_at_ef_soc

Density of states at the Fermi level

states/(eV · unit cell)

dynamic_stability_phonons

Phonon dynamic stability (low/high)

dynamic_stability_stiffness

Stiffness dynamic stability (low/high)

e_11

Piezoelectric tensor

Å<sup>-1</sup>

e_12

Piezoelectric tensor

Å<sup>-1</sup>

e_13

Piezoelectric tensor

Å<sup>-1</sup>

e_14

Piezoelectric tensor

Å<sup>-1</sup>

e_15

Piezoelectric tensor

Å<sup>-1</sup>

e_16

Piezoelectric tensor

Å<sup>-1</sup>

e_21

Piezoelectric tensor

Å<sup>-1</sup>

e_22

Piezoelectric tensor

Å<sup>-1</sup>

e_23

Piezoelectric tensor

Å<sup>-1</sup>

e_24

Piezoelectric tensor

Å<sup>-1</sup>

e_25

Piezoelectric tensor

Å<sup>-1</sup>

e_26

Piezoelectric tensor

Å<sup>-1</sup>

e_31

Piezoelectric tensor

Å<sup>-1</sup>

e_32

Piezoelectric tensor

Å<sup>-1</sup>

e_33

Piezoelectric tensor

Å<sup>-1</sup>

e_34

Piezoelectric tensor

Å<sup>-1</sup>

e_35

Piezoelectric tensor

Å<sup>-1</sup>

e_36

Piezoelectric tensor

Å<sup>-1</sup>

edft

DFT total enrgy

eV

efermi

Fermi level

eV

efermi_gw_nosoc

Fermi level w/o soc. (G₀W₀)

eV

efermi_gw_soc

Fermi level (G₀W₀)

eV

efermi_hse_nosoc

Fermi level w/o soc. (HSE06)

eV

efermi_hse_soc

Fermi level (HSE06) [eV]

ehull

Energy above convex hull

eV/atom

emass_cb_dir1

Conduction band effective mass, direction 1

m<sub>e</sub>

emass_cb_dir2

Conduction band effective mass, direction 2

m<sub>e</sub>

emass_cb_dir3

Conduction band effective mass, direction 3

m<sub>e</sub>

emass_vb_dir1

Valence band effective mass, direction 1

m<sub>e</sub>

emass_vb_dir2

Valence band effective mass, direction 2

m<sub>e</sub>

emass_vb_dir3

Valence band effective mass, direction 3

m<sub>e</sub>

energy

Total energy

eV

etot

Total energy

eV

evac

Vacuum level

eV

evacdiff

Vacuum level difference

eV

first_class_material

A first class material marks a physical material.

bool

fmax

Maximum force

eV/Å

folder

Path to collection folder

forces

Forces on atoms

eV/Å

formula

Chemical formula

gamma

Cell parameter gamma

deg

gap

Band gap

eV

gap_dir

Direct band gap

eV

gap_dir_gw

Direct band gap (G₀W₀)

eV

gap_dir_gw_nosoc

Direct gap w/o soc. (G₀W₀)

eV

gap_dir_hse

Direct band gap (HSE06)

eV

gap_dir_hse_nosoc

Direct gap w/o soc. (HSE06) [eV]

gap_dir_nosoc

Direct gap w/o soc.

eV

gap_gw

Band gap (G₀W₀)

eV

gap_gw_nosoc

Gap w/o soc. (G₀W₀)

eV

gap_hse

Band gap (HSE06)

eV

gap_hse_nosoc

Band gap w/o soc. (HSE06) [eV]

gap_nosoc

Gap w/o soc.

eV

has_inversion_symmetry

Material has inversion symmetry

hform

Heat of formation

eV/atom

host_name

Host formula

icsd_id

ICSD id of parent bulk structure

id

Uniqe row ID

is_magnetic

Material is magnetic

kcbm

k-point of HSE06 conduction band minimum

kcbm_nosoc

k-point of HSE06 conduction band minimum w/o soc

kvbm

k-point of HSE06 valence band maximum

kvbm_nosoc

k-point of HSE06 valence band maximum w/o soc

lam

Anisotropic exchange (out-of-plane)

meV

layergroup

Layer group

lgnum

Layer group number

magmom

Magnetic moment

μ_B

magstate

Magnetic state

mass

Sum of atomic masses in unit cell

au

minhessianeig

Minimum eigenvalue of Hessian

eV/Ų

natoms

Number of atoms

nspins

Number of spins in calculator

orbmag_max

Maximum norm of local orbital magnetic moments

μ_B

orbmag_sum

Sum of local orbital magnetic moments

μ_B

origin

Label specifying generation procedure or origin of material

pbc

Periodic boundary conditions

pdos_nosoc

Projected density of states w/o soc.

pdos_soc

Projected density of states

phi

Easy axis, polar coordinates, phi

radians

phi0_km

Berry phase spectrum localized in k0

phi0_pi_km

Berry phase spectrum at k2=pi localized in k0

phi1_km

Berry phase spectrum localized in k1

phi2_km

Berry phase spectrum localized in k2

plasmafreq_vv

Plasma frequency tensor

Hartree

plasmafrequency_x

2D plasma frequency (x)

eV/Å<sup>0.5</sup>

plasmafrequency_y

2D plasma frequency (y)

eV/Å<sup>0.5</sup>

pointgroup

Point group

s0_km

Spin of berry phases localized in k0

s0_pi_km

Spin of berry at phases at k2=pi localized in k0

s1_km

Spin of berry phases localized in k1

s2_km

Spin of berry phases localized in k3

sct

Spin coherence time T2

ms

smax

Maximum stress on unit cell

eV/ų

spacegroup

Space group (AA stacking)

speed_of_sound_x

Speed of sound (x)

m/s

speed_of_sound_y

Speed of sound (y)

m/s

spgnum

Space group number (AA stacking)

spin

Maximum value of S_z at magnetic sites

spin_axis

Magnetic easy axis

spos

Array: Scaled positions

stiffness_tensor

Stiffness tensor

N/m<sup>dim-1</sup>

stoichiometry

Stoichiometry

stresses

Stress on unit cell

eV/Å<sup>dim-1</sup>

symbols

Array: Chemical symbols

thermodynamic_stability_level

Thermodynamic stability level

theta

Easy axis, polar coordinates, theta

radians

uid

Unique identifier

unique_id

Random (unique) ID

user

Username

vbm

Valence band maximum

eV

vbm_gw

Valence band maximum (G₀W₀)

eV

vbm_gw_nosoc

Valence band maximum w/o soc. (G₀W₀)

eV

vbm_hse

Valence band maximum (HSE06)

eV

vbm_hse_nosoc

Valence band maximum w/o soc. (HSE06)

eV

volume

Volume of unit cell

ų

workfunction

Work function (avg. if finite dipole)

eV

Examples

Band alignment

The following Python script shows how to plot the VBM and CBM.

# creates: band-alignment.png
from math import floor
import numpy as np
import matplotlib.pyplot as plt
from ase.db import connect

# Connect to database
db = connect('c2db.db')

rows = db.select('gap>0,class=TMDC-H', sort='gap')

labels = []
vbms = []
cbms = []
for row in rows:
    M, X = row.symbols[:2]
    label = M + X + '$_2$'
    labels.append(label)
    vbms.append(row.vbm)
    cbms.append(row.cbm)

x = np.arange(len(vbms)) + 0.5
emin = floor(min(vbms)) - 1.0

# Width and height in pixels
ppi = 100
figw = 800
figh = 400

fig = plt.figure(figsize=(figw / ppi, figh / ppi), dpi=ppi)
ax = fig.add_subplot(1, 1, 1)
ax.bar(x, np.array(vbms) - emin, bottom=emin)
ax.bar(x, -np.array(cbms), bottom=cbms)
ax.set_xlim(0, len(labels))
ax.set_ylim(emin, 0)
ax.set_xticks(x)
ax.set_xticklabels(labels, rotation=90, fontsize=10)

plt.title("2H-TMD's: Positions of VBM and CBM (PBE+SOC)", fontsize=12)
plt.ylabel('Energy relative to vacuum [eV]', fontsize=10)
plt.tight_layout()
plt.savefig('band-alignment.png')

This produces the figure

../_images/band-alignment.png

Polarizability

In this example we reproduce figure 18 from Gjerding et al..

# creates: fig18.png
import matplotlib.pyplot as plt
from asr.infraredpolarizability import \
    Result as InfraredPolarizabilityResult
from asr.polarizability import Result as PolarizabilityResult
from ase.db import connect
from scipy.interpolate import interp1d

db = connect('c2db.db')
row = db.get(formula='BN')

dct = row.data['results-asr.infraredpolarizability.json']
irpol = InfraredPolarizabilityResult(**dct['kwargs'])
freq = irpol.omega_w
iralpha = irpol.alpha_wvv[:, 0, 0]  # xx-component

dct = row.data['results-asr.polarizability.json']
elpol = PolarizabilityResult(**dct['kwargs'])
x = elpol.frequencies
y = elpol.alphax_w
# Interpolate to IR frequency grid:
elalpha = (interp1d(x, y.real)(freq) +
           interp1d(x, y.imag)(freq) * 1j)

alpha = iralpha + elalpha

ax = plt.subplot()
ax.plot(freq * 1000, alpha.real, label='real')
ax.plot(freq * 1000, alpha.imag, label='imag')
ax.set_xlabel('Energy [meV]')
ax.set_ylabel(r'Polarizability [$\mathrm{\AA}$]')
ax.set_xlim(0, 500)
ax.legend()
plt.tight_layout()
plt.savefig('fig18.png')

The figure shows the total polarizability, including both electrons and phonons, of monolayer hBN in the infrared frequency regime.

../_images/fig18.png

Extracting VBM and CBM positions in the BZ

In this example, we want to extract the k-points of HSE valence band maximum and conduction band minimum.

from asr.database import connect

db = connect('c2db.db')

# Select a row that has HSE06 data:
for row in db.select(has_asr_hse=True):
    break

record = row.cache.get(name='asr.c2db.hse:main')
result = record.result

print(result.kvbm)
print(result.kcbm)

Tools for creating the “Computational 2D materials” database

Requirements

Python 3.6+ and up-to-date versions of ASE, ASR and GPAW.

Workflow

The workflow for each material is described in this workflow.py file

As an example, let’s do MoS\(_2\) in the CdI2 prototype (T-phase). Create a main folder and a subfolder:

$ mkdir TMD
$ cd TMD
$ mkdir MoS2-CdI2

Create a structure.json file containing something close to the groundstate structure:

$ python3
>>> from ase.build import mx2
>>> a = mx2('MoS2', '1T', a=3.20, thickness=3.17, vacuum=7.5)
>>> a.write('MoS2-CdI2/structure.json')

Start the workflow with:

$ mq workflow ~/cmr/docs/c2db/workflow.py MoS2-CdI2/

Note

The \(mq\) tool is described here

Once the first part of the workflow has finished, one or more folders will appear (nm/, fm/, afm/) if the material was thermodynimically stable. You can then run the remaining part of the workflow:

$ mq workflow ~/cmr/docs/c2db/workflow.py MoS2-CdI2/*m/

When everything is ready you can collect the results in a database file and inspect the results in a web-browser:

$ python3 -m asr.database.fromtree MoS2-CdI2/*m/
$ python3 -m asr.app
../_images/c2db-db.png