# pymatgen.analysis.interface_reactions module¶

class InterfacialReactivity(c1, c2, pd, norm=True, include_no_mixing_energy=False, pd_non_grand=None, use_hull_energy=False)[source]

Bases: object

An object encompassing all relevant data for interface reactions.

Parameters: c1 (Composition) – Composition object for reactant 1. c2 (Composition) – Composition object for reactant 2. pd (PhaseDiagram) – PhaseDiagram object or GrandPotentialPhaseDiagram object built from all elements in composition c1 and c2. norm (bool) – Whether or not the total number of atoms in composition of reactant will be normalized to 1. include_no_mixing_energy (bool) – 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 False. pd_non_grand (PhaseDiagram) – PhaseDiagram object but not GrandPotentialPhaseDiagram object built from elements in c1 and c2. use_hull_energy (bool) – Whether or not use the convex hull energy for a given composition for reaction energy calculation. If false, the energy of ground state structure will be used instead. Note that in case when ground state can not be found for a composition, convex hull energy will be used associated with a warning message.
EV_TO_KJ_PER_MOL = 96.4853
get_critical_original_kink_ratio()[source]

Returns a list of mixing ratio for each kink between ORIGINAL (instead of processed) reactant compositions. This is the same list as mixing ratio obtained from get_kinks method if self.norm = False.

Returns: A list of floats representing mixing ratios between original reactant compositions for each kink.
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.

Returns: Zip object of tuples (index, mixing ratio, reaction energy per atom in eV/atom, reaction formula, reaction energy per mol of reaction formula in kJ/mol).
get_no_mixing_energy()[source]

Generates the opposite number of energy above grand potential convex hull for both reactants.

Returns: [(reactant1, no_mixing_energy1),(reactant2,no_mixing_energy2)].
get_products()[source]

List of formulas of potential products. E.g., [‘Li’,’O2’,’Mn’].

labels()[source]

Returns a dictionary containing kink information: {index: ‘x= mixing_ratio energy= reaction_energy reaction_equation’}. 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’}.
minimum()[source]

Finds the minimum reaction energy E_min and corresponding mixing ratio x_min.

Returns: Tuple (x_min, E_min).
plot()[source]

Plots reaction energy as a function of mixing ratio x in self.c1 - self.c2 tie line using pylab.

Returns: Pylab object that plots reaction energy as a function of mixing ratio x.