aiida_sssp_workflow.workflows.bands_distance

Bands distance of many input pseudos

Module Contents

Classes

BandsDistanceWorkChain

WorkChain to do bands comparision of different pseudos

Functions

validate_input_pseudos(d_pseudos, _)

Validate that all input pseudos map to same element

Attributes

UpfData

aiida_sssp_workflow.workflows.bands_distance.UpfData
aiida_sssp_workflow.workflows.bands_distance.validate_input_pseudos(d_pseudos, _)

Validate that all input pseudos map to same element

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

Bases: aiida.engine.WorkChain

WorkChain to do bands comparision of different pseudos

_MAX_WALLCLOCK_SECONDS
_LARGE_DUAL_ELEMENTS = ['Fe', 'Hf']
_INIT_NBANDS_FACTOR = 3.0
_RY_TO_EV = 13.6056980659
classmethod define(cls, spec)

Define the process specification.

_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

extra_setup_for_rare_earth_element(self)

Extra setup for rare earth element

setup_code_parameters_from_protocol(self)

Input validation

setup_code_resource_options(self)

setup resource options and parallelization for PwCalculation from inputs

_get_inputs(self, element, pseudos)

get inputs for the bands evaluation with given pseudo

run_bands_evaluation(self)

run bands evaluation of pp in inputs list

calculate_bands_distance(self)

calculate bands distance of every pair of pp