-
Notifications
You must be signed in to change notification settings - Fork 32
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
Feature/relax code agn wc #261
base: master
Are you sure you want to change the base?
Commits on Feb 2, 2022
-
First implementation of a code agnostic relax workchain
The code agnostic relax workchain is a workchain wrapping a `<Code>CommonRelaxInputGenerator` and the corresponding `<Code>CommonRelaxWorkChain`. The implementation (<Code>) to be used is selected through the input `relax_sub_process_class`. The purpose of the workchain is twofolded: 1) Transform the inputs of `<Code>CommonRelaxInputGenerator.get_builder()` (the common interface among codes) into workchain inputs (therefore storable). This presents the challenge to change the valid type accepted by the interface from standard python types to Data types. 2) Implement a robust mechanism to handle "overrides", meaning the possibility for code experts to reset code dependent parameters that have been provided by the protocols.
Configuration menu - View commit details
-
Copy full SHA for abd635d - Browse repository at this point
Copy the full SHA abd635dView commit details -
Added an example to showcase the use of overrides.
Only for clarifying the interface! Code and plugin to use are hard coded!
Configuration menu - View commit details
-
Copy full SHA for c7bdf90 - Browse repository at this point
Copy the full SHA c7bdf90View commit details -
Improve the handling of the inputs and outputs:
1) The spec of the `CommonRelaxWorkChain` has been modified to prevent the call to the command exposing the inputs of the `_process_class` when this attribute is not yet defined. this fix the bug that was preventing the possibility to expose the outputs of `CommonRelaxWorkChain` into the `_relax.RelaxWorkChain` 2) Added the input `reference_workchain_remote_folder`. This is a workaround to the fact that the `WorkChainNodes` are not accepted as inputs of a workchain. We substitute it with the `reomote_folder` now returned by `CommonRelaxWorkChain`
Configuration menu - View commit details
-
Copy full SHA for 576cfd5 - Browse repository at this point
Copy the full SHA 576cfd5View commit details -
New interface for the overrides.
Now the overrides are specified as a list of dictionaries. Every dictionary must contain an "entrypoint" keyword and a "kwargs" keyword. A system of entry-points for overrides functions has been set up
Configuration menu - View commit details
-
Copy full SHA for 4aa8b98 - Browse repository at this point
Copy the full SHA 4aa8b98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7981904 - Browse repository at this point
Copy the full SHA 7981904View commit details -
Make the entire output port dynamic.
This guarantees to return any possible output of the implementation of the `CommonRelaxWorkChains`
Configuration menu - View commit details
-
Copy full SHA for 7d9487d - Browse repository at this point
Copy the full SHA 7d9487dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f0c696f - Browse repository at this point
Copy the full SHA f0c696fView commit details