From 981967deb24c082737f5f995d4455dbfe0665eb0 Mon Sep 17 00:00:00 2001 From: VsevolodX <79542055+VsevolodX@users.noreply.github.com> Date: Mon, 30 Dec 2024 20:12:30 -0800 Subject: [PATCH 1/6] feat: add optimization tutorial --- ...film-position-graphene-nickel-interface.md | 166 ++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md diff --git a/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md new file mode 100644 index 00000000..88f0e2d7 --- /dev/null +++ b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md @@ -0,0 +1,166 @@ +--- +# YAML header +render_macros: true +--- + +# Graphene/Ni(111) Interface Optimization + +## Introduction + +This tutorial demonstrates how to create and optimize a Graphene/Ni(111) interface structure following the experimental observations presented in the literature. We will focus on finding the most energetically favorable position of graphene on the Ni(111) surface. + +!!!note "Manuscript" + Arjun Dahal, Matthias Batzill + "Graphene–nickel interfaces: a review" + Nanoscale, 6(5), 2548. (2014) + [DOI: 10.1039/c3nr05279f](https://doi.org/10.1039/c3nr05279f){:target='_blank'}. + +We will recreate the interface structure and optimize the film position to match the experimental findings shown in the figure below: + +![Gr/Ni Interface](/images/tutorials/materials/interfaces/graphene_ni_111/optimal-position.webp "Optimal position of graphene on Ni(111)") + +## 1. Create Interface Structure + +### 1.1. Load Base Materials + +Navigate to [Materials Designer](../../../materials-designer/overview.md) and import both graphene and nickel materials from the [Standata](../../../materials-designer/header-menu/input-output/standata-import.md). + +![Standata Materials Import](/images/tutorials/materials/interfaces/graphene_ni_111/standata-import.webp "Import Graphene and Nickel from Standata") + +### 1.2. Launch JupyterLite Session + +Select the "Advanced > [JupyterLite Transformation](../../../materials-designer/header-menu/advanced/jupyterlite-dialog.md)" menu item to launch the JupyterLite environment. + +### 1.3. Open `create_interface_with_min_strain_zsl.ipynb` notebook + +Find and open the `create_interface_with_min_strain_zsl.ipynb` notebook. This notebook will help us create the initial interface structure. + +### 1.4. Set up interface parameters + +Edit the notebook parameters to create the Gr/Ni(111) interface: + +```python +# Material selection +SUBSTRATE_NAME = "Nickel" +FILM_NAME = "Graphene" + +# Slab parameters +SUBSTRATE_MILLER_INDICES = (1, 1, 1) +SUBSTRATE_THICKNESS = 4 # in atomic layers +FILM_THICKNESS = 1 # in atomic layers + +# Interface parameters +MAX_AREA = 50 # in Angstrom^2 +INTERFACE_DISTANCE = 2.58 # in Angstrom from literature +INTERFACE_VACUUM = 20.0 # in Angstrom +``` + +### 1.5. Run interface creation + +Run the notebook using "Run > Run All Cells". This will: +1. Create slabs from both materials +2. Find the optimal lattice matching using the ZSL algorithm +3. Generate the initial interface structure + +![Interface Creation Result](/images/tutorials/materials/interfaces/graphene_ni_111/interface-created.webp "Created Gr/Ni Interface") + +## 2. Optimize Film Position + +### 2.1. Open `optimize_film_position.ipynb` notebook + +Find and open the `optimize_film_position.ipynb` notebook which will help us find the optimal position of the graphene layer. + +### 2.2. Set optimization parameters + +Configure the optimization parameters: + +```python +# Grid parameters +GRID_SIZE = (20, 20) # Resolution of the x-y grid +GRID_RANGE_X = (-0.5, 0.5) # Range in crystal coordinates +GRID_RANGE_Y = (-0.5, 0.5) +USE_CARTESIAN = False # Use crystal coordinates + +# Visualization parameters +STRUCTURE_REPETITIONS = [3, 3, 1] +``` + +Key parameters explained: +- `GRID_SIZE`: Controls the resolution of position sampling +- `GRID_RANGE`: Search range in crystal coordinates +- `USE_CARTESIAN`: Set to False for hexagonal systems + +### 2.3. Run optimization + +Run all cells in the notebook. The optimization will: +1. Calculate energy landscape across different positions +2. Find the global minimum energy position +3. Generate visualizations of the results + +![Energy Landscape](/images/tutorials/materials/interfaces/graphene_ni_111/energy-landscape.webp "Energy landscape of film positions") + +## 3. Analyze Results + +After running both notebooks, examine the results: + +### 3.1. Interface Structure +- Verify the interface distance is ~2.58 Å +- Check that the graphene layer is parallel to the Ni(111) surface +- Confirm the supercell size is reasonable + +### 3.2. Energy Landscape +The energy landscape shows: +1. Clear energy minima indicating preferred positions +2. Periodic pattern matching the hexagonal symmetry +3. Sharp peaks at unfavorable positions + +### 3.3. Optimal Position +The optimized structure should show: +- Carbon atoms positioned over Ni atoms and hollow sites +- No significant distortion in the graphene layer +- Proper registry between graphene and Ni surface atoms + +## 4. Save Optimized Structure + +The optimized interface structure will be automatically passed back to Materials Designer where you can: +1. Save it in the workspace +2. Export it in various formats (JSON, POSCAR, etc.) +3. Use it for further calculations + +## Interactive JupyterLite Notebook + +The following JupyterLite notebook demonstrates the complete process. Select "Run" > "Run All Cells". + +{% with origin_url=config.extra.jupyterlite.origin_url %} +{% with notebooks_path_root=config.extra.jupyterlite.notebooks_path_root %} +{% with notebook_name='specific_examples/optimize-film-position-graphene-nickel-interface.ipynb' %} +{% include 'jupyterlite_embed.html' %} +{% endwith %} +{% endwith %} +{% endwith %} + +## Parameter Fine-tuning + +To adjust the interface optimization: + +1. Interface Creation: + - Adjust `SUBSTRATE_THICKNESS` for more Ni layers + - Modify `MAX_AREA` to control supercell size + - Change `INTERFACE_DISTANCE` if needed + +2. Position Optimization: + - Increase `GRID_SIZE` for finer sampling + - Adjust `GRID_RANGE` to search different areas + - Enable 3D visualization with `SHOW_3D_LANDSCAPE = True` + +## References + +1. Dahal, A., & Batzill, M. (2014). Graphene–nickel interfaces: a review. Nanoscale, 6(5), 2548-2562. [DOI: 10.1039/c3nr05279f](https://doi.org/10.1039/c3nr05279f) + +2. Gamo, Y., Nagashima, A., Wakabayashi, M., Terai, M., & Oshima, C. (1997). Atomic structure of monolayer graphite formed on Ni(111). Surface Science, 374(1-3), 61-64. + +3. Bertoni, G., Calmels, L., Altibelli, A., & Serin, V. (2004). First-principles calculation of the electronic structure and EELS spectra at the graphene/Ni(111) interface. Physical Review B, 71(7). + +## Tags + +`graphene`, `nickel`, `interface`, `optimization`, `2D materials`, `surface science`, `Gr/Ni(111)`, `C`, `Ni` \ No newline at end of file From 893a32ed7d4732b8bb2646f7d09236de1dc3113e Mon Sep 17 00:00:00 2001 From: VsevolodX <79542055+VsevolodX@users.noreply.github.com> Date: Mon, 30 Dec 2024 20:36:40 -0800 Subject: [PATCH 2/6] update: mkdocs --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index 75940f62..0f53805a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -234,7 +234,7 @@ nav: - 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 - + - Optimize graphene on Ni(111) interface: tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md # COMMON UI COMPONENTS - Interface Components: - Overview: ui/overview.md From 10f390dd5f7d297a60b558ebe7e80ad64904a2e2 Mon Sep 17 00:00:00 2001 From: VsevolodX <79542055+VsevolodX@users.noreply.github.com> Date: Mon, 30 Dec 2024 21:17:34 -0800 Subject: [PATCH 3/6] update: use images --- ...film-position-graphene-nickel-interface.md | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md index 88f0e2d7..a7fd4ada 100644 --- a/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md +++ b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md @@ -17,7 +17,7 @@ This tutorial demonstrates how to create and optimize a Graphene/Ni(111) interfa We will recreate the interface structure and optimize the film position to match the experimental findings shown in the figure below: -![Gr/Ni Interface](/images/tutorials/materials/interfaces/graphene_ni_111/optimal-position.webp "Optimal position of graphene on Ni(111)") +![Gr/Ni Interface](/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/0-figure-from-manuscript.webp "Optimal position of graphene on Ni(111)") ## 1. Create Interface Structure @@ -25,7 +25,7 @@ We will recreate the interface structure and optimize the film position to match Navigate to [Materials Designer](../../../materials-designer/overview.md) and import both graphene and nickel materials from the [Standata](../../../materials-designer/header-menu/input-output/standata-import.md). -![Standata Materials Import](/images/tutorials/materials/interfaces/graphene_ni_111/standata-import.webp "Import Graphene and Nickel from Standata") +![Import Graphene and Ni](/images/materials-designer/import/import_from_standata.webp "Import Gr and Ni from Standata") ### 1.2. Launch JupyterLite Session @@ -55,15 +55,16 @@ INTERFACE_DISTANCE = 2.58 # in Angstrom from literature INTERFACE_VACUUM = 20.0 # in Angstrom ``` +![Interface Parameters](/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/2-jl-setup-nb-interface.webp "Interface parameters for Gr/Ni(111)") + ### 1.5. Run interface creation Run the notebook using "Run > Run All Cells". This will: + 1. Create slabs from both materials 2. Find the optimal lattice matching using the ZSL algorithm 3. Generate the initial interface structure -![Interface Creation Result](/images/tutorials/materials/interfaces/graphene_ni_111/interface-created.webp "Created Gr/Ni Interface") - ## 2. Optimize Film Position ### 2.1. Open `optimize_film_position.ipynb` notebook @@ -90,35 +91,28 @@ Key parameters explained: - `GRID_RANGE`: Search range in crystal coordinates - `USE_CARTESIAN`: Set to False for hexagonal systems +![Optimization Parameters](/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/3-jl-setup-nb-final.webp "Optimization parameters for Gr/Ni(111)") + ### 2.3. Run optimization Run all cells in the notebook. The optimization will: + 1. Calculate energy landscape across different positions 2. Find the global minimum energy position 3. Generate visualizations of the results -![Energy Landscape](/images/tutorials/materials/interfaces/graphene_ni_111/energy-landscape.webp "Energy landscape of film positions") +![Energy Landscape](/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/4-energy-landscape.webp "Energy landscape of film positions") + +![Energy Heatmap](/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/5-energy-heatmap.webp "Energy heatmap of film positions") ## 3. Analyze Results -After running both notebooks, examine the results: +Compare the original and optimized interface structures to see the difference in the graphene position. -### 3.1. Interface Structure -- Verify the interface distance is ~2.58 Å -- Check that the graphene layer is parallel to the Ni(111) surface -- Confirm the supercell size is reasonable +![Initial and optimized interface](/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/6-jl-result-preview-compare.webp "Initial and optimized interface structures") -### 3.2. Energy Landscape -The energy landscape shows: -1. Clear energy minima indicating preferred positions -2. Periodic pattern matching the hexagonal symmetry -3. Sharp peaks at unfavorable positions +![Final Interface](/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/7-wave-result-final.webp "Optimized Gr/Ni Interface") -### 3.3. Optimal Position -The optimized structure should show: -- Carbon atoms positioned over Ni atoms and hollow sites -- No significant distortion in the graphene layer -- Proper registry between graphene and Ni surface atoms ## 4. Save Optimized Structure @@ -133,7 +127,7 @@ The following JupyterLite notebook demonstrates the complete process. Select "Ru {% with origin_url=config.extra.jupyterlite.origin_url %} {% with notebooks_path_root=config.extra.jupyterlite.notebooks_path_root %} -{% with notebook_name='specific_examples/optimize-film-position-graphene-nickel-interface.ipynb' %} +{% with notebook_name='specific_examples/optimize_film_position_graphene_nickel_interface.ipynb' %} {% include 'jupyterlite_embed.html' %} {% endwith %} {% endwith %} From eed51c63ad339d15ef241679b02842b48f3254dc Mon Sep 17 00:00:00 2001 From: VsevolodX <79542055+VsevolodX@users.noreply.github.com> Date: Mon, 30 Dec 2024 21:17:57 -0800 Subject: [PATCH 4/6] update: add images --- .../0-figure-from-manuscript.webp | 3 +++ .../2-jl-setup-nb-interface.webp | 3 +++ .../3-jl-setup-nb-final.webp | 3 +++ .../4-energy-landscape.webp | 3 +++ .../5-energy-heatmap.webp | 3 +++ .../6-jl-result-preview-compare.webp | 3 +++ .../7-wave-result-final.webp | 3 +++ 7 files changed, 21 insertions(+) create mode 100644 images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/0-figure-from-manuscript.webp create mode 100644 images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/2-jl-setup-nb-interface.webp create mode 100644 images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/3-jl-setup-nb-final.webp create mode 100644 images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/4-energy-landscape.webp create mode 100644 images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/5-energy-heatmap.webp create mode 100644 images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/6-jl-result-preview-compare.webp create mode 100644 images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/7-wave-result-final.webp diff --git a/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/0-figure-from-manuscript.webp b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/0-figure-from-manuscript.webp new file mode 100644 index 00000000..f686df97 --- /dev/null +++ b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/0-figure-from-manuscript.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7ab2e954ed4bc4420c9a65d52809ae009de3376d7999461db34ee33ef0bb706 +size 52118 diff --git a/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/2-jl-setup-nb-interface.webp b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/2-jl-setup-nb-interface.webp new file mode 100644 index 00000000..4c29318b --- /dev/null +++ b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/2-jl-setup-nb-interface.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8146275fc1e37e5cf86510a9ecb69eb2f140948606ded498d9f97d20eefe55cc +size 70882 diff --git a/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/3-jl-setup-nb-final.webp b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/3-jl-setup-nb-final.webp new file mode 100644 index 00000000..9f3e2f74 --- /dev/null +++ b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/3-jl-setup-nb-final.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a5da6646fa85dbd1e2de17afe31e6029af290548ee0928f83eb0a500683195fe +size 64404 diff --git a/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/4-energy-landscape.webp b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/4-energy-landscape.webp new file mode 100644 index 00000000..e0c2fd8f --- /dev/null +++ b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/4-energy-landscape.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edd18fae610c7102fa6a74cbb85b2e363e94b62a21dd60cc34fa6a3c1b94badc +size 17786 diff --git a/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/5-energy-heatmap.webp b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/5-energy-heatmap.webp new file mode 100644 index 00000000..ab2d25cb --- /dev/null +++ b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/5-energy-heatmap.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c80cda4775a9aa548c4f90bd95c6c30f9179d501d4164b272630186dd773d43f +size 10156 diff --git a/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/6-jl-result-preview-compare.webp b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/6-jl-result-preview-compare.webp new file mode 100644 index 00000000..04157672 --- /dev/null +++ b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/6-jl-result-preview-compare.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3e278a8c1b7c7d13e36171e44d245ea1eefe388decbe9ae7a48d612f1ed33bf +size 32240 diff --git a/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/7-wave-result-final.webp b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/7-wave-result-final.webp new file mode 100644 index 00000000..81c48c27 --- /dev/null +++ b/images/tutorials/materials/optimization/optimize_film_position_graphene_nickel_interface/7-wave-result-final.webp @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:14cd4b3630bf03a18fe6f959ebb5cdffd55792eeaf07ef9246055ee10e9c2ade +size 8858 From 3b4c25713a0549198a6208e81ce8af7715d6e92c Mon Sep 17 00:00:00 2001 From: VsevolodX <79542055+VsevolodX@users.noreply.github.com> Date: Mon, 30 Dec 2024 21:19:35 -0800 Subject: [PATCH 5/6] update: add links --- .../optimize-film-position-graphene-nickel-interface.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md index a7fd4ada..7a4a6cd0 100644 --- a/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md +++ b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md @@ -151,9 +151,9 @@ To adjust the interface optimization: 1. Dahal, A., & Batzill, M. (2014). Graphene–nickel interfaces: a review. Nanoscale, 6(5), 2548-2562. [DOI: 10.1039/c3nr05279f](https://doi.org/10.1039/c3nr05279f) -2. Gamo, Y., Nagashima, A., Wakabayashi, M., Terai, M., & Oshima, C. (1997). Atomic structure of monolayer graphite formed on Ni(111). Surface Science, 374(1-3), 61-64. +2. Gamo, Y., Nagashima, A., Wakabayashi, M., Terai, M., & Oshima, C. (1997). Atomic structure of monolayer graphite formed on Ni(111). Surface Science, 374(1-3), 61-64. [DOI: 10.1016/S0039-6028(96)01307-3](https://www.sciencedirect.com/science/article/abs/pii/S0039602896007856) -3. Bertoni, G., Calmels, L., Altibelli, A., & Serin, V. (2004). First-principles calculation of the electronic structure and EELS spectra at the graphene/Ni(111) interface. Physical Review B, 71(7). +3. Bertoni, G., Calmels, L., Altibelli, A., & Serin, V. (2004). First-principles calculation of the electronic structure and EELS spectra at the graphene/Ni(111) interface. Physical Review B, 71(7). [DOI: 10.1103/PhysRevB.71.075402](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.71.075402) ## Tags From 2cda90957ba0e98ca6b590844fbbe3f55f9a31a9 Mon Sep 17 00:00:00 2001 From: VsevolodX Date: Tue, 31 Dec 2024 00:43:09 -0800 Subject: [PATCH 6/6] chore: rename to have gr/ni --- .../optimize-film-position-graphene-nickel-interface.md | 4 ++-- mkdocs.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md index 7a4a6cd0..7b7e4666 100644 --- a/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md +++ b/lang/en/docs/tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md @@ -79,7 +79,7 @@ Configure the optimization parameters: # Grid parameters GRID_SIZE = (20, 20) # Resolution of the x-y grid GRID_RANGE_X = (-0.5, 0.5) # Range in crystal coordinates -GRID_RANGE_Y = (-0.5, 0.5) +GRID_RANGE_Y = (-0.5, 0.5) USE_CARTESIAN = False # Use crystal coordinates # Visualization parameters @@ -157,4 +157,4 @@ To adjust the interface optimization: ## Tags -`graphene`, `nickel`, `interface`, `optimization`, `2D materials`, `surface science`, `Gr/Ni(111)`, `C`, `Ni` \ No newline at end of file +`graphene`, `nickel`, `interface`, `optimization`, `2D materials`, `surface science`, `Gr/Ni(111)`, `C`, `Ni` diff --git a/mkdocs.yml b/mkdocs.yml index 0f53805a..ec028a31 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -234,7 +234,7 @@ nav: - 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 - - Optimize graphene on Ni(111) interface: tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md + - Gr/Ni(111) Interface Optimization: tutorials/materials/specific/optimize-film-position-graphene-nickel-interface.md # COMMON UI COMPONENTS - Interface Components: - Overview: ui/overview.md