Hi all,

I am currently writing a script to generate slab-heterostructure CIF files from the matches found by SubstrateAnalyzer. After running the module, I have successfully made slabs of the film & substrate materials for each match – as well as shifted the slabs so that they’ll form an interface when combined. But I now need make supercells from the given slabs in order to get the correct match and combine structures. Here, is where I am stuck. How would I take the surface vectors from the match to generate the correct supercell?

The documentation and source code (here) is unclear on the output values “film_vecs” vs. “film_sl_vecs”. I presume “sl” refers to the superlattice, but I’m unsure how to use these vectors to make a supercell. Do these vectors refer to the superlattice directly or are they transformation vectors? Further, would the .make_supercell() function be used here to convert from slab (or base structure?) into the correct supercell? (output vectors are also 2x3 surface matrix instead of 3x3 bulk matrix, which complicates transformation as well)

Any help would be appreciated! Or if there’s an easier route to generate the SubstrateAnalyzer interfaces as CIFs, let me know. I can send my current script if needed – the only current issue is specification of these vectors. I just need clarification on their meaning & how to apply them for supercell generation.