Practical Guide · D1

Enumerate a Teaching Fixture of Lattice Matches and Registries

Enumerate bounded integer supercell candidates for an invented two-dimensional lattice pair, then keep registry as a separate variable.

Open candidate interfaces before choosing a match

Inspect both parent lattices and each shortlisted supercell in a viewer. Compare in-plane axes, strain partition, rotation, atom count, termination, registry, shortest contacts, thickness, and vacuum from top and side views. A human should reject geometrically nonsensical candidates before any expensive relaxation and should preserve an image or structure file for each retained match. Use visual and symmetry tools and specialist interface tools.

Optional enumeration exercise: the invented square-lattice records demonstrate bounded integer matching only. Use them after opening real parent cells; they contain no atoms, termination, registry, separation, or relaxed interface.

Run the bounded teaching enumeration:

python3 examples/practical-guides/interface_lattice_match.py

The command enumerates diagonal integer repetitions for two invented square lattices, sorts the retained pairs by its declared scalar mismatch, and adds three named fractional translations. It does not read material structures, execute the Zur—McGill method, or run DFT.

What this guide verifies

Enumerate candidates, not conclusions. The fixture output lists integer pairs, repeated lengths, mismatch, and registry labels. Its lattice constants and retained range are invented. Rotations, general integer matrices, terminations, strain partition, relaxation, electrostatics, and proof of completeness are deliberately absent, so no fixture value is a recommended mismatch threshold.

For a real interface, begin with accepted parent cells and record the orientation relationship. Use a systematic matcher such as the Zur—McGill construction or documented pymatgen interface tools, then preserve every transformation matrix, residual strain tensor, area, and applied strain allocation. Reject candidates that exceed the study’s physical or computational boundary; do not infer that the smallest scalar mismatch is the best interface.

For each retained cell, enumerate terminations and lateral translations as separate variables. Relax under one policy, inspect the final registry, deduplicate equivalent outcomes, and retain metastable contacts. A matched periodic cell is candidate geometry only; energy, stability, and convergence come from later calculations and ledgers.

Successful fixture execution verifies bounded enumeration, sorting, mismatch arithmetic, registry labels, and rendering. It does not validate a production matcher, identify a real commensurate interface, establish strain convergence, or find a stable registry.

Official sources

Ways to work: Python

Companion checked with: Python 3.12.

Reproducibility note

The companion material was checked with Python 3.12. It tests only the bounded software or analysis behaviour described here; it does not establish numerical convergence, model validity, or a material property.