aiida_hubbard.workflows.hp.main#
Work chain to run a Quantum ESPRESSO hp.x calculation.
Module Contents#
Classes#
Work chain to run a Quantum ESPRESSO hp.x calculation. |
Functions#
|
Validate the top level namespace. |
Attributes#
- aiida_hubbard.workflows.hp.main.validate_inputs(inputs, _)[source]#
Validate the top level namespace.
- class aiida_hubbard.workflows.hp.main.HpWorkChain(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,aiida_quantumespresso.workflows.protocols.utils.ProtocolMixinWork chain to run a Quantum ESPRESSO hp.x calculation.
If the parallelize_atoms input is set to True, the calculation will be parallelized over the Hubbard atoms by running the HpParallelizeAtomsWorkChain. When parallelizing over atoms, if the parallelize_qpoints is True, each HpParallelizeAtomsWorkChain will be parallelized over its perturbations (q points) running the HpParallelizeQpointsWorkChain. Otherwise a single HpBaseWorkChain will be launched that will compute every Hubbard atom, and every q point in serial.
Important
q point parallelization is only possible when parallelization over atoms is performed.
- classmethod get_protocol_filepath()[source]#
Return
pathlib.Pathto the.yamlfile that defines the protocols.
- classmethod get_builder_from_protocol(code, protocol=None, parent_scf_folder=None, overrides=None, options=None, **_)[source]#
Return a builder prepopulated with inputs selected according to the chosen protocol.
- Parameters:
code – the
Codeinstance configured for thequantumespresso.hpplugin.protocol – protocol to use, if not specified, the default will be used.
parent_scf_folder – the parent
RemoteDataof the respective SCF calcualtion.overrides – optional dictionary of inputs to override the defaults of the protocol.
options – A dictionary of options that will be recursively set for the
metadata.optionsinput of all theCalcJobsthat are nested in this work chain.
- Returns:
a process builder instance with all inputs defined ready for launch.
- validate_qpoints()[source]#
Validate the inputs related to q-points.
Either an explicit KpointsData with given mesh/path, or a desired q-points distance should be specified. In the case of the latter, the KpointsData will be constructed for the input StructureData using the create_kpoints_from_distance calculation function.