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

Breaking: default Atomate2Settings.VASP_INHERIT_INCAR to False #594

Merged
merged 3 commits into from
Oct 28, 2023

Conversation

janosh
Copy link
Member

@janosh janosh commented Oct 27, 2023

This change disables VASP INCAR inheritance by default. By unanimous agreement in this morning's atomate2 maintainer meeting (with @utf, @computron, @Andrew-S-Rosen, myself and others present), no one objected and some people (myself included) voiced strong support in favor of not inheriting INCAR params between jobs in a flow by default.

Historical context

This feature was ported over when moving the pymatgen input sets into atomate2. It was not a deliberate design decision when starting atomate2.

Reason for disabling

This is a foot-gun just waiting to go off. The original intended benefit was (probably) to carry custodian fixes from one job to the next (esp. in a double relaxation) to avoid wasting compute and potentially reaching the threshold for number of fixes imposed by MaxCustodionErrorHandler by having to apply the same fixes to multiple jobs.

While it may make sense to inherit INCAR params in rare cases, it can also hurt a job's chances of succeeding. It should not be the default for all workflows. It breaks the principle of least surprise to the user. If they need it, they should choose it explicitly.

@janosh janosh added ux User experience breaking Breaking changes mp MP jobs/workflows vasp Vienna Ab initio Simulation Package labels Oct 27, 2023
@codecov
Copy link

codecov bot commented Oct 27, 2023

Codecov Report

Merging #594 (6b9780a) into main (d464012) will decrease coverage by 0.06%.
The diff coverage is n/a.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #594      +/-   ##
==========================================
- Coverage   75.57%   75.52%   -0.06%     
==========================================
  Files          83       83              
  Lines        6793     6787       -6     
  Branches     1001     1001              
==========================================
- Hits         5134     5126       -8     
- Misses       1348     1349       +1     
- Partials      311      312       +1     
Files Coverage Δ
src/atomate2/settings.py 100.00% <ø> (ø)
src/atomate2/vasp/jobs/matpes.py 86.66% <ø> (-1.57%) ⬇️
src/atomate2/vasp/sets/mp.py 91.17% <ø> (-0.93%) ⬇️

... and 1 file with indirect coverage changes

@janosh janosh merged commit 6f7c759 into main Oct 28, 2023
7 checks passed
@janosh janosh deleted the default-inherit-vasp-incar-false branch October 28, 2023 02:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking Breaking changes mp MP jobs/workflows ux User experience vasp Vienna Ab initio Simulation Package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant