[WIP] Add NEB, ApproxNEB jobs / workflows
Adding NEB workflows and schemas for VASP / ASE / MLFF. This hopefully brings atomate2 to full parity with the feature set of atomate
@hmlli is leading the port of ApproxNEB flows for VASP
Very open to suggestions, particularly for document schema structure
Key updates:
- Generic NEB schemas (one for single-barrier/hop NEB, one for combined pathways)
- Different VASP run logic / makers / validators for NEB jobs
- Parsing of VASP output handled by new NebTaskDoc class in emmet
To-do:
- Better parsing of NEB outputs (collated into container doc with analysis of barrier)
- ASE NEB optimizer
- Subclass ASE NEB for MLFF
- Tests
Codecov Report
Attention: Patch coverage is 6.21019% with 589 lines in your changes missing coverage. Please review.
Project coverage is 4.21%. Comparing base (
4244da9) to head (3f1653e). Report is 9 commits behind head on main.
Additional details and impacted files
@@ Coverage Diff @@
## main #1007 +/- ##
==========================================
- Coverage 72.82% 4.21% -68.61%
==========================================
Files 187 197 +10
Lines 13637 14242 +605
Branches 1370 1455 +85
==========================================
- Hits 9931 601 -9330
- Misses 3161 13610 +10449
+ Partials 545 31 -514
| Files with missing lines | Coverage Δ | |
|---|---|---|
| src/atomate2/ase/md.py | 77.71% <100.00%> (+2.71%) |
:arrow_up: |
| src/atomate2/vasp/flows/electrode.py | 0.00% <0.00%> (-90.00%) |
:arrow_down: |
| src/atomate2/vasp/jobs/base.py | 0.00% <0.00%> (-77.78%) |
:arrow_down: |
| src/atomate2/common/schemas/neb.py | 73.68% <73.68%> (ø) |
|
| src/atomate2/vasp/sets/core.py | 0.00% <0.00%> (-82.07%) |
:arrow_down: |
| src/atomate2/utils/testing/vasp.py | 0.00% <0.00%> (-79.85%) |
:arrow_down: |
| src/atomate2/vasp/run.py | 0.00% <0.00%> (-39.35%) |
:arrow_down: |
| src/atomate2/common/jobs/neb.py | 0.00% <0.00%> (ø) |
|
| src/atomate2/vasp/sets/approx_neb.py | 0.00% <0.00%> (ø) |
|
| src/atomate2/forcefields/neb.py | 0.00% <0.00%> (ø) |
|
| ... and 7 more |
Hi @esoteric-ephemera,
Any news on this PR ? Is there anything left to be done or is it "just" (sometimes "just" is a lot of work) resolving conflicts and getting a review and merge by maintainers ?
Just requires a new emmet-core release, which I can try to get started this week. Will try to get this sync'ed up with main and keep it moving, thanks for the reminder!
Just requires a new emmet-core release, which I can try to get started this week. Will try to get this sync'ed up with main and keep it moving, thanks for the reminder!
Thanks! If there is anything in which you would need help, maybe we can dedicate some effort on our side.
@JaGeo should be ready to merge in. There are a few simple tests of the workflows in the PR. From more extensive tests (especially of the VASP Approx / NEB) in our group, these seem to be performant. Avoiding adding more for now since these are longer-running flows
Over time, we may want to modify the document schema a bit (I've already found at least one spot where metadata could be improved) but I would lean towards merging in since these are only additions
@davidwaroquiers I'll release a new version after merging
@gpetretto thanks for reviewing and testing!
Thanks @gpetretto! Have drafted up the ASE NEB from endpoints maker, still needs to be incorporated with the forcefields. I'll get back to this next week
@JaGeo should be ready to merge in. There are a few simple tests of the workflows in the PR. From more extensive tests (especially of the VASP Approx / NEB) in our group, these seem to be performant. Avoiding adding more for now since these are longer-running flows
Over time, we may want to modify the document schema a bit (I've already found at least one spot where metadata could be improved) but I would lean towards merging in since these are only additions
@davidwaroquiers I'll release a new version after merging
Hi @esoteric-ephemera
Thanks a lot for putting all of this together!
@gpetretto @JaGeo I think I've addressed all comments - any objections to merging?
Also @fraricci I've added the checks you suggested for NPTBerendsen, plus a test for correctly setting the MD kwargs
@JaGeo noticed I had some typos in the MACE + explicit D3 calculator, fixed those, added a better test, and am going to merge this PR
Sound good @esoteric-ephemera !