Moire Superlattice

SkillDev tools

A moire superlattice forms when two identical 2D layers are stacked with a relative twist angle. The resulting interference pattern creates a periodic supercell with properties that depend strongly on the twist angle.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Moire Superlattice skill

About this capability

Use when the user asks to create a moire pattern, twisted bilayer structure, magic angle graphene, or any twisted 2D heterostructure.

What this skill tells your AI

The instructions your AI receives, as published by hello-qm/catgo-lrg in server/catgo/workflow/skills/structure/moire/SKILL.md and read by ahel’s review.

Overview

A moire superlattice forms when two identical 2D layers are stacked with a relative twist angle. The resulting interference pattern creates a periodic supercell with properties that depend strongly on the twist angle.

Common applications:

  • Twisted bilayer graphene (TBG): magic-angle superconductivity (~1.1 deg)
  • Twisted TMDs: MoS2/MoS2, WSe2/WSe2 moire excitons
  • Flat-band engineering: correlated electron physics
  • Strain-engineered devices: tunable band gaps

MCP Tools

catgo_moire_search -- Find commensurate angles

{"tool": "catgo_moire_search", "arguments": {
  "structure": "<current viewer structure>",
  "max_angle": 30,
  "tolerance": 0.01
}}

Searches for twist angles that produce commensurate superlattices (exact periodic boundary conditions). Returns a list of angles with supercell sizes, atom counts, and lattice mismatch.

ParameterDescriptionDefault
structure2D monolayer structure (auto-fetched from viewer)(required)
max_angleMaximum twist angle to search (degrees)30
toleranceCommensurability tolerance0.01

catgo_moire_build -- Build the twisted bilayer

{"tool": "catgo_moire_build", "arguments": {
  "structure": "<current viewer structure>",
  "angle": 21.79,
  "interlayer_distance": 3.35
}}
ParameterDescriptionDefault
structure2D monolayer structure(required)
angleTwist angle in degrees (from search results)(required)
interlayer_distanceDistance between layers in Angstroms3.35

Router: /moire/search (POST), /moire/build (POST)

Complete Workflow: Twisted Bilayer Graphene

Step 1: Fetch graphene monolayer

{"tool": "catgo_fetch", "arguments": {
  "action": "crystal", "formula": "C", "source": "mc3d"
}}

Or load a graphene structure from file.

Step 2: Search for commensurate angles

{"tool": "catgo_moire_search", "arguments": {
  "max_angle": 10,
  "tolerance": 0.01
}}

The result lists angles sorted by supercell size. Small angles produce very large supercells (thousands of atoms).

Step 3: Build the moire structure

Pick an angle from the search results:

{"tool": "catgo_moire_build", "arguments": {
  "angle": 5.09,
  "interlayer_distance": 3.35
}}

Step 4: Verify

{"tool": "catgo_view", "arguments": {"action": "get_state"}}

Check: two layers visible, correct interlayer spacing, moire pattern in the xy plane.

Step 5: Relax (optional -- requires ML potential for large cells)

Magic-angle TBG (~1.1 deg) has ~11,000+ atoms. Use an MLP for relaxation:

{"tool": "catgo_workflow_engine", "arguments": {
  "action": "create", "params": {"name": "TBG moire relaxation"}
}}
{"tool": "catgo_workflow_engine", "arguments": {
  "action": "add_task", "params": {
    "workflow_id": "<wf_id>",
    "task_type": "geo_opt",
    "params": {"software": "mlp", "mlp_model": "mace",
               "system_name": "TBG-5.09deg"}
  }
}}

Angle Selection Guide

Angle (deg)Approx. Atoms (graphene)Notes
21.79~28Smallest commensurate, good for testing
13.17~76Small, DFT-feasible
9.43~148Moderate
5.09~508Large, MLP recommended
3.89~868Very large
1.08~11,164Magic angle, MLP or tight-binding only

Common Pitfalls

  1. Always start from a monolayer (single 2D layer). If you have a bulk structure, cut it down to one layer first.
  2. Small twist angles produce very large supercells. Check atom count from catgo_moire_search before building.
  3. The interlayer distance for graphene is ~3.35 A. For TMDs it is typically ~6.1-6.5 A (layer center to center). Use appropriate values.
  4. Only commensurate angles from the search results give exact periodic boundary conditions. Arbitrary angles require approximation and may have significant strain.
  5. DFT calculations on moire structures larger than ~200 atoms typically require ML potentials or tight-binding methods. Standard DFT is impractical for magic-angle TBG.
  6. Van der Waals corrections (DFT-D3, rVV10) are essential for accurate interlayer interactions.

Signals

GitHub stars
196
Forks
23
Last commit
Sep 2026

Others that do the same job

Advanced
Catalog kind
skill
Gateway key
moire-superlattice
Source
github.com/hello-qm/catgo-lrg