Skip to content

mpinterfaces.mat2d.pourbaix

ashtonmv edited this page Jul 4, 2017 · 2 revisions

Pourbaix diagrams will tell you whether or not a material is stable in water. If it is, it will tell you at what pH, voltage, and ion concentration it is stable. If it is not, it will tell you what it will probably dissolve into. Experimentalists love that kind of stuff, and we love experimentalists, so it's pretty cool that we can calculate Pourbaix diagrams from first-principles. The credit for this method mostly goes to Kristin Persson and her co-authors on this paper, which I highly recommend reading, especially if you use this module.

Plotting a Pourbaix diagram

For the most part, there is exactly one thing you should ever use this module for, and that's plotting a Pourbaix diagram for a material that has been relaxed with the input parameters used by mpinterfaces.mat2d.stability.startup.relax(). If you've used those same parameters, by which I mean the default POTCAR files, INCAR parameters, and KPOINT density, then plotting the Pourbaix diagram is easy:

import os

from mpinterfaces.mat2d.pourbaix.analysis import plot_pourbaix_diagram


os.chdir('MoS2')
plot_pourbaix_diagram(ion_concentration=1e-3)  # Just an example.
os.chdir('../')

and you should have a plot named MoS2_1e-3.pdf. ion_concentration is in Molar, and should generally be somewhere between 1e-8 and 1.

Pourbaix