aiida_sssp_workflow.workflows.evaluate._bands

WorkChain calculate the bands for certain pseudopotential

Module Contents

Classes

BandsWorkChain

WorkChain calculate the bands for certain pseudopotential

Functions

create_kpoints_from_distance(structure, distance, force_parity)

Generate a uniformly spaced kpoint mesh for a given structure.

Attributes

PwBandsWorkChain

UpfData

aiida_sssp_workflow.workflows.evaluate._bands.PwBandsWorkChain
aiida_sssp_workflow.workflows.evaluate._bands.UpfData
aiida_sssp_workflow.workflows.evaluate._bands.create_kpoints_from_distance(structure, distance, force_parity)

Generate a uniformly spaced kpoint mesh for a given structure. The spacing between kpoints in reciprocal space is guaranteed to be at least the defined distance. :param structure: the StructureData to which the mesh should apply :param distance: a Float with the desired distance between kpoints in reciprocal space :param force_parity: a Bool to specify whether the generated mesh should maintain parity :returns: a KpointsData with the generated mesh

class aiida_sssp_workflow.workflows.evaluate._bands.BandsWorkChain(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 calculate the bands for certain pseudopotential

_BANDS_SHIFT = 10.05
_SEEKPATH_DISTANCE = 0.1
classmethod define(cls, spec)

Define the process specification.

setup_base_parameters(self)

Input validation

validate_structure(self)

doc

setup_code_resource_options(self)

setup resource options and parallelization for PwCalculation from inputs

_get_base_bands_inputs(self)

get the inputs for raw band workflow

run_bands(self)

run bands calculation

not_enough_bands(self)

inspect and check if the number of bands enough for shift 10eV (_BANDS_SHIFT)

increase_nbands(self)

inspect the result of bands calculation.

should_run_bands_structure(self)

whether run band structure

run_band_structure(self)

run band structure calculation

inspect_band_structure(self)

inspect band structure

results(self)

result