Faster Phonon Forcefield Workflow By Introducing Batch ASEMakers (especially relevant for remote execution)
Summary
This is an initial experimental code implementation for combining the phonon workflow in a single job when using forcefields. Its not very up to date with changes in over a year. Needs quite bit of modifications to make it work with updated API.
Will be adapted by @JaGeo further.
Similar to the "socket" implementation in FHI AIMs, I will implement an option that any ASEMaker can take more than 1 structure as an input. I will, therefore, adapt all output models and also include the optional "all_forces" entry in the output model.
This will significantly speed up the code execution of such workflows for large structures and certain calculators, as the calculator only needs to be set up once. Additionally, it will avoid that one has to run hundreds of very small jobs on a remote cluster.
There are still some more tests to perform and potentially fix. I would be happy to hear some additional opinions now. Especially also from you @esoteric-ephemera, as you have implemented many of the ASE-related functionalities. @janosh @utf
- [x] Fix tests
- [x] Fix linting
- [x] Find a test case where only one displacement (or different from 1) in the phonon workflow is created
- [ ] Fix overflow in bson document
The code snowballstemmer pushed a new release after 4!!! years. I am pinning the version for now.
@JaGeo will take a look soon!
@esoteric-ephemera It's mainly to make sure I am not breaking anything by accident.
@esoteric-ephemera could you Take a look and see if this would be fine for you? I think it relates to your other forcefield updates
@JaGeo and @naik-aakash going to resolve the merge conflicts and approve after I merge in #1036
Hey @JaGeo and @naik-aakash I like the idea of this, but in keeping with MP's general goal of stricter document schemas that define single data types, I might want to split out these changes to a separate document model (AseMultiDoc or something like that). Will think about how best to do that
Fine with me!