Skip to content

Interfaces between 2D Materials: h-BN and Graphene.

Introduction.

This tutorial demonstrates the process of creating interfaces with different stacking configurations between 2D materials, specifically hexagonal boron nitride (h-BN) and graphene, based on the work presented in the following manuscript, where the electronic properties of h-BN-graphene interfaces are studied.

Manuscript

Jeil Jung, Ashley M. DaSilva, Allan H. MacDonald & Shaffique Adam Origin of the band gap in graphene on hexagonal boron nitride Nature Communications volume 6, Article number: 6308 (2015) DOI: 10.1038/ncomms7308 123

We use the Materials Designer to create interfaces and shift the layers along the y-axis to achieve different stacking configurations.

The Figure 7 shows the different stacking configurations of graphene on h-BN.

Graphene on Hexagonal Boron Nitride

1. Load and preview materials.

First, we navigate to Materials Designer and import the Graphene and Hexagonal BN materials from the Standata.

Standata Graphene and h-BN Import

Then we will use the JupyterLite environment to create the target structures.

2. Create interface between h-BN and Graphene.

2.1 Launch JupyterLite Session.

Select the "Advanced > JupyterLite Transformation" menu item to launch the JupyterLite environment.

JupyterLite Dialog

2.2. Open and modify the notebook.

Select the input materials with first one being the substrate (h-BN) and the second one being the film (Graphene).

Next, open create_interface_with_min_strain_zsl.ipynb notebook to modify the parameters by changing:

Miller indices of both materials to (0,0,1),

Thickness of both materials to 1,

Distance between materials to 3.4 angstroms -- mentioned in the publication.

Default value for MAX_AREA = 50 should be enough since materials have similar lattice constants.

Adjust the "1.1. Set up slab parameters" cell in the notebook according to:

# Enable interactive selection of terminations via UI prompt
IS_TERMINATIONS_SELECTION_INTERACTIVE = False 

FILM_INDEX = 1 # Index in the list of materials, to access as materials[FILM_INDEX]
FILM_MILLER_INDICES = (0, 0, 1)
FILM_THICKNESS = 1  # in atomic layers
FILM_VACUUM = 0.0  # in angstroms
FILM_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
FILM_USE_ORTHOGONAL_Z = True

SUBSTRATE_INDEX = 0
SUBSTRATE_MILLER_INDICES = (0, 0, 1)
SUBSTRATE_THICKNESS = 1  # in atomic layers
SUBSTRATE_VACUUM = 0.0  # in angstroms
SUBSTRATE_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
SUBSTRATE_USE_ORTHOGONAL_Z = True

# Maximum area for the superlattice search algorithm
MAX_AREA = 50 # in Angstrom^2
# Set the termination pair indices
TERMINATION_PAIR_INDEX = 0 # Will be overridden in interactive selection is used
INTERFACE_DISTANCE = 3.4  # in Angstrom
INTERFACE_VACUUM = 20.0  # in Angstrom

Notebook setup

2.3. Run the Notebook.

After setting the parameters, run the notebook to create the interface between h-BN and Graphene.

Run All

2.4. View Results and shift the layers.

The generation might take some time. After that, the user can pass the material to the Materials Designer for further analysis.

Interface between h-BN and Graphene with the specified parameters is shown below.

Gr/h-BN Interface

To shift graphene layer along the y-axis, the user can modify the last cell in the notebook to achieve different stacking configurations.

As mentioned in the publication, the vector to slide the layers between AA, AB and BB configurations is a/sqrt(3).

One can achieve any multiples of shift vector by changing the value of n in the following code snippet using the interface_displace_part() function from the mat3ra.made.tools.modify module.

import numpy as np
from mat3ra.made.tools.modify import interface_displace_part

n = 1
a = selected_interface.lattice.a
shifted_interface = interface_displace_part(
    interface=selected_interface, 
    displacement=[0, n * a / np.sqrt(3), 0],
    use_cartesian_coordinates=True)

Shift Interface

Preview of interfaces with different stacking configurations is shown below.

Shifted Interfaces

3. Pass the Material to Materials Designer.

The user can pass the material with the interface in the current Materials Designer environment and save it.

Final Material

Or the user can save or download the material in Material JSON format or POSCAR format.

Interactive JupyterLite Notebook.

The interactive JupyterLite notebook for creating Gr/h-BN interface can be accessed below. To run the notebook, click on the "Run All" button.

References.


  1. Allan H. MacDonald & Shaffique Adam Jeil Jung, Ashley M. DaSilva. Origin of the band gap in graphene on hexagonal boron nitride. Nature Communications, 6:6308, 2015. URL: https://doi.org/10.1038/ncomms7308

  2. A. Carvalho K. S. Novoselov, A. Mishchenko and A. H. Castro Neto. 2d materials and van der waals heterostructures. Science, 353(6298):aac9439, 2016. URL: https://doi.org/10.1126/science.aac9439

  3. Neelam Gupta, Saurav Sachin, Puja Kumari, Shivani Rania, and Soumya Jyoti Ray. Twistronics in two-dimensional transition metal dichalcogenide (tmd)-based van der waals interface. RSC Adv., 2024(4):1–10, 2024. URL: https://doi.org/10.1039/D3RA06559F