2D Grain Boundaries in Hexagonal Boron Nitride.¶
Introduction.¶
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:
Manuscript
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. 1
We will focus on creating h-BN grain boundary structures similar to Figure 2c from the manuscript:
1. Create Initial h-BN Structure.¶
1.1. Load h-BN Material.¶
Navigate to Materials Designer and import the h-BN material from the Standata.
- Click on "Input/Output" menu
- Select "Import from Standata"
- Search for "Boron_Nitride" and select the 2D h-BN material
1.2. Launch JupyterLite Session.¶
Select "Advanced > JupyterLite Transformation" to open JupyterLite.
1.3. Open and Configure Notebook.¶
Find and open create_grain_boundary_film.ipynb
. Edit the grain boundary parameters in section 1.1:
TARGET_TWIST_ANGLE = 9.0
-- As described in the manuscript.
ANGLE_TOLERANCE = 0.5
-- Tolerance for twist angle matching, in degrees.
BOUNDARY_GAP = 0.0
-- Gap between two phases in X direction, should be set to 0.0 for seamless boundary.
DISTANCE_TOLERANCE = 1.43
-- Distance tolerance for atom merging, in Angstroms. Set to be smaller than the B-N length to avoid symmetrical atoms.
EDGE_INCLUSION_TOLERANCE = 0.0
-- Edge inclusion parameter, in Angstroms. Controls the overlap of the second phase onto the first phase.
# Material selection
MATERIAL_INDEX = 0 # Index in the list of materials
# Grain boundary parameters
TARGET_TWIST_ANGLE = 9.0 # in degrees
BOUNDARY_GAP = 0.0 # Gap between two orientations in X direction, in Angstroms
XY_SUPERCELL_MATRIX = [[1, 0], [0, 2]] # Supercell matrix to be applied to each of the orientations before matching
MILLER_INDICES = (0, 0, 1) # Miller indices for the supercell matching
VACUUM = 10.0 # Vacuum thickness in Angstroms, added to the top and bottom of the grain boundary
# Search algorithm parameters
MAX_REPETITION = None # Maximum supercell matrix element value
ANGLE_TOLERANCE = 0.5 # in degrees
RETURN_FIRST_MATCH = True # If True, returns first solution within tolerance
# Distance tolerance for two atoms to be considered too close.
# Used when merging two orientations to remove the atoms of the first one.
# Should be less than the expected bond length
DISTANCE_TOLERANCE = 1.43 # in Angstroms
# How much to expand inclusion of the edge atoms for both orientations and fill in the gap region.
# A fine-tuning parameter
EDGE_INCLUSION_TOLERANCE = 0.0 # in Angstroms
# Visualization parameters
SHOW_INTERMEDIATE_STEPS = True
CELL_REPETITIONS_FOR_VISUALIZATION = [3, 3, 1]
Important Parameter
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.
2. Run the Notebook.¶
Run the notebook by selecting "Run" > "Run All Cells".
The notebook will generate the h-BN grain boundary structure based on the parameters provided.
3. Restore Missing Nitrogen Atom.¶
Due to the DISTANCE_TOLERANCE
setting, one nitrogen atom at the boundary is removed. We need to restore it:
3.1. Add Missing Nitrogen.¶
Open JupyterLite Session and find create_point_defect.ipynb
notebook.
Select the h-BN grain boundary structure as input material and configure the adatom defect parameters in the "1.1. Set Notebook Parameters" section:
# Selected material will be used as a unit cell to create a supercell first.
SUPERCELL_MATRIX = [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
DEFECT_CONFIGS = [
{
"type": "interstitial",
"coordinate": [0.5, 0.45, 0.5], # Crystal coordinates
"element": "N",
"placement_method": "closest_site",
},
]
3.2. Run the Notebook.¶
Run the notebook to add the missing nitrogen atom to the h-BN grain boundary structure.
4. Pass Final Material to Materials Designer.¶
The user can pass the material with substitution defects in the current Materials Designer environment and save it.
Or the user can save or download the material in Material JSON format or POSCAR format.
5. Manual Adjustment.¶
To fill the gaps between two phases edge atoms can be adjusted manually in Materials Designer 3D editor. The resulting structure should be similar to the one shown in the manuscript.
Interactive JupyterLite Notebook.¶
The following JupyterLite notebook demonstrates the complete process. Select "Run" > "Run All Cells".
References.¶
-
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, 9(6):6308–6315, 2015. URL: https://doi.org/10.1021/acs.nanolett.5b01852. ↩