r2SCAN data for constructing Pourbaix diagram

Hi, I am wondering if it is now possible to construct Pourbaix diagram with r2SCAN data on Materials Project. In that case, should I pass MaterialsProjectDFTMixingScheme() as solid_compat to MaterialsProjectAqueousCompatibility to process all the entries including GGA/GGA+U/R2SCAN?

Hi @johan28, does this existing forum thread help?

I will take a look. Thank you!

I obtained different formation energies by using two different ways for mixing GGA/GGA+U with R2SCAN data.
For the method 1, I pulled the entries by specifying thermo_types as GGA_GGA+U_R2SCAN

entries = mpr.get_entries_in_chemsys(['Li','P','O'], additional_criteria= {"thermo_types": ["GGA_GGA+U_R2SCAN"]})
PD = PhaseDiagram(entries)
for entry in entries:
    if 'mp-2452-R2SCAN' in entry.entry_id:
        print(entry)
        print(PD.get_form_energy_per_atom(entry))

And here is the result of method 1,

mp-2452-R2SCAN ComputedStructureEntry - P4 O10       (P2O5)
Energy (Uncorrected)     = -125.6631 eV (-8.9759  eV/atom)
Correction               = 0.0000    eV (0.0000   eV/atom)
Energy (Final)           = -125.6631 eV (-8.9759  eV/atom)
Energy Adjustments:
  None
Parameters:
  potcar_spec            = [{'titel': 'PAW_PBE P 06Sep2000', 'hash': '5ab50b5cfa5df59737514bf74ec05fc5'}, {'titel': 'PAW_PBE O 08Apr2002', 'hash': '9bb4b91e6c47f70fd2bce603bd5d6832'}]
  is_hubbard             = False
  hubbards               = {}
  run_type               = R2SCAN
Data:
  oxide_type             = oxide
  aspherical             = True
  last_updated           = 2021-03-13 07:49:34.195000
  task_id                = mp-2021663
  material_id            = mp-2452
  oxidation_states       = {'P': 5.0, 'O': -2.0}
  run_type               = R2SCAN
-2.1463094865646255

In the method 2, I pulled the GGA/GGA+U and R2SCAN data separately, and mixed them using MaterialsProjectDFTMixingScheme()

entries_GGA = mpr.get_entries_in_chemsys(['Li','P','O'])
entries_R2SCAN = mpr.get_entries_in_chemsys(['Li','P','O'], additional_criteria= {"thermo_types": ["R2SCAN"]})
entries = MaterialsProjectDFTMixingScheme().process_entries(PO_entries_GGA+PO_entries_R2SCAN, verbose=False )

PD = PhaseDiagram(entries)
for entry in entries:
    if 'mp-2452-R2SCAN' in entry.entry_id:
        print(entry)
        print(PD.get_form_energy_per_atom(entry))

And here is the result of method 2,

mp-2452-R2SCAN ComputedStructureEntry - P4 O10       (P2O5)
Energy (Uncorrected)     = -125.6631 eV (-8.9759  eV/atom)
Correction               = 20.3863   eV (1.4562   eV/atom)
Energy (Final)           = -105.2769 eV (-7.5198  eV/atom)
Energy Adjustments:
  MP GGA(+U)/R2SCAN mixing adjustment: 20.3863   eV (1.4562   eV/atom)
Parameters:
  potcar_spec            = [{'titel': 'PAW_PBE P 06Sep2000', 'hash': '5ab50b5cfa5df59737514bf74ec05fc5'}, {'titel': 'PAW_PBE O 08Apr2002', 'hash': '9bb4b91e6c47f70fd2bce603bd5d6832'}]
  is_hubbard             = False
  hubbards               = {}
  run_type               = R2SCAN
Data:
  oxide_type             = oxide
  aspherical             = True
  last_updated           = 2021-03-13 07:49:34.195000
  task_id                = mp-2021663
  material_id            = mp-2452
  oxidation_states       = {'P': 5.0, 'O': -2.0}
  run_type               = R2SCAN
-2.435166281683673

It seems the first method gives the same formation energy as shown on the webpage (-2.146 eV/atom), while the mixing scheme (MP GGA(+U)/R2SCAN mixing adjustment) is only applied in the method 2.
Why would they give different results?

This difference is to the the changes made to the new mixing scheme which are summarized in the previous thread, as well as here: Phase Diagrams (PDs) - Materials Project Documentation

Essentially, the first bit of code is pulling entries with corrections computed within the “home” chemical system of the material, which cannot be used directly to construct the Li-P-O phase diagram.The thermo data shown on the website for a given material is always computed within the home system PD (e.g. Si-O for SiO2).

– Jason

I see. Now I understand what it means to be ‘home’ chemical system. Thank you so much!