aiida_hubbard.workflows.hp.parallelize_qpoints#

Work chain to launch a Quantum Espresso hp.x calculation parallelizing over the Hubbard atoms.

Module Contents#

Classes#

HpParallelizeQpointsWorkChain

Work chain to launch a Quantum Espresso hp.x calculation parallelizing over the q points on a single Hubbard atom.

Functions#

validate_inputs(inputs, _)

Validate the top level namespace.

Attributes#

aiida_hubbard.workflows.hp.parallelize_qpoints.PwCalculation[source]#
aiida_hubbard.workflows.hp.parallelize_qpoints.HpCalculation[source]#
aiida_hubbard.workflows.hp.parallelize_qpoints.HpBaseWorkChain[source]#
aiida_hubbard.workflows.hp.parallelize_qpoints.validate_inputs(inputs, _)[source]#

Validate the top level namespace.

class aiida_hubbard.workflows.hp.parallelize_qpoints.HpParallelizeQpointsWorkChain(inputs: dict | None = None, logger: logging.Logger | None = None, runner: aiida.engine.runners.Runner | None = None, enable_persistence: bool = True)[source]#

Bases: aiida.engine.WorkChain

Work chain to launch a Quantum Espresso hp.x calculation parallelizing over the q points on a single Hubbard atom.

classmethod define(spec)[source]#

Define the process specification.

run_init()[source]#

Run an initialization HpBaseWorkChain that will determine the number of perturbations (q points).

This information is parsed and can be used to determine exactly how many HpBaseWorkChains have to be launched in parallel.

inspect_init()[source]#

Inspect the initialization HpBaseWorkChain.

should_run_qpoints()[source]#

Return whether there are more q points to run.

run_qpoints()[source]#

Run a separate HpBaseWorkChain for each of the q points.

inspect_qpoints()[source]#

Inspect each parallel qpoint HpBaseWorkChain.

run_final()[source]#

Perform the final HpCalculation to collect the various components of the chi matrices.

inspect_final()[source]#

Inspect the final HpBaseWorkChain.

results()[source]#

Retrieve the results from the final matrix collection workchain.

on_terminated()[source]#

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