I’m trying to construct a different type of phase diagrams which requires that I know the bulk formation energy in an aqueous environment. As such, I would want the Pourbaix formation energy (normalized per atom). I constructed the PourbaixDiagram object and found that there are a few quantities relating to formation energy.
There is the ‘pourbaix_diagram.get_decomposition_energy’ method which gets the energy above the Pourbaix hull.
And then there is the methods ingrained in the MultiEntry objects ‘multi_entry.energy_at_conditions’ which returns energy given a pH and applied potential. These entries are obtained from the PourbaixDiagram. Are these the Pourbaix formation energy? And if so, is it per atom?
Then there is ‘entry.normalized_energy_at_conditions’ which returns the aforementioned energy but normalized by non- O/H atoms. If I wanted to interpret the Pourbaix formation energy, do I just divide the non-normalized value by number of atoms?
Furthermore, some of the entries returned by the PourbaixDiagram class as mentioned are MultiEntry objects containing mixtures of solids or ions or both. Does the Pourbaix formation energy determined with that MultiEntry correspond to both items? If I were to create a PourbaixEntry of just a single material (no MultiEntry object), would it be incorrect to interpret the energy_at_conditions as its Pourbaix formation energy?
Lastly, is Pourbaix formation energy also a function of any of the metal chemical potentials? I am asking as I want to also interpret the formation energy as a function of the metal chemical potential if possible. I know there is a parameter called comp_dict in PourbaixDiagram that controls the non-O/H composition of the diagram but I wasn’t sure if this is the same as interpreting it as metal chemical potential. If it is, how do I translate the comp_dict as a chemical potential value? I am assuming that if I do this, the entries that the PourbaixDiagram object will return to me will interpret formation energy wrt that comp_dict correct? Asking because the get_energy_at_conditions method doesn’t have a parameter to control this.
Thanks for your help!