Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0026 - Updating the MP parameter sets #26

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

esoteric-ephemera
Copy link

@esoteric-ephemera esoteric-ephemera commented May 3, 2024

status: proposed
date: 2024-05-08

Updating the MP parameter sets

Context and Problem Statement

The last systematic audits of parameters used in the Materials Project workflows occurred in 2011 for PBE, and in 2020-2021 for r2SCAN. Over those years, various parameters in those workflows have been updated as need arose.

This work aims to systematically update a few critical parameters used in the workflows that need updating: ISMEAR, LREAL, LMAXMIX, KSPACING, and POTCARs.

Link to relevant issue with early discussion..

This document is a summary of a longer document which includes, for each parameter recommendation, a background and motivation section which explains physically what a parameter controls. These sections can safely be skipped if one is already familiar with the parameter. The method and discussion sections present all required descriptions of how tests were conceived, executed, and interpreted.

At present, this longer document is a living document. After a community discussion and foundation vote, it will be frozen with a specific set of recommended parameter changes.

Decision Drivers

  • MP is a global leader in data reliability; periodically updating our computational parameters ensures consistent data quality.

Considered Options

Current data-driven recommendation

For INCAR settings:

  • ALGO = "NORMAL", as this is robust enough and "ALL" can be quite slow.

  • For relaxations in any solid, ISMEAR= 0 (Gaussian smearing) with
    smearing width (SIGMA) 0.05 eV

  • For statics in any solid, ISMEAR= -5 (unchanged from prior works)

  • LMAXMIX = 6 in all solids and for plain DFT without Hubbard $U$

  • LREAL = False always

  • Bringing the PBE workflow parameters (ENCUT, EDIFF, EDIFFG, etc.) in
    line with the r2SCAN workflow

For KPOINTS updates: Use $\Gamma$-centered meshes with the following
formula for KSPACING, based on bandgap

$$ \begin{aligned} \mathrm{KSPACING} &= \frac{1}{2} \left( \Delta k_\text{min} + \Delta k_\text{max} + (\Delta k_\text{max} - \Delta k_\text{min})\frac{\delta}{[1 + \delta^c]^{1/c}} \right), \\ \delta &= a(E_g - b), \\ \Delta k_\text{min} &= 0.2, \\ \Delta k_\text{max} &= 0.45, \\ a &= 0.9,\\ b &= 2.35,\\ c &= 8. \\ \end{aligned} $$

For POTCAR updates:

  • The current actinide series of POTCARs used by MP is inconsistent
    with all-electron data and must be updated.

  • Some issues are also noted for Ba and Xe

  • Recommendations for new POTCARs are given in Ref. 1,
    which results in GW-derived pseudopotentials being recommended for
    Ba and Xe. We have also benchmarked these for higher accuracy, and
    present them in Table 1{reference-type="ref"
    reference="tab:potcar_changes"}

  • Two sets of POTCAR updates are proposed: a minimal update of only 12 POTCARs, which yields essentially identical accuracy to the full set of 58-updated POTCARs

For Hubbard $U$ updates:

  • PBE $+U$ is demonstrably worse for describing formation enthalpies

  • An attempt to determine optimal $U$'s for PBE (and later r2SCAN)
    using experimental formation enthalpies for the whole $d$-block was
    unsuccessful

  • Fitting redox enthalpies may represent one path to expanding the
    $U$'s used by MP

We do not present data for PBE $+U$, as this may go into a separate
publication (this can be shared privately).

1 E. Bosoni et al. , Nature Rev. Phys. 6 , 45 (2024). DOI: 10.1038/s42254-023-00655-3

Alternatives

A few other alternatives are listed in the longer document.

Decision Outcome

N/A right now.

Implementation Plan

The updated parameters currently in this fork of atomate2, but will be migrated to a pymatgen PR pending a change in atomate2 to move input sets there. (Hence the ~)

  • [~] pymatgen: ...
  • [~] atomate2: ...
  • [N/A] emmet: ...
  • [N/A] crystal-toolkit: ...
  • [N/A] jobflow: ...
  • [N/A] maggma: ...

More Information

See the longer document for extensive validation of these recommendations by a large set of VASP calculations.

This work was prepared with valuable suggestions and contributions by (alphabetical): Matthew Horton, Patrick Huck, Anubhav Jain, Ryan Kingsbury, Matthew Kuner, Jason Munro, Kristin Persson, Janosh Riebesell, Andrew Rosen, and Ruoxi Yang.

@JaGeo
Copy link
Member

JaGeo commented May 6, 2024

@esoteric-ephemera will update the PR/document to also discuss the reasoning behind the +U parameters.

We voted on accepting the new default parameters for the first time. Everyone is invited to think further about the parameters and then raise issues until our next meeting where we hope to do the final vote on this PR.

@esoteric-ephemera
Copy link
Author

Hi all, updated the POTCAR test results. Crucial points:

  1. Minimizing the MAPEs in EOS properties would update 58 POTCARs that MP currently uses. Their replacements are taken from VASP's recommendations
  2. Updating only the 12 worst-performing POTCARs from MP yields essentially the same accuracy as both the optimal set and the VASP-recommended set

@esoteric-ephemera esoteric-ephemera changed the title 0016 - Updating the MP parameter sets 00xx - Updating the MP parameter sets May 8, 2024
@mkhorton
Copy link
Member

mkhorton commented May 8, 2024 via email

@esoteric-ephemera
Copy link
Author

@mkhorton: Yes it does, sorry I missed this. That might be better directed towards the VASP staff tho, as there's no description in that reference (Bosoni et al.) which describes how they were chosen

@Andrew-S-Rosen
Copy link
Member

Andrew-S-Rosen commented May 12, 2024

@esoteric-ephemera: I would like to make another recommendation -- that we remove ENAUG. As noted in the VASP manual, it is deprecated and also has no effect if PREC = "Accurate" (as is the case here).

Deprecated: ENAUG is considered as deprecated and should not be used anymore.

I think we can listen to our VASP overlords on this one. :)

@Andrew-S-Rosen
Copy link
Member

Do we also want to consider setting EFERMI = "MIDGAP" as recommended in the VASP manual. In practice, this should not impact us since we have a "smart" way of determining the Fermi level in pymatgen. This would, however, restrict the calculations to only run on VASP 6.4+ by default (perhaps not a bad thing?).

@JaGeo JaGeo changed the title 00xx - Updating the MP parameter sets 0026 - Updating the MP parameter sets Jul 1, 2024
@JaGeo
Copy link
Member

JaGeo commented Jul 1, 2024

We made the final vote on this decision. As soon as Aron updates the implementation strategy, this will get merged.

@mkhorton
Copy link
Member

@esoteric-ephemera a late suggestion, but can we set GGA_COMPAT to False? See here for discussion.

@Andrew-S-Rosen
Copy link
Member

What in the world... 😅😭

@esoteric-ephemera
Copy link
Author

esoteric-ephemera commented Oct 30, 2024

Hi @mkhorton and @Andrew-S-Rosen - sorry for the general silence on this. @BryantLi-BLI and I are working through recomputing all of MP with the new input sets. Was going to merge this as soon as we have a large enough space of materials to do sanity checks on (how much has the hull changed, are these too expensive, are any of the new pseudos unstable)

So for now, suggestions are still on time! Will take a look at this but don't expect much to change given that MP mostly runs ferromagnetic initialization on materials. (So if there are errors, they are probably internally consistent / cancel.)

Then again, there are always surprises...

@mkhorton
Copy link
Member

Excellent! I don't expect there to be much difference either way (certainly not to the degree that you would need to re-compute), but I do think it looks sensible to change this default for future calculations. For example, this might have downstream consequences for the MagneticOrderings workflow which inherits from MP standard settings. In this workflow the energy differences can be of the order of meV, and this might change the result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants