pymatgen.analysis.interface_reactions module¶
-
class
InterfacialReactivity(c1, c2, pd, norm=1, include_no_mixing_energy=0, pd_non_grand=None)[source]¶ Bases:
objectA class for analyzing interfacial reactions and plotting reaction energy vs. mixing ratio between two reactants.
Initiates the class.
Parameters: - c2 (c1,) – Composition objects for reactants.
- pd – PhaseDiagram object or GrandPotentialPhaseDiagram object built from elements in c1 and c2.
- norm – Whether or not the total number of atoms in each reactant will be normalized to 1 for reaction energy calculations.
- include_no_mixing_energy – No_mixing_energy for a reactant is the opposite number of its energy above grand potential convex hull. In cases where reactions involve elements reservoir, this param determines whether no_mixing_energy of reactants will be included in the final reaction energy calculation. By definition, if pd is not a GrandPotentialPhaseDiagram object, this param is 0.
- pd_non_grand – PhaseDiagram object but not GrandPotentialPhaseDiagram object, built from elements in c1 and c2.
-
get_kinks()[source]¶ Finds all the kinks in mixing ratio where reaction products changes along the tie line of composition self.c1 and composition self.c2. :return: Zip object of tuples (index, mixing ratio, reaction energy, reaction).
-
get_no_mixing_energy()[source]¶ Returns the opposite number of energy above grand potential convex hull for both reactants. :return: [(reactant1, no_mixing_energy1),(reactant2,no_mixing_energy2)].
-
get_products()[source]¶ Returns all potential products in interfacial reactions. :return: List of product formulas. E.g., [‘Li’, ‘O2’,’Mn’].
-
labels()[source]¶ Returns a dictionary containing kink information: {index: ‘x= mixing_ratio energy= reaction_energy reaction_equation’}. :return: Dictionary object. E.g., {1: ‘x= 0.0 energy = 0.0 Mn -> Mn’, 2: ‘x= 0.5 energy = -15.0 O2 + Mn -> MnO2’, 3: ‘x= 1.0 energy = 0.0 O2 -> O2’}.