@@ -145,7 +145,7 @@ class VaspInputSet(InputGenerator, abc.ABC):
145
145
atomic species are grouped together.
146
146
user_potcar_functional (str): Functional to use. Default (None) is to use the
147
147
functional in the config dictionary. Valid values: "PBE", "PBE_52",
148
- "PBE_54", "LDA", "LDA_52", "LDA_54", "PW91", "LDA_US", "PW91_US".
148
+ "PBE_54", "PBE_64", " LDA", "LDA_52", "LDA_54", "PW91", "LDA_US", "PW91_US".
149
149
force_gamma (bool): Force gamma centered kpoint generation. Default (False) is
150
150
to use the Automatic Density kpoint scheme, which will use the Gamma
151
151
centered generation scheme for hexagonal cells, and Monkhorst-Pack otherwise.
@@ -1281,7 +1281,7 @@ class MPScanRelaxSet(VaspInputSet):
1281
1281
1282
1282
2. Meta-GGA calculations require POTCAR files that include
1283
1283
information on the kinetic energy density of the core-electrons,
1284
- i.e. "PBE_52" or "PBE_54 ". Make sure the POTCARs include the
1284
+ i.e. "PBE_52", "PBE_54" or "PBE_64 ". Make sure the POTCARs include the
1285
1285
following lines (see VASP wiki for more details):
1286
1286
1287
1287
$ grep kinetic POTCAR
@@ -1322,7 +1322,7 @@ class MPScanRelaxSet(VaspInputSet):
1322
1322
user_potcar_functional : UserPotcarFunctional = "PBE_54"
1323
1323
auto_ismear : bool = True
1324
1324
CONFIG = _load_yaml_config ("MPSCANRelaxSet" )
1325
- _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" )
1325
+ _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" , "PBE_64" )
1326
1326
1327
1327
def __post_init__ (self ) -> None :
1328
1328
super ().__post_init__ ()
@@ -2295,13 +2295,13 @@ class MVLRelax52Set(VaspInputSet):
2295
2295
2296
2296
Args:
2297
2297
structure (Structure): input structure.
2298
- user_potcar_functional (str): choose from "PBE_52" and "PBE_54 ".
2298
+ user_potcar_functional (str): choose from "PBE_52", "PBE_54" and "PBE_64 ".
2299
2299
**kwargs: Other kwargs supported by VaspInputSet.
2300
2300
"""
2301
2301
2302
2302
user_potcar_functional : UserPotcarFunctional = "PBE_52"
2303
2303
CONFIG = _load_yaml_config ("MVLRelax52Set" )
2304
- _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" )
2304
+ _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" , "PBE_64" )
2305
2305
2306
2306
2307
2307
class MITNEBSet (VaspInputSet ):
@@ -2635,7 +2635,7 @@ class MVLScanRelaxSet(VaspInputSet):
2635
2635
2636
2636
2. Meta-GGA calculations require POTCAR files that include
2637
2637
information on the kinetic energy density of the core-electrons,
2638
- i.e. "PBE_52" or "PBE_54 ". Make sure the POTCAR including the
2638
+ i.e. "PBE_52", "PBE_54" or "PBE_64 ". Make sure the POTCAR including the
2639
2639
following lines (see VASP wiki for more details):
2640
2640
2641
2641
$ grep kinetic POTCAR
@@ -2652,13 +2652,13 @@ class MVLScanRelaxSet(VaspInputSet):
2652
2652
"""
2653
2653
2654
2654
user_potcar_functional : UserPotcarFunctional = "PBE_52"
2655
- _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" )
2655
+ _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" , "PBE_64" )
2656
2656
CONFIG = MPRelaxSet .CONFIG
2657
2657
2658
2658
def __post_init__ (self ) -> None :
2659
2659
super ().__post_init__ ()
2660
- if self .user_potcar_functional not in {"PBE_52" , "PBE_54" }:
2661
- raise ValueError ("SCAN calculations require PBE_52 or PBE_54 !" )
2660
+ if self .user_potcar_functional not in {"PBE_52" , "PBE_54" , "PBE_64" }:
2661
+ raise ValueError ("SCAN calculations require PBE_52, PBE_54, or PBE_64 !" )
2662
2662
2663
2663
@property
2664
2664
def incar_updates (self ) -> dict [str , Any ]:
@@ -2708,12 +2708,19 @@ class LobsterSet(VaspInputSet):
2708
2708
user_potcar_functional : UserPotcarFunctional = "PBE_54"
2709
2709
2710
2710
CONFIG = MPRelaxSet .CONFIG
2711
- _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" )
2711
+ _valid_potcars : Sequence [str ] | None = ("PBE_52" , "PBE_54" , "PBE_64" )
2712
2712
2713
2713
def __post_init__ (self ) -> None :
2714
2714
super ().__post_init__ ()
2715
2715
warnings .warn ("Make sure that all parameters are okay! This is a brand new implementation." )
2716
2716
2717
+ if self .user_potcar_functional in ["PBE_52" , "PBE_64" ]:
2718
+ warnings .warn (
2719
+ f"Using { self .user_potcar_functional } POTCARs with basis functions generated for PBE_54 POTCARs. "
2720
+ "Basis functions for elements with obsoleted, updated or newly added POTCARs in "
2721
+ f"{ self .user_potcar_functional } will not be available and may cause errors or inaccuracies." ,
2722
+ BadInputSetWarning ,
2723
+ )
2717
2724
if self .isym not in {- 1 , 0 }:
2718
2725
raise ValueError ("Lobster cannot digest WAVEFUNCTIONS with symmetry. isym must be -1 or 0" )
2719
2726
if self .ismear not in {- 5 , 0 }:
0 commit comments