aiida_sssp_workflow.workflows.legacy_convergence._base

Base legacy work chain

Module Contents

Classes

BaseLegacyWorkChain

Base legacy workchain

Attributes

UpfData

aiida_sssp_workflow.workflows.legacy_convergence._base.UpfData
class aiida_sssp_workflow.workflows.legacy_convergence._base.BaseLegacyWorkChain(inputs: Optional[dict] = None, logger: Optional[logging.Logger] = None, runner: Optional[aiida.engine.runners.Runner] = None, enable_persistence: bool = True)

Bases: aiida.engine.WorkChain

Base legacy workchain

__metaclass__
_MAX_WALLCLOCK_SECONDS
_ECUTWFC_LIST = [30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 90, 100, 120, 150]
classmethod define(cls, spec)

Define the specification of the process, including its inputs, outputs and known exit codes.

A metadata input namespace is defined, with optional ports that are not stored in the database.

_get_protocol(self)

Load and read protocol from faml file to a verbose dict

init_setup(self)

This step contains all preparation before actaul setup, e.g. set the context of element, base_structure, base pw_parameters and pseudos.

is_rare_earth_element(self)

Check if the element is rare earth

abstract extra_setup_for_rare_earth_element(self)

Extra setup for rare earth element

is_fluorine_element(self)

Check if the element is magnetic

abstract extra_setup_for_fluorine_element(self)

Extra setup for fluorine element

abstract setup_code_parameters_from_protocol(self)

Input validation

setup_code_resource_options(self)

setup resource options and parallelization for PwCalculation from inputs

abstract run_reference(self)

run on reference calculation

abstract run_samples(self)

run on all other evaluation sample points

abstract helper_compare_result_extract_fun(self, sample_node, reference_node, **kwargs) → dict

Must be implemented for specific convergence workflow to extrac the result Expected to return a dict of result.

Get the node of sample and reference as input. Extract the parameters for properties extract helper function.

abstract get_result_metadata(self)

define a dict of which is the metadata of the results, e.g. the unit of the properties return a list type

for example:

return {

‘absolute_unit’: ‘eV/atom’, ‘relative_unit’: ‘%’,

}

abstract results(self)

set results of sub-workflows to output ports

result_general_process(self, **kwargs) → dict

set results of sub-workflows to output ports

on_terminated(self)

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