I am trying to construct Pourbaix Diagram for some 2-dimensional arbitrary structures. I have checked most references, but I could not understand what inputs are required for constructing Pourbaix diagrams. My main catalytic reaction is Oxygen Evolution, so I guess I have to just calculate the total energies of my structures bonded to OH and O (as intermediates), along with the total energy of my pristine structure. Are these values enough for constructing the Pourbaix diagram by Pymatgen? Are the potential energies of ions such as O, OH, and those related to my structure included in the Pymatgen database?; how can I check which data are already available in Pymatgen and which data are missing?
In addition, I could not find any handy tutorial on using Pymatgen to construct Pourbaix diagrams.
Which chemical system are you working in? Suppose you have an MoS2 structure. If that’s the case, you could use MPRester.get_pourbaix_entries(["Mo","S"]) to get all the necessary entries to make the Pourbaix diagram for the Mo-S chemical system. Then, you could make aPourbaixEntry` of your own structure and add it to the list of entries, making sure to give the formation energy rather than the DFT energy when you construct the entry.
The PourbaixDiagram code will use the ion reference data to determine the energies of aqueous ions, and then construct the diagram based on those energies and the energies of the corresponding solids.
It is also possible to add custom ions, but determining the right energies to use is a bit tricky.
I’m sure you’ve already done this, but you can try making a Pourbaix Diagram at materialsproject.org to see which materials are available in the database by default.
Thanks for the response and all efforts devoted to developing pymatgen and MaterialsProject; that’s exactly what I was looking for. I’ll just add the formation energies of my structures according to the script and construct the Pourbaix diagram.
I tried to add the formation energies of my structures, but I could not find how to do that. My structure is Nb2CF2, so I wrote entries = mpr.get_pourbaix_entries([“Nb”, “C”, “F”]) to get all values related to this system. Now, I need to add the formation energies of Nb2CF2, Nb2CF2O, and Nb2CF2OH to the list, but when I tried the PourbaixEntry, I could not do it. Can you please let me know how to add the formation energies to the list?
These lines are the problem. You have to create a separate PDEntry and PourbaixEntry for each new material you want to add.
In other words, the code block below should be repeated for all three of your new compositions. Also make sure that the formation energies passed to energy are the TOTAL formation energy of the composition in eV, not eV/atom.