-
Notifications
You must be signed in to change notification settings - Fork 175
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
Atomate v2: consistent signature for Firework constructor arguments #290
Comments
My comments on constructor arguments are purely from improving ease of use for a beginner, and ease of teaching.
Regardless of these points, I'd like to see this enforced in a VaspFW base class so that it's easier to make common modifications after the fact. Right now we're in a very inconsistent state between different fireworks. |
Input set can be specific as a FULL string. We regularly write these as mylab.sets.MyOwnSet. It is already the way it is implemented in the MontyDecoder. These will allow people to write their own input set if they wish. Of course we can allow a default in which MPRelaxSet means the version in pymatgen.io.vasp.sets. |
I agree it would be nice not to have to set the structure at all for downstream Fireworks, this was a major pain in atomate v1. I was thinking that the default for structure could be None, and None would (i) throw an error if copy_prev was False or (ii) set to "CONTCAR" (or similar depending on the Firework) if copy_prev=True. There might be some odd reason for someone to want to explicitly specify a structure yet still use copy_prev=True. As a silly example, maybe they want to see the OUTCAR from the previous job to do some analysis and make a decision about something, but know that the structure they want to inject in advance (don't want to use the structure from that previous job). So I wouldn't necessarily throw an error if someone uses copy_prev=True and also gives a structure. |
I like all of these. |
Ok I think we have general agreement here, we will use this as a starting point for atomate v2. Thanks all for participating in the discussions! |
@computron I think with the new changes in atomate v2, VIS objects will not be necessary for us as long as full string import paths are supported. |
For atomate v2, our discussions indicate that we want a consistent signature for the initial few arguments of any Firework. Following this consistent signature, users can choose to add additional arguments as necessary.
The arguments to a Firework should be:
Following these parameters, the developer could add more arguments if desired. But the parameters above would always be present in all VASP atomate Fireworks and in a consistent order.
Thoughts / comments? This is an important decision.
The text was updated successfully, but these errors were encountered: