Skip to content

Commit 1023359

Browse files
authored
Merge pull request #308 from Exabyte-io/feature/SOF-7523
Feature/SOF-7523 GB 2D h-BN Tutorial
2 parents f8153d3 + 1809d55 commit 1023359

File tree

10 files changed

+172
-0
lines changed

10 files changed

+172
-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: 3 additions & 0 deletions
Loading
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
---
2+
# YAML header
3+
render_macros: true
4+
---
5+
6+
# 2D Grain Boundaries in Hexagonal Boron Nitride
7+
8+
## Introduction
9+
10+
This tutorial demonstrates the process of creating 2D grain boundary structures in hexagonal boron nitride (h-BN), based on the work presented in the following manuscript:
11+
12+
!!!note "Manuscript"
13+
Qiucheng Li, Xiaolong Zou, Mengxi Liu, Jingyu Sun, Yabo Gao, Yue Qi, Xiebo Zhou, Boris I. Yakobson, Yanfeng Zhang, and Zhongfan Liu, "Grain Boundary Structures and Electronic Properties of Hexagonal Boron Nitride on Cu(111)", ACS Nano 2015 9 (6), 6308-6315. [DOI: 10.1021/acs.nanolett.5b01852](https://doi.org/10.1021/acs.nanolett.5b01852){:target='_blank'}.
14+
15+
We will focus on creating h-BN grain boundary structures similar to Figure 2c from the manuscript:
16+
17+
![h-BN Grain Boundary](/images/tutorials/materials/defects/grain_boundary_2d_boron_nitride/0-figure-from-manuscript.webp "h-BN Grain Boundary, FIG. 2c.")
18+
19+
## 1. Create Initial h-BN Structure
20+
21+
### 1.1. Load h-BN Material
22+
23+
Navigate to [Materials Designer](../../../materials-designer/overview.md) and import the h-BN material from the [Standata](../../../materials-designer/header-menu/input-output/standata-import.md).
24+
25+
1. Click on "Input/Output" menu
26+
2. Select "Import from Standata"
27+
3. Search for "Boron_Nitride" and select the 2D h-BN material
28+
29+
![Standata h-BN Import](/images/tutorials/materials/interfaces/twisted-bilayer-boron-nitride/standata-import-bn.png "Standata h-BN Import")
30+
31+
32+
### 1.2. Launch JupyterLite Session
33+
34+
Select "Advanced > [JupyterLite Transformation](../../../materials-designer/header-menu/advanced/jupyterlite-dialog.md)" to open JupyterLite.
35+
36+
### 1.3. Open and Configure Notebook
37+
38+
Find and open `create_grain_boundary_film.ipynb`. Edit the grain boundary parameters in section 1.1:
39+
40+
`TARGET_TWIST_ANGLE = 9.0` -- As described in the manuscript.
41+
`ANGLE_TOLERANCE = 0.5` -- Tolerance for twist angle matching, in degrees.
42+
`BOUNDARY_GAP = 0.0` -- Gap between two phases in X direction, should be set to 0.0 for seamless boundary.
43+
`DISTANCE_TOLERANCE = 1.43` -- Distance tolerance for atom merging, in Angstroms. Set to be smaller than the B-N length to avoid symmetrical atoms.
44+
`EDGE_INCLUSION_TOLERANCE = 0.0` -- Edge inclusion parameter, in Angstroms. Controls the overlap of the second phase onto the first phase.
45+
46+
```python
47+
# Grain boundary parameters
48+
TARGET_TWIST_ANGLE = 9.0 # in degrees
49+
BOUNDARY_GAP = 0.0 # Gap between orientations in X direction
50+
XY_SUPERCELL_MATRIX = [[1, 0], [0, 2]]
51+
52+
# Search algorithm parameters
53+
MAX_REPETITION = None
54+
ANGLE_TOLERANCE = 0.5 # in degrees
55+
RETURN_FIRST_MATCH = True
56+
57+
# Distance tolerance for atom merging
58+
DISTANCE_TOLERANCE = 1.43 # in Angstroms
59+
60+
# Edge inclusion parameter
61+
EDGE_INCLUSION_TOLERANCE = 0.0 # in Angstroms
62+
```
63+
64+
![Notebook Setup](/images/tutorials/materials/defects/grain_boundary_2d_boron_nitride/2-jl-setup-nb-gb.webp "Notebook Setup")
65+
66+
!!!note "Important Parameter"
67+
The `DISTANCE_TOLERANCE` parameter (1.43 Å) is larger than B-N distances at the one specific spot in the boundary. This will cause certain nitrogen atoms to be removed during structure generation, which we'll need to restore later.
68+
69+
## 2. Run the Notebook
70+
71+
Run the notebook by selecting "Run" > "Run All Cells".
72+
73+
The notebook will generate the h-BN grain boundary structure based on the parameters provided.
74+
75+
![Initial h-BN Structure](/images/tutorials/materials/defects/grain_boundary_2d_boron_nitride/4-wave-result-gb.webp "Initial h-BN Structure")
76+
77+
## 3. Restore Missing Nitrogen Atom
78+
79+
Due to the `DISTANCE_TOLERANCE` setting, one nitrogen atom at the boundary is removed. We need to restore it:
80+
81+
### 3.1. Add Missing Nitrogen
82+
83+
Open JupyterLite Session and find `create_point_defect.ipynb` notebook.
84+
85+
Select the h-BN grain boundary structure as input material and configure the adatom defect parameters in the "1.1. Set Notebook Parameters" section:
86+
87+
```python
88+
DEFECT_TYPE = "interstitial" # (e.g. "vacancy", "substitution", "interstitial")
89+
SITE_ID = None # Site index of the defect
90+
COORDINATE = [0.5, 0.45, 0.5] # Position of the defect in crystal coordinates
91+
APPROXIMATE_COORDINATE = None # Approximate coordinates of the defect in crystal coordinates
92+
CHEMICAL_ELEMENT = "N" # Element to be placed at the site (ignored for vacancy)
93+
94+
SUPERCELL_MATRIX = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
95+
96+
# List of dictionaries with defect parameters
97+
DEFECT_CONFIGS = [
98+
{
99+
"defect_type": DEFECT_TYPE,
100+
"coordinate": COORDINATE,
101+
"chemical_element": CHEMICAL_ELEMENT,
102+
}
103+
]
104+
```
105+
106+
![Notebook Setup](/images/tutorials/materials/defects/grain_boundary_2d_boron_nitride/5-jl-setup-nb-final-gb.webp "Notebook Setup")
107+
108+
### 3.2. Run the Notebook
109+
110+
Run the notebook to add the missing nitrogen atom to the h-BN grain boundary structure.
111+
112+
![Final Structure Preview](/images/tutorials/materials/defects/grain_boundary_2d_boron_nitride/6-jl-result-preview-final-gb.webp "Final Structure Preview")
113+
114+
## 4. Pass Final Material to Materials Designer
115+
116+
The user can pass the material with substitution defects in the current Materials Designer environment and save it.
117+
118+
![Final Material](/images/tutorials/materials/defects/grain_boundary_2d_boron_nitride/7-wave-result-final-gb.webp "Final Material")
119+
120+
Or the user can [save or download](../../../materials-designer/header-menu/input-output.md) the material in Material JSON format or POSCAR format.
121+
122+
## 5. Manual Adjustment
123+
124+
To fill the gaps between two phases edge atoms can be adjusted manually in Materials Designer 3D editor.
125+
The resulting structure should be similar to the one shown in the manuscript.
126+
127+
![Adjusted Structure](/images/tutorials/materials/defects/grain_boundary_2d_boron_nitride/8-wave-result-final-gb-relaxed.webp "Adjusted Structure")
128+
129+
## Interactive JupyterLite Notebook
130+
131+
The following JupyterLite notebook demonstrates the complete process. Select "Run" > "Run All Cells".
132+
133+
{% with origin_url=config.extra.jupyterlite.origin_url %}
134+
{% with notebooks_path_root=config.extra.jupyterlite.notebooks_path_root %}
135+
{% with notebook_name='specific_examples/grain_boundary_2d_boron_nitride.ipynb' %}
136+
{% include 'jupyterlite_embed.html' %}
137+
{% endwith %}
138+
{% endwith %}
139+
{% endwith %}
140+
141+
## References
142+
143+
1. Qiucheng Li, et al., "Grain Boundary Structures and Electronic Properties of Hexagonal Boron Nitride on Cu(111)", ACS Nano 2015 9 (6), 6308-6315. [DOI: 10.1021/acs.nanolett.5b01852](https://doi.org/10.1021/acs.nanolett.5b01852)
144+
145+
## Tags
146+
147+
`grain-boundary`, `h-BN`, `2D-materials`, `interface`, `twist-angle`, `atom-restoration`

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ nav:
237237
- High-k Metal Gate Stack (Si/SiO2/HfO2/TiN): tutorials/materials/specific/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride.md
238238
- Ripple perturbation of a Graphene sheet: tutorials/materials/specific/perturbation-ripples-graphene.md
239239
- Grain Boundary in FCC Metals (Copper): tutorials/materials/specific/grain-boundary-3d-fcc-metals-copper.md
240+
- Grain Boundary (2D) in h-BN: tutorials/materials/specific/grain-boundary-2d-boron-nitride.md
240241

241242
# COMMON UI COMPONENTS
242243
- Interface Components:

0 commit comments

Comments
 (0)