aiida_skeaf.workflows package#

Subpackages#

Module contents#

Workchain to run Wan2skeafCalculation and SkeafCalculation.

Automatically calculate frequencies for a wannier90 generated multi-band BXSF file.

class aiida_skeaf.workflows.SkeafWorkChain(*args: Any, **kwargs: Any)[source]#

Bases: ProtocolMixin, WorkChain

Workchain to run Wan2skeafCalculation and SkeafCalculation.

Given a wannier90 generated RemoteData containing a bxsf file, run skeaf on all the bands in the bxsf.

__abstractmethods__ = frozenset({})#
__module__ = 'aiida_skeaf.workflows'#
_abc_impl = <_abc_data object>#
classmethod define(spec) None[source]#

Define the process spec.

classmethod get_builder_from_protocol(codes: Dict[str, Code | str | int], *, bxsf: RemoteData, num_electrons: int, protocol: str | None = None, overrides: dict | None = None) ProcessBuilder[source]#

Return a builder prepopulated with inputs selected according to the chosen protocol.

Parameters:
Returns:

[description]

Return type:

aiida.engine.ProcessBuilder

classmethod get_protocol_filepath() Path[source]#

Return the pathlib.Path to the .yaml file that defines the protocols.

inspect_skeaf_many()[source]#

Verify that the SkeafCalculation successfully finished.

inspect_wan2skeaf()[source]#

Verify that the Wan2skeafCalculation successfully finished.

on_terminated()[source]#

Clean the working directories of all child calculations if clean_workdir=True in the inputs.

results()[source]#

Attach the relevant output nodes.

run_skeaf_many()[source]#

Run multiple SkeafCalculation for all bxsf RemoteData.

run_wan2skeaf()[source]#

Run the Wan2skeafCalculation.

setup() None[source]#

Create context variables.

aiida_skeaf.workflows.validate_inputs(inputs: AttributeDict, ctx=None) None[source]#

Validate the inputs of the entire input namespace.