Concatenate workchain #4780
Unanswered
greschd
asked this question in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hi all!
In the
aiida-optimize
plugin, I've found myself writing "wrapper" workchains that modify and join together existing workchains. The details of how they are modified is defined by inputs to the wrapper workchain.The latest iteration of these is the
ConcatenateWorkChain
that wraps an arbitrary number of consecutive processes, and can pass inputs between them. Here's what a simple input might look like:Conceptually, this is a different approach to programming workchains: Instead of using the
outline
and class methods directly to implement the behavior, it combined "pre-built" building blocks. The big advantage of this approach is that it can be dynamically modified, without needing to update the workchains the daemon knows about. The drawback is that we lose the complete programmability of regular workchains - we're limited to the building blocks that are already there.Overall, I've found this to be great for prototyping, one-off tasks, and replacing some of my simpler workchains.
I'm trying to gauge if there's more general interest in this approach, in which case it might make sense to spin this off into a separate plugin outside of
aiida-optimize
.Cheers!
Dominik
Beta Was this translation helpful? Give feedback.
All reactions