ワンクリックで
sandwich-structure-creation
Recipe for sandwich and multi-layer vdW heterostructures (e.g. metal | molecule | oxide, graphene/MoS2/GaAs).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Recipe for sandwich and multi-layer vdW heterostructures (e.g. metal | molecule | oxide, graphene/MoS2/GaAs).
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Build common bulk crystal structures (FCC/BCC/HCP/diamond/zincblende/...) using ASE.
Build a coherent lattice-matched interface between two bulk structures using the pymatgen ZSL algorithm.
Workflow, lattice-matching strategies, and pitfalls for building interfaces between two crystals/surfaces.
Strategies for searching, filtering, and downloading structures from the Materials Project (MP) database.
Workflow for building Metal-Organic Framework (MOF) structures (MOF-5, Cu-BTC, IRMOF series, custom).
Methods for building isolated molecules (ASE database, SMILES via RDKit, organometallics, endohedral cages, NEB pathways).
| name | sandwich-structure-creation |
| description | Recipe for sandwich and multi-layer vdW heterostructures (e.g. metal | molecule | oxide, graphene/MoS2/GaAs). |
| when_to_use | Use when stacking three or more layers, inserting a molecule between two substrates, or building vdW heterostructures. |
Design sandwich architecture
Create individual components
Build lattice-matched interface
Check supercell dimensions
Insert molecule into gap
For creating multi-layer van der Waals heterostructures (e.g., graphene/MoS2/GaAs):
Identify layer types
Build 2D material layers correctly
ase.build.graphene() function for perfect hexagonal rings
ase.build.mx2() function for 2H phase
Build 3D material layers
ase.build.surface() for thin surface slabsStack layers with proper vdW gaps
Validate heterostructure
from ase.build import graphene, mx2, surface
# Graphene - perfect hexagonal rings
gr = graphene(vacuum=10.0) # Add vacuum for 2D
# MoS2 2H phase - proper S-Mo-S trilayer
mos2 = mx2('MoS2', vacuum=10.0)
# Thin surface slab
gaas = surface('GaAs', (0,0,1), 4, vacuum=10.0)
| Pitfall | Symptom | Fix |
|---|---|---|
| PBC gaps from manual stacking | Gaps across periodic boundaries | Use build_interface tool for lattice matching |
| Cell too small for molecule | Molecule dimension exceeds cell dimension | Build supercell expansion before molecule insertion |
| Molecule overlaps with substrate | Atom positions overlap after insertion | Increase gap parameter and re-insert molecule |
| Broken graphene rings | Non-hexagonal ring structure | Use ase.build.graphene() instead of build_interface |
| Wrong MoS2 structure | Missing S-Mo-S trilayer | Use ase.build.mx2() for 2H phase |
| Bulk instead of thin slab | Excessive thickness for 3D layer | Use surface() with few layers, not bulk structure |
| Wrong layer ordering | Layers in incorrect sequence | Flip interface structure or manually stack |
| Close contacts | Atoms too close (< 1.5 Å) | Use ASE supercell with proper wrapping |
When build_interface struggles with dissimilar structures: