You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now, we have duplication of information between pymatgen and atomate2. With materialsproject/pymatgen#3484, there are no remaining blockers to using pymatgen sets in atomate2. At some point, atomate2 should make the switch to complete the transition.
While I won't be orchestrating the transition, I wanted to jot down a few scattered thoughts and potential "gotchas" when Atomate2 transitions to using Pymatgen input sets.
This is because the reciprocal_density_metal logic exists only within atomate2. When switching to the Pymatgen YAML, you'll likely need to account for this missing parameter.
Of note, the Pymatgen MPStaticSet class has a small_gap_multiply kwarg that can handle this.
k-points in static runs
In Pymatgen, the MPStaticSet has a reciprocal_density of 100, as shown here. This overrides the default value of 64 in the MPRelaxSet.yaml. However, in atomate2, the MPGGAStaticSetGenerator does not seem to change the default of 64 to 100. I'm not sure if I'm missing this somewhere, but that's a potential pre-existing incompatibility? [Now raised in https://github.com//issues/844].
r2SCAN workflow
YAMLs
As of materialsproject/pymatgen#3615, the r2SAN YAMLs should be the same in both Atomate2 and Pymatgen, so you should be able to do a clean swap without issues.
That said, the auto_ismear setting is set to True by default in MPScanRelaxSet in Pymatgen, whereas in atomate2 it is set to False by default.
Other comments
The LAECHG and LVTOT parameters are both set to True in the MPScanRelaxSet.yaml (same for the analogue in atomate2). This seems like something that should be False for relaxations and enabled to True for statics. In the past, I do know LAECHG = True was inaccurate for relaxations anyway, as noted by Tom Manz in his Chargemol documentation. I'm not sure if that was ever patched.
The text was updated successfully, but these errors were encountered:
Andrew-S-Rosen
changed the title
Thinking ahead to using Pymatgen YAMLs for input sets
Ensuring MP workflow compatibility when switching to Pymatgen YAMLs for input sets
Feb 17, 2024
Andrew-S-Rosen
changed the title
Ensuring MP workflow compatibility when switching to Pymatgen YAMLs for input sets
Ensuring MP workflow compatibility when switching to Pymatgen for input sets
Feb 17, 2024
Andrew-S-Rosen
changed the title
Ensuring MP workflow compatibility when switching to Pymatgen for input sets
Import MP input sets directly from Pymatgen
May 12, 2024
Right now, we have duplication of information between pymatgen and atomate2. With materialsproject/pymatgen#3484, there are no remaining blockers to using pymatgen sets in atomate2. At some point, atomate2 should make the switch to complete the transition.
While I won't be orchestrating the transition, I wanted to jot down a few scattered thoughts and potential "gotchas" when Atomate2 transitions to using Pymatgen input sets.
CC @esoteric-ephemera, @utf
GGA workflow
k-points for metals
The Pymatgen
MPRelaxSet.yaml
has the following:However, the atomate2
BaseMPGGASet.yaml
has the following:This is because the
reciprocal_density_metal
logic exists only within atomate2. When switching to the Pymatgen YAML, you'll likely need to account for this missing parameter.Of note, the Pymatgen
MPStaticSet
class has asmall_gap_multiply
kwarg that can handle this.k-points in static runs
In Pymatgen, the
MPStaticSet
has areciprocal_density
of 100, as shown here. This overrides the default value of 64 in theMPRelaxSet.yaml
. However, in atomate2, theMPGGAStaticSetGenerator
does not seem to change the default of 64 to 100. I'm not sure if I'm missing this somewhere, but that's a potential pre-existing incompatibility? [Now raised in https://github.com//issues/844].r2SCAN workflow
YAMLs
As of materialsproject/pymatgen#3615, the r2SAN YAMLs should be the same in both Atomate2 and Pymatgen, so you should be able to do a clean swap without issues.
That said, the
auto_ismear
setting is set toTrue
by default inMPScanRelaxSet
in Pymatgen, whereas in atomate2 it is set toFalse
by default.Other comments
The
LAECHG
andLVTOT
parameters are both set toTrue
in theMPScanRelaxSet.yaml
(same for the analogue in atomate2). This seems like something that should beFalse
for relaxations and enabled toTrue
for statics. In the past, I do knowLAECHG = True
was inaccurate for relaxations anyway, as noted by Tom Manz in his Chargemol documentation. I'm not sure if that was ever patched.The text was updated successfully, but these errors were encountered: