aiida-common-workflows icon indicating copy to clipboard operation
aiida-common-workflows copied to clipboard

Feature/relax code agn wc

Open bosonie opened this issue 3 years ago • 1 comments

Introduces a code agnostic relaxation workchain. This implementation should be the central piece where to introduce overrides.

bosonie avatar Feb 02 '22 16:02 bosonie

@sphuber @giovannipizzi The implementation should be now concluded, with the caveats below:

  1. The issue https://github.com/aiidateam/aiida-core/issues/5342 explains the difficulty I had in implementing our idea to serialize the content of the overrides input. This input expects a list of dictionaries and it might be possible that a dictionary would contain a Node as value. Since nodes are not storable as elements of List or Dict, the serializer is used to convert the node into his uuid. This ideas works well if the user passer a list as overrides. However if a List is passed instead, the serialization is skipped (see issue linked). This must be fixed somehow, but let's discuss in the issue.
  2. For the moment I just implemented three generic overrides. The rest will come soon.
  3. The example I created is not very useful since, as it is, it works only in my environment. Some details must be changed inside to run in other cases. It is just there for your understanding. I will make it general in the future.
  4. I made dynamic the entire outputs namespace. So any possible output of a CommonRelaxWorkChain implementation is automatically returned.
  5. I still have to make the tests for the new workchain. I want a feedback from you first.

In conclusion, you can start to have a look, I will be happy to receive feedback, but not completely ready for merging yet.

bosonie avatar Feb 02 '22 18:02 bosonie