Skip to content
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

Entry points should be assigned to "extractors" functions #268

Open
bosonie opened this issue Mar 10, 2022 · 0 comments
Open

Entry points should be assigned to "extractors" functions #268

bosonie opened this issue Mar 10, 2022 · 0 comments

Comments

@bosonie
Copy link
Collaborator

bosonie commented Mar 10, 2022

We started to introduce "extractors" functions that can extract from a run of a common workflow some quantities that are not explicit outputs of the common workflow.
For instance it is useful to create for every implementation of the CommonRelaxWorkChain a function that extracts the TS contribution to the energy.

An entry point should be assigned to these functions and:

  • we should distinguish between "extractors with common interface" (e.g. the one for the TS contribution should have a common interface) and those specific to a code (where they can decide whatever interface they want)
  • we could use common_workflows.relax.common_extractor.ts_energy.siesta for "commonly defined" extractors (the ts_energy part is the quantity to extract, the last part is points to a specific implementation) and common_workflows.relax.custom_extractor.something.siesta for a custom SIESTA property called "something".
  • alternatively we could invert the name of the code and property common_workflows.relax.common_extractor.siesta.ts_energy and common_workflows.relax.custom_extractor.siesta.something
  • we can then think to add some easy class property to do siesta_common_workchain_node.common_extractor.ts_energy() or siesta_common_workchain_node.custom_extractor.something() (or some similar tab-completable syntax) so one does not have to remember the long name.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant