Skip to content

♻️ workflows: align protocols with explicit ports and restart stages - #65

Merged
ymzhang0 merged 3 commits into
aiidaplugins:mainfrom
ymzhang0:fix/supercon/protocol
Aug 19, 2026
Merged

ymzhang0 merged 3 commits into
aiidaplugins:mainfrom
ymzhang0:fix/supercon/protocol

Conversation

@ymzhang0

@ymzhang0 ymzhang0 commented Jul 6, 2026 •

Copy link
Copy Markdown
Collaborator

Dependencies

This PR depends on #55 for explicit Eliashberg ports and #58 for RestartType.

Summary

  • Remove low-level EPW flags from protocol YAML when they are managed by CalcJob ports or workflow restart stages.
  • Configure SuperCon interpolation and final calculations through the orthogonal Eliashberg ports.
  • Manage Prep, SuperCon, and mobility restart stages explicitly with RestartType.
  • Preserve genuine user-facing protocol settings and direct CalcJob Wannierization semantics.
  • Keep physical solver choices separate from restart staging.

Scope

The duplicated #57/#60 parser history and the large Pade fixtures have been removed. This PR contains no CalculationType and does not move parse_transport_matrices. Parser support from #57 and #60 is a downstream integration dependency, not part of this protocol diff.

Validation

  • Full test suite: 130 passed, 2 skipped
  • Pre-commit checks: passed

@ymzhang0
ymzhang0 requested a review from LIU-Binbin July 6, 2026 16:02
@ymzhang0
ymzhang0 force-pushed the fix/supercon/protocol branch from 25857f3 to 76afabf Compare July 30, 2026 13:13
@ymzhang0 ymzhang0 changed the title ♻️ protocol: update for the newly structured work chains. ♻️ workflows: align protocols with explicit ports and restart stages Jul 30, 2026

@LIU-Binbin LIU-Binbin left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Yiming,
Is it necessary to define a new Restart type? For better integration to other Aiida plugins and easier maintenance, can we try to use Aiida native functionalities, eg the BaseRestartWorkChain, process handlers etc, to realize it?

@ymzhang0

ymzhang0 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator Author

Hi Binbin,
Yes we can choose to make the code simple by not defining a RestartType but directly manipulate the parameters dictionary.

I define the RestartType only to encapsulate the relevant parameters into groups so that it is less error-prone because these restart-related parameters are not independent and should always be set consistently.

There is also this kind of behavior in aiida-quantumespresso (see https://github.com/aiidateam/aiida-quantumespresso/blob/e90b9ad8d1a857421a1dcf742597bcb48a8ac991/src/aiida_quantumespresso/common/types.py#L36).

I think RestartWorkChain can not help with this case. It can only help us to restart the workchain without any modification of the parameters only in cases of system crashes.

In the error handling functions, yes we can deal with the parameters control. But as I said, defining a RestartType is only for controlling the parameters into independent groups. It should make the error handling functions more concise (hopefully so). It will not replace the error handling functions.

@ymzhang0
ymzhang0 force-pushed the fix/supercon/protocol branch from 323ce8d to b6245ef Compare August 18, 2026 11:33
@ymzhang0
ymzhang0 force-pushed the fix/supercon/protocol branch from b6245ef to c2f9103 Compare August 19, 2026 09:40
@ymzhang0
ymzhang0 merged commit 4d353b5 into aiidaplugins:main Aug 19, 2026
3 checks passed
@ymzhang0
ymzhang0 deleted the fix/supercon/protocol branch August 19, 2026 09:45
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

Successfully merging this pull request may close these issues.

2 participants