pymatgen.analysis.interfaces.coherent_interfaces module
This module provides classes to store, generate, and manipulate material interfaces.
- class CoherentInterfaceBuilder(substrate_structure: Structure, film_structure: Structure, film_miller: tuple[int, int, int], substrate_miller: tuple[int, int, int], zslgen: ZSLGenerator | None = None)[source]
Bases:
object
This class constructs the coherent interfaces between two crystalline slabs Coherency is defined by matching lattices not sub-planes.
- Parameters
substrate_structure – structure of substrate
film_structure – structure of film
film_miller – miller index of the film layer
substrate_miller – miller index for the substrate layer
zslgen – BiDirectionalZSL if you want custom lattice matching tolerances for coherency
- get_interfaces(termination: tuple[str, str], gap: float = 2.0, vacuum_over_film: float = 20.0, film_thickness: float | int = 1, substrate_thickness: float | int = 1, in_layers: bool = True) Iterator[Interface] [source]
Generates interface structures given the film and substrate structure as well as the desired terminations
- Parameters
terminations – termination from self.termination list
gap – gap between film and substrate
vacuum_over_film – vacuum over the top of the film
film_thickness – the film thickness
substrate_thickness – substrate thickness
in_layers – set the thickness in layer units