aiida-vasp icon indicating copy to clipboard operation
aiida-vasp copied to clipboard

Code example for alternative ways of passing setting of a relaxation workchain

Open zhubonan opened this issue 3 years ago • 9 comments

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.

zhubonan avatar Jul 23 '21 10:07 zhubonan