aiida-vasp
aiida-vasp copied to clipboard
Code example for alternative ways of passing setting of a relaxation workchain
This is a code example, not meant to be merged as it is.
Description
This is for continuing the discussion in #510. Perhaps a separate issue should be raised.
This PR serves as an example of an alternative way of passing the settings inputs for VaspRelaxWorkChain
. Which many other work chains would face the same problem. If there are many settings/flags to be passed for controlling the workflows, it is better to store them in a single Dict
node, rather than individual Node
inside a large PortNamespace
. The latter would create a lot more input nodes for the work chain, which is not space-efficient and would make submitting the work chain very slow.
There are some other functionalities that I implemented in this code example, such as bootstrapping a hybrid calculation, modify parameters for the final static run, and additional checks. But the main point is to discuss the design of the input interface.