aiida_yambo.workflows.yambowf#

Module Contents#

Classes#

YamboWorkflow

This workflow will perform yambo calculation on the top of scf+nscf or from scratch,

Functions#

clean(node)

sanity_check_QP(v, c, input_db, output_db[, create])

merge_QP(filenames_List, output_name, ywfl_pk, qp_settings)

extend_QP(filenames_List, output_name, ywfl_pk, ...)

QP_mapper(ywfl[, tol, full_bands, spectrum_tol])

QP_subset_groups(nnk_i, nnk_f, bb_i, bb_f, qp_per_subset)

QP_list_merger([l, qp_per_subset, consider_only])

Attributes#

LegacyUpfData

SingleFileData

aiida_yambo.workflows.yambowf.LegacyUpfData[source]#
aiida_yambo.workflows.yambowf.SingleFileData[source]#
aiida_yambo.workflows.yambowf.clean(node)[source]#
aiida_yambo.workflows.yambowf.sanity_check_QP(v, c, input_db, output_db, create=True)[source]#
aiida_yambo.workflows.yambowf.merge_QP(filenames_List, output_name, ywfl_pk, qp_settings)[source]#
aiida_yambo.workflows.yambowf.extend_QP(filenames_List, output_name, ywfl_pk, qp_settings, QP)[source]#
aiida_yambo.workflows.yambowf.QP_mapper(ywfl, tol=1, full_bands=False, spectrum_tol=1)[source]#
aiida_yambo.workflows.yambowf.QP_subset_groups(nnk_i, nnk_f, bb_i, bb_f, qp_per_subset)[source]#
aiida_yambo.workflows.yambowf.QP_list_merger(l=[], qp_per_subset=10, consider_only=[-1])[source]#
class aiida_yambo.workflows.yambowf.YamboWorkflow(inputs: dict | None = None, logger: logging.Logger | None = None, runner: aiida.engine.runners.Runner | None = None, enable_persistence: bool = True)[source]#

Bases: aiida_quantumespresso.workflows.protocols.utils.ProtocolMixin, aiida.engine.WorkChain

This workflow will perform yambo calculation on the top of scf+nscf or from scratch, using also the PwBaseWorkChain.

pw_exclude = ['parent_folder', 'pw.parameters', 'pw.pseudos', 'pw.code', 'pw.structure', 'kpoints'][source]#
classmethod define(spec)[source]#

Workfunction definition

classmethod get_protocol_filepath()[source]#

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

classmethod get_builder_from_protocol(pw_code, preprocessing_code, code, protocol_qe='moderate', protocol='moderate', calc_type='gw', structure=None, overrides={}, parent_folder=None, NLCC=False, RIM_v=False, RIM_W=False, electronic_type=ElectronicType.METAL, spin_type=SpinType.NONE, initial_magnetic_moments=None, pseudo_family=None, **_)[source]#

Return a builder prepopulated with inputs selected according to the chosen protocol. :return: a process builder instance with all inputs defined ready for launch.

validate_parameters()[source]#
start_workflow()[source]#

Initialize the workflow, set the parent calculation

This function sets the parent, and its type there is no submission done here, only setting up the neccessary inputs the workchain needs in the next steps to decide what are the subsequent steps

can_continue()[source]#

This function checks the status of the last calculation and determines what happens next, including a successful exit

perform_next()[source]#

This function will submit the next step, depending on the information provided in the context

The next step will be a yambo calculation if the provided inputs are a previous yambo/p2y run Will be a PW scf/nscf if the inputs do not provide the NSCF or previous yambo parent calculations

post_processing_needed()[source]#
run_post_process()[source]#
should_run_bse()[source]#
prepare_and_run_bse()[source]#
report_wf()[source]#