pymatgen.analysis.interfaces.substrate_analyzer module
This module provides classes to identify optimal substrates for film growth
- class SubstrateAnalyzer(film_max_miller=1, substrate_max_miller=1, **kwargs)[source]
Bases:
ZSLGenerator
This class applies a set of search criteria to identify suitable substrates for film growth. It first uses a topoplogical search by Zur and McGill to identify matching super-lattices on various faces of the two materials. Additional criteria can then be used to identify the most suitable substrate. Currently, the only additional criteria is the elastic strain energy of the super-lattices
Initializes the substrate analyzer :param zslgen: Defaults to a ZSLGenerator with standard
tolerances, but can be fed one with custom tolerances
- Parameters:
film_max_miller (int) – maximum miller index to generate for film surfaces
substrate_max_miller (int) – maximum miller index to generate for substrate surfaces
- calculate(film, substrate, elasticity_tensor=None, film_millers=None, substrate_millers=None, ground_state_energy=0, lowest=False)[source]
Finds all topological matches for the substrate and calculates elastic strain energy and total energy for the film if elasticity tensor and ground state energy are provided:
- Parameters:
film (Structure) – conventional standard structure for the film
substrate (Structure) – conventional standard structure for the substrate
elasticity_tensor (ElasticTensor) – elasticity tensor for the film in the IEEE orientation
film_millers (array) – film facets to consider in search as defined by miller indices
substrate_millers (array) – substrate facets to consider in search as defined by miller indices
ground_state_energy (float) – ground state energy for the film
lowest (bool) – only consider lowest matching area for each surface
- generate_surface_vectors(film_millers, substrate_millers)[source]
Generates the film/substrate slab combinations for a set of given miller indices
- Parameters:
film_millers (array) – all miller indices to generate slabs for film
substrate_millers (array) – all miller indices to generate slabs for substrate
- class SubstrateMatch(film_sl_vectors: list, substrate_sl_vectors: list, film_vectors: list, substrate_vectors: list, film_transformation: list, substrate_transformation: list, film_miller: tuple[int, int, int], substrate_miller: tuple[int, int, int], strain: Strain, von_mises_strain: float, ground_state_energy: float, elastic_energy: float)[source]
Bases:
ZSLMatch
A substrate match building on the Zur and McGill algorithm. This match class includes the miller planes of the film and substrate the full strain tensor, the Von Mises strain, the ground state energy if provided, and the elastic energy