This merge commit introduces the long work on the protocol system.
Now, for each workchain distributed in these package, there is a inputs_generator attribute with the scope to suggest inputs to the users.
The inputs_generator has an attribute get_filled_builder that returns a builder that is ready to be submitted.
The get_filled_builder only requires in inputs few options, typically a structure (AiiDA StructureData), a dictionary with the computational resources and protocol, meaning a string summarizing a set of siesta inputs (available protocols are "stringent" and "standard" at the moment, but a system to define customized protocols is in place). Eventually, few more optional and mandatory inputs are required by some workchains.
The obtained builder can be modified before submission, maintaining full flexibility in selecting inputs.
This commit also gets rid of the BandsWorkChain that was carrying partial selection of inputs inside itself. It is substituted by the BandgapWorkChain (introduced in another commit) and his inputs_generator.
This merge commit introduces the long work on the protocol system. Now, for each workchain distributed in these package, there is a
inputs_generator
attribute with the scope to suggest inputs to the users. Theinputs_generator
has an attributeget_filled_builder
that returns abuilder
that is ready to be submitted. Theget_filled_builder
only requires in inputs few options, typically a structure (AiiDAStructureData
), a dictionary with the computational resources andprotocol
, meaning a string summarizing a set of siesta inputs (available protocols are "stringent" and "standard" at the moment, but a system to define customized protocols is in place). Eventually, few more optional and mandatory inputs are required by some workchains. The obtained builder can be modified before submission, maintaining full flexibility in selecting inputs.This commit also gets rid of the BandsWorkChain that was carrying partial selection of inputs inside itself. It is substituted by the BandgapWorkChain (introduced in another commit) and his inputs_generator.