The usage of relative filepaths is not only fragile, as resolving them on different systems can fail or work differently, reducing the portability of the plugin, but in addition, it doesn't really help the provenance. Only recording the relative filename will not guarantee anything later which pseudo was used by looking at the input, because the filename can change over time. Other plugins all use the concept where a pseudo potential is represented by an individual Node (often a SinglefileData or a subclass thereof) which is passed directly as an input. To be able to provide multiple pseudos, the pseudos input is actually a namespace where the key references the kind name to which the pseudo should be applied. For example, a GeTe structure could have in the inputs the pseudos as follows:
The aiida-pseudo provides a lot functionality to make working with pseudos in this way a lot easier. It also provides ways to automatically define recommended cutoffs, which makes it easy to write automated input parameter generating protocols. If you let me know what kind of pseudos BigDFT can work with, we can see how to add support for aiida-pseudo in this plugin.
The usage of relative filepaths is not only fragile, as resolving them on different systems can fail or work differently, reducing the portability of the plugin, but in addition, it doesn't really help the provenance. Only recording the relative filename will not guarantee anything later which pseudo was used by looking at the input, because the filename can change over time. Other plugins all use the concept where a pseudo potential is represented by an individual
Node
(often aSinglefileData
or a subclass thereof) which is passed directly as an input. To be able to provide multiple pseudos, thepseudos
input is actually a namespace where the key references the kind name to which the pseudo should be applied. For example, aGeTe
structure could have in the inputs the pseudos as follows:The
aiida-pseudo
provides a lot functionality to make working with pseudos in this way a lot easier. It also provides ways to automatically define recommended cutoffs, which makes it easy to write automated input parameter generating protocols. If you let me know what kind of pseudos BigDFT can work with, we can see how to add support foraiida-pseudo
in this plugin.