Skip to content

Commit a8f3e8f

Browse files
authored
Merge pull request #301 from Exabyte-io/feature/SOF-7513
tutorial Gr/hBN
2 parents b3cd7ce + 726deb3 commit a8f3e8f

File tree

9 files changed

+196
-0
lines changed

9 files changed

+196
-0
lines changed
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,174 @@
1+
---
2+
# YAML header
3+
render_macros: true
4+
---
5+
6+
# Interfaces between 2D Materials: hBN and Graphene
7+
8+
## Introduction
9+
10+
This tutorial demonstrates the process of creating interfaces with different stacking configurations between 2D materials, specifically hexagonal boron nitride (hBN) and graphene, based on the work presented in the following manuscript, where the electronic properties of hBN-graphene interfaces are studied.
11+
12+
!!!note "Manuscript"
13+
**Jeil Jung, Ashley M. DaSilva, Allan H. MacDonald & Shaffique Adam**
14+
**Origin of the band gap in graphene on hexagonal boron nitride**
15+
Nature Communications volume 6, Article number: 6308 (2015)
16+
[DOI: 10.1038/ncomms7308](https://doi.org/10.1038/ncomms7308)
17+
18+
19+
We use the [Materials Designer](../../../materials-designer/overview.md) to create interfaces and shift the layers along the y-axis to achieve different stacking configurations.
20+
21+
The Figure 7 shows the different stacking configurations of graphene on hBN.
22+
23+
![Graphene on Hexagonal Boron Nitride](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/0-figure-from-manuscript.webp "Graphene on Hexagonal Boron Nitride, FIG. 7")
24+
25+
## 1. Load and preview materials
26+
27+
First, we navigate to [Materials Designer](../../../materials-designer/overview.md) and import the Graphene and Hexagonal BN materials from the [Standata](../../../materials-designer/header-menu/input-output/standata-import.md).
28+
29+
30+
![Standata Graphene and hBN Import](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/1-standata-import-gr-hbn.webp "Standata Graphene and hBN Import")
31+
32+
Then we will use the [JupyterLite](../../../jupyterlite/overview.md) environment to create the target structures.
33+
34+
35+
## 2. Create interface between hBN and Graphene
36+
37+
### 2.1 Launch JupyterLite Session
38+
39+
Select the "Advanced > [JupyterLite Transformation](../../../materials-designer/header-menu/advanced/jupyterlite-dialog.md)" menu item to launch the JupyterLite environment.
40+
41+
42+
![JupyterLite Dialog](/images/jupyterlite/md-advanced-jl.webp "JupyterLite Dialog")
43+
44+
### 2.2. Open and modify the notebook
45+
46+
Select the input materials with first one being the substrate (hBN) and the second one being the film (Graphene).
47+
48+
Next, open `create_interface_with_min_strain_zsl.ipynb` notebook to modify the parameters by changing:
49+
50+
Miller indices of both materials to `(0,0,1)`,
51+
52+
Thickness of both materials to `1`,
53+
54+
Distance between materials to `3.4` angstroms -- mentioned in the publication.
55+
56+
Default value for `MAX_AREA = 50` should be enough since materials have similar lattice constants.
57+
58+
59+
Adjust the "1.1. Set up slab parameters" cell in the notebook according to:
60+
61+
```python
62+
# Enable interactive selection of terminations via UI prompt
63+
IS_TERMINATIONS_SELECTION_INTERACTIVE = False
64+
65+
FILM_INDEX = 1 # Index in the list of materials, to access as materials[FILM_INDEX]
66+
FILM_MILLER_INDICES = (0, 0, 1)
67+
FILM_THICKNESS = 1 # in atomic layers
68+
FILM_VACUUM = 0.0 # in angstroms
69+
FILM_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
70+
FILM_USE_ORTHOGONAL_Z = True
71+
72+
SUBSTRATE_INDEX = 0
73+
SUBSTRATE_MILLER_INDICES = (0, 0, 1)
74+
SUBSTRATE_THICKNESS = 1 # in atomic layers
75+
SUBSTRATE_VACUUM = 0.0 # in angstroms
76+
SUBSTRATE_XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
77+
SUBSTRATE_USE_ORTHOGONAL_Z = True
78+
79+
# Maximum area for the superlattice search algorithm
80+
MAX_AREA = 50 # in Angstrom^2
81+
# Set the termination pair indices
82+
TERMINATION_PAIR_INDEX = 0 # Will be overridden in interactive selection is used
83+
INTERFACE_DISTANCE = 3.4 # in Angstrom
84+
INTERFACE_VACUUM = 20.0 # in Angstrom
85+
```
86+
87+
![Notebook setup](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/2-jl-setup-notebook.webp "Notebook setup")
88+
89+
90+
### 2.3. Run the Notebook
91+
92+
After setting the parameters, run the notebook to create the interface between hBN and Graphene.
93+
94+
![Run All](/images/jupyterlite/run-all.webp "Run All")
95+
96+
### 2.4. View Results and shift the layers
97+
98+
The generation might take some time.
99+
After that, the user can pass the material to the Materials Designer for further analysis.
100+
101+
Interface between hBN and Graphene with the specified parameters is shown below.
102+
103+
![Gr/hBN Interface ](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/3-jl-result-preview.webp "Gr/hBN Interface")
104+
105+
To shift graphene layer along the y-axis, the user can modify the last cell in the notebook to achieve different stacking configurations.
106+
107+
As mentioned in the publication, the vector to slide the layers between AA, AB and BB configurations is `a/sqrt(3)`.
108+
109+
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.
110+
111+
```python
112+
import numpy as np
113+
from mat3ra.made.tools.modify import interface_displace_part
114+
115+
n = 1
116+
a = selected_interface.lattice.a
117+
shifted_interface = interface_displace_part(
118+
interface=selected_interface,
119+
displacement=[0, n * a / np.sqrt(3), 0],
120+
use_cartesian_coordinates=True)
121+
122+
```
123+
124+
![Shift Interface](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/4-jl-setup-shift.webp "Shift Interface")
125+
126+
Preview of interfaces with different stacking configurations is shown below.
127+
128+
![Shifted Interfaces](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/5-jl-result-preview.webp "Shifted Interfaces")
129+
130+
## 3. Pass the Material to Materials Designer
131+
132+
The user can pass the material with the interface in the current Materials Designer environment and save it.
133+
134+
![Final Material](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/6-wave-result.webp "Graphene on Hexagonal Boron Nitride Interface")
135+
136+
Or the user can [save or download](../../../materials-designer/header-menu/input-output.md) the material in Material JSON format or POSCAR format.
137+
138+
139+
## Interactive JupyterLite Notebook
140+
141+
The interactive JupyterLite notebook for creating Gr/hBN interface can be accessed below. To run the notebook, click on the "Run All" button.
142+
143+
144+
{% with origin_url=config.extra.jupyterlite.origin_url %}
145+
{% with notebooks_path_root=config.extra.jupyterlite.notebooks_path_root %}
146+
{% with notebook_name='specific_examples/interface_2d_2d_boron_nitride_graphene.ipynb' %}
147+
{% include 'jupyterlite_embed.html' %}
148+
{% endwith %}
149+
{% endwith %}
150+
{% endwith %}
151+
152+
## References
153+
154+
1. **Jeil Jung, Ashley M. DaSilva, Allan H. MacDonald & Shaffique Adam**
155+
156+
"Origin of the band gap in graphene on hexagonal boron nitride"
157+
Nature Communications volume 6, Article number: 6308 (2015)
158+
[DOI: 10.1038/ncomms7308](https://doi.org/10.1038/ncomms7308)
159+
160+
2. **K. S. Novoselov, A. Mishchenko, A. Carvalho, A. H. Castro Neto**
161+
162+
"2D materials and van der Waals heterostructures"
163+
Science 353, 6298 (2016)
164+
[DOI: 10.1126/science.aac9439](https://doi.org/10.1126/science.aac9439)
165+
166+
3. **Neelam Gupta, Saurav Sachin, Puja Kumari, Shivani Rania and Soumya Jyoti Ray**
167+
168+
"Twistronics in two-dimensional transition metal dichalcogenide (TMD)-based van der Waals interface"
169+
RSC Adv., 2024, 4, 1-10
170+
[DOI: 10.1039/D3RA06559F](https://doi.org/10.1039/D3RA06559F)
171+
172+
## Tags
173+
174+
`2D`, `Graphene`, `Hexagonal Boron Nitride`, `interface`, `stacking`

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ nav:
229229
- H-Passivated Silicon Nanowire: tutorials/materials/specific/passivation-edge-silicon-nanowire.md
230230
- Gold Nanoclusters: tutorials/materials/specific/nanocluster-gold.md
231231
- SrTiO3 Slab: tutorials/materials/specific/slab-strontium-titanate.md
232+
- Interface between Graphene and hBN: tutorials/materials/specific/interface-2d-2d-graphene-boron-nitride.md
232233

233234
# COMMON UI COMPONENTS
234235
- Interface Components:

0 commit comments

Comments
 (0)