3939
4040 from emmet .core .tasks import CoreTaskDoc
4141 from pymatgen .analysis .phase_diagram import PDEntry
42+ from pymatgen .entries .compatibility import Compatibility
4243 from pymatgen .entries .computed_entries import ComputedEntry
4344
4445
@@ -611,7 +612,11 @@ def get_entries(
611612 def get_pourbaix_entries (
612613 self ,
613614 chemsys : str | list [str ] | list [ComputedEntry | ComputedStructureEntry ],
614- solid_compat = "MaterialsProject2020Compatibility" ,
615+ solid_compat : Literal [
616+ "MaterialsProjectCompatibility" , "MaterialsProject2020Compatibility"
617+ ]
618+ | Compatibility
619+ | None = "MaterialsProject2020Compatibility" ,
615620 use_gibbs : Literal [300 ] | None = None ,
616621 ):
617622 """A helper function to get all entries necessary to generate
@@ -627,10 +632,12 @@ def get_pourbaix_entries(
627632 for adding extra calculation data to the Pourbaix Diagram.
628633 If this is set, the chemsys will be inferred from the entries.
629634 solid_compat: Compatibility scheme used to pre-process solid DFT energies prior
630- to applying aqueous energy adjustments. May be passed as a class (e.g.
631- MaterialsProject2020Compatibility) or an instance
632- (e.g., MaterialsProject2020Compatibility()). If None, solid DFT energies
633- are used as-is. Default: MaterialsProject2020Compatibility
635+ to applying aqueous energy adjustments.
636+ May be passed as a string (either "MaterialsProjectCompatibility"
637+ or "MaterialsProject2020Compatibility"), or as a class instance
638+ (e.g., MaterialsProject2020Compatibility()).
639+ If None, solid DFT energies are used as-is.
640+ Default: MaterialsProject2020Compatibility
634641 use_gibbs: Set to 300 (for 300 Kelvin) to use a machine learning model to
635642 estimate solid free energy from DFT energy (see GibbsComputedStructureEntry).
636643 This can slightly improve the accuracy of the Pourbaix diagram in some
@@ -673,12 +680,12 @@ def get_pourbaix_entries(
673680 solid_compat = MaterialsProjectCompatibility ()
674681 elif solid_compat == "MaterialsProject2020Compatibility" :
675682 solid_compat = MaterialsProject2020Compatibility ()
676- elif isinstance (solid_compat , Compatibility ):
683+ elif isinstance (solid_compat , Compatibility ) or solid_compat is None :
677684 pass
678685 else :
679686 raise ValueError (
680687 "Solid compatibility can only be 'MaterialsProjectCompatibility', "
681- "'MaterialsProject2020Compatibility', or an instance of a Compatibility class"
688+ "'MaterialsProject2020Compatibility', None, or an instance of a Compatibility class"
682689 )
683690
684691 pbx_entries = []
0 commit comments