Skip to content

Commit

Permalink
Merge pull request #306 from Exabyte-io/feature/SOF-7512
Browse files Browse the repository at this point in the history
feature/SOF-7512 Step Pt tutorial
  • Loading branch information
VsevolodX authored Dec 31, 2024
2 parents e7039e3 + b086c43 commit 1fabbd9
Show file tree
Hide file tree
Showing 11 changed files with 192 additions and 12 deletions.
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Git LFS file not shown
Original file line number Diff line number Diff line change
@@ -0,0 +1,158 @@
---
# YAML header
render_macros: true
---

# Terrace Steps on Platinum (111) Surface.

## Introduction.

This tutorial demonstrates two different approaches to creating terrace steps on platinum surfaces, based on the work presented in the following manuscript:

!!!note "Manuscript"
Šljivančanin, Ž., & Hammer, B., "Oxygen dissociation at close-packed Pt terraces, Pt steps, and Ag-covered Pt steps studied with density functional theory." Surface Science, 515(1), 235–244. [DOI: 10.1016/s0039-6028(02)01908-8](https://doi.org/10.1016/s0039-6028(02)01908-8){:target='_blank'}.

We will focus on creating platinum surface with terrace steps, as shown in FIG. 1. B:

![Fig. 1.](/images/tutorials/materials/defects/defect_surface_step_platinum/0-figure-from-manuscript.webp "Fig. 1.")

We will demonstrate two methods:

1. Creating a Pt(211) surface which inherently contains steps
2. Creating a terrace step on a Pt(111) surface using the TerraceSlabDefectBuilder

## 1. Method I: Create Pt(211) Surface.

- Creates a surface with inherent steps
- Smaller unit cell
- Fixed step geometry
- Good for studying specific crystal faces

### 1.1. Import Base Material.

First, we need to import the platinum material from Standata:

1. Navigate to [Materials Designer](../../../materials-designer/overview.md)
2. Click on "Input/Output" menu
3. Select "Import from Standata"
4. Search for "Pt" and select the bulk platinum material

![Standata Import](/images/tutorials/materials/defects/defect_surface_step_platinum/1-standata-import-platinum.webp "Standata Import")

### 1.2. Launch JupyterLite Environment.

Select "Advanced > [JupyterLite Transformation](../../../materials-designer/header-menu/advanced/jupyterlite-dialog.md)" to open JupyterLite.

### 1.3. Configure Slab Parameters.

Open a `create_slab.ipynb` notebook and set up the slab parameters in the "1.1. Set up notebook" cell:

```python
MATERIAL_NAME = "Pt"
MILLER_INDICES = (2, 1, 1)
THICKNESS = 6 # in atomic layers
VACUUM = 10.0 # in angstroms
XY_SUPERCELL_MATRIX = [[1, 0], [0, 1]]
USE_ORTHOGONAL_Z = True
USE_CONVENTIONAL_CELL = True
TERMINATION_INDEX = 0
```

These parameters will create a Pt(211) surface with:

- 6 atomic layers thickness
- 10 Å vacuum region
- Orthogonal z-axis
- Using the conventional unit cell

![Pt(211) Surface Setup](/images/tutorials/materials/defects/defect_surface_step_platinum/2-jl-setup-nb-surface.webp "Pt(211) Surface Setup")

### 1.4. Create the Slab.

Run the notebook by clicking `Run` > `Run All` in the top menu. The notebook will generate the Pt(211) surface.

![Pt(211) Surface](/images/tutorials/materials/defects/defect_surface_step_platinum/3-wave-result-pt-211-surface.webp "Pt(211) Surface")

## 2. Method II: Create Terrace Step Defect on Pt(111).

- More flexible control over step placement
- Larger surface area available
- Customizable terrace height
- Better for complex step arrangements

### 2.1. Open Terrace Defect Notebook.

First, open `create_terrace_defect.ipynb`and select Pt as the input material.

### 2.2. Configure Terrace Parameters.

`CUT_DIRECTION = [0, 1, 1]` -- Normal vector for cutting plane, which will give a perfect periodic match along x and a match along y after rotation.
`DEFAULT_SLAB_PARAMETERS["miller_indices"] = (1, 1, 1)` -- Miller indices for Pt(111) surface
`DEFAULT_SLAB_PARAMETERS["xy_supercell_matrix"] = [[2, 0], [0, 2]]` -- Supercell matrix for final structure (which will effectively control the size of the terrace)


```python
# Material selection
# Which material to use from input list
MATERIAL_INDEX = 0

# Terrace parameters:
# Normal vector describing a plane that cuts the terrace from added layers (Miller indices)
CUT_DIRECTION = [0,1,1]
# Point the cutting plane passes through, in crystal coordinates
PIVOT_COORDINATE = [0.5, 0.5, 0.5]
# Height of terrace in atomic layers
NUMBER_OF_ADDED_LAYERS = 1
# Use cartesian instead of crystal coordinates
USE_CARTESIAN_COORDINATES = False
# Rotate to match periodic boundary conditions
ROTATE_TO_MATCH_PBC = True

# Slab parameters for creating a new slab if provided material is not a slab
DEFAULT_SLAB_PARAMETERS = {
"miller_indices": (1,1,1),
"thickness": 6,
"vacuum": 10.0,
"use_orthogonal_z": True,
"xy_supercell_matrix": [[2, 0], [0, 2]]
}

# Visualization parameters
SHOW_INTERMEDIATE_STEPS = True
# Structure repeat in view
CELL_REPETITIONS_FOR_VISUALIZATION = [1, 1, 1]
```

![Terrace Parameters](/images/tutorials/materials/defects/defect_surface_step_platinum/4-jl-setup-nb-terrace.webp "Terrace Parameters")

### 2.3. Create the Terrace.

Run the notebook to create the Pt(111) surface with a terrace step.

![Pt(111) Surface with Terrace Step](/images/tutorials/materials/defects/defect_surface_step_platinum/5-wave-result-pt-terrace.webp "Pt(111) Surface with Terrace Step")

The same material with repetitions:

![Pt(111) Surface with Terrace Step with repetitions](/images/tutorials/materials/defects/defect_surface_step_platinum/6-wave-result-pt-terrace-repetitions.webp "Pt(111) Surface with Terrace Step with repetitions")

The user can [save or download](../../../materials-designer/header-menu/input-output.md) the material in Material JSON format or POSCAR format.

## Interactive JupyterLite Notebook.

The following JupyterLite notebook demonstrates both approaches. Select "Run" > "Run All Cells" to execute the notebook.

{% with origin_url=config.extra.jupyterlite.origin_url %}
{% with notebooks_path_root=config.extra.jupyterlite.notebooks_path_root %}
{% with notebook_name='specific_examples/defect_surface_step_platinum.ipynb' %}
{% include 'jupyterlite_embed.html' %}
{% endwith %}
{% endwith %}
{% endwith %}

## References.

1. Šljivančanin, Ž., & Hammer, B., "Oxygen dissociation at close-packed Pt terraces, Pt steps, and Ag-covered Pt steps studied with density functional theory." Surface Science, 515(1), 235–244. [DOI: 10.1016/s0039-6028(02)01908-8](https://doi.org/10.1016/s0039-6028(02)01908-8){:target='_blank'}.

## Tags.

`surface`, `platinum`, `terrace`, `step`, `slab`, `Pt(211)`, `Pt(111)`
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
render_macros: true
---

# Interfaces between 2D Materials: hBN and Graphene
# 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 (hBN) and graphene, based on the work presented in the following manuscript, where the electronic properties of hBN-graphene interfaces are studied.
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.

!!!note "Manuscript"
**Jeil Jung, Ashley M. DaSilva, Allan H. MacDonald & Shaffique Adam**
Expand All @@ -18,7 +18,7 @@ This tutorial demonstrates the process of creating interfaces with different sta

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.

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

![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")

Expand All @@ -27,12 +27,12 @@ The Figure 7 shows the different stacking configurations of graphene on hBN.
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).


![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")
![Standata Graphene and h-BN Import](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/1-standata-import-gr-hbn.webp "Standata Graphene and h-BN Import")

Then we will use the [JupyterLite](../../../jupyterlite/overview.md) environment to create the target structures.


## 2. Create interface between hBN and Graphene
## 2. Create interface between h-BN and Graphene

### 2.1 Launch JupyterLite Session

Expand All @@ -43,7 +43,7 @@ Select the "Advanced > [JupyterLite Transformation](../../../materials-designer/

### 2.2. Open and modify the notebook

Select the input materials with first one being the substrate (hBN) and the second one being the film (Graphene).
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:

Expand Down Expand Up @@ -89,7 +89,7 @@ INTERFACE_VACUUM = 20.0 # in Angstrom

### 2.3. Run the Notebook

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

![Run All](/images/jupyterlite/run-all.webp "Run All")

Expand All @@ -98,9 +98,9 @@ After setting the parameters, run the notebook to create the interface between h
The generation might take some time.
After that, the user can pass the material to the Materials Designer for further analysis.

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

![Gr/hBN Interface ](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/3-jl-result-preview.webp "Gr/hBN Interface")
![Gr/h-BN Interface ](/images/tutorials/materials/interfaces/interface_2d_2d_graphene_boron_nitride/3-jl-result-preview.webp "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.

Expand Down Expand Up @@ -138,7 +138,7 @@ Or the user can [save or download](../../../materials-designer/header-menu/input

## Interactive JupyterLite Notebook

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


{% with origin_url=config.extra.jupyterlite.origin_url %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ This tutorial demonstrates the process of creating a twisted bilayer boron nitri

We use the [Materials Designer](../../../materials-designer/overview.md) to create Hexagonal boron nitride bilayer structure configurations with 2 specific twist angles.

The image shows the twisted bilayer hBN structure with a twist angle of 2.64° (a) and 62.64° (b).
The image shows the twisted bilayer h-BN structure with a twist angle of 2.64° (a) and 62.64° (b).

![Twisted Bilayer Boron Nitride](/images/tutorials/materials/interfaces/twisted-bilayer-boron-nitride/tbbn-paper-image.png "Twisted Bilayer Boron Nitride")

Expand Down
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -224,13 +224,14 @@ nav:
- Vacancy-Substitution Pair Defects in GaN: tutorials/materials/specific/defect-point-pair-gallium-nitride.md
- Vacancy Point Defect in h-BN: tutorials/materials/specific/defect-point-vacancy-boron-nitride.md
- Island Surface Defect Formation in TiN: tutorials/materials/specific/defect-surface-island-titanium-nitride.md
- Step Surface Defect on Pt(111): tutorials/materials/specific/defect-surface-step-platinum.md
- Twisted Bilayer h-BN nanoribbons: tutorials/materials/specific/interface-bilayer-twisted-nanoribbons-boron-nitride.md
- Twisted Bilayer MoS2 commensurate lattices: tutorials/materials/specific/interface-bilayer-twisted-commensurate-lattices-molybdenum-disulfide.md
- Adatom Surface Defects on Graphene: tutorials/materials/specific/defect-surface-adatom-graphene.md
- H-Passivated Silicon Nanowire: tutorials/materials/specific/passivation-edge-silicon-nanowire.md
- Gold Nanoclusters: tutorials/materials/specific/nanocluster-gold.md
- SrTiO3 Slab: tutorials/materials/specific/slab-strontium-titanate.md
- Interface between Graphene and hBN: tutorials/materials/specific/interface-2d-2d-graphene-boron-nitride.md
- Interface between Graphene and h-BN: tutorials/materials/specific/interface-2d-2d-graphene-boron-nitride.md
- Interface between Copper and SiO2 (Cristobalite): tutorials/materials/specific/interface-3d-3d-copper-silicon-dioxide.md
- Interface between Graphene and SiO2 (alpha-quartz): tutorials/materials/specific/interface-2d-3d-graphene-silicon-dioxide.md
- High-k Metal Gate Stack (Si/SiO2/HfO2/TiN): tutorials/materials/specific/heterostructure-silicon-silicon-dioxide-hafnium-dioxide-titanium-nitride.md
Expand Down

0 comments on commit 1fabbd9

Please sign in to comment.