Source code for aiida_quantumespresso.calculations.dos

# -*- coding: utf-8 -*-
"""`CalcJob` implementation for the dos.x code of Quantum ESPRESSO."""
from aiida import orm

from aiida_quantumespresso.calculations.namelists import NamelistsCalculation


[docs]class DosCalculation(NamelistsCalculation): """`CalcJob` implementation for the dos.x code of Quantum ESPRESSO."""
[docs] _DOS_FILENAME = 'aiida.dos'
[docs] _default_namelists = ['DOS']
[docs] _blocked_keywords = [ ('DOS', 'fildos', _DOS_FILENAME), ('DOS', 'outdir', NamelistsCalculation._OUTPUT_SUBFOLDER), ('DOS', 'prefix', NamelistsCalculation._PREFIX), ]
[docs] _internal_retrieve_list = [_DOS_FILENAME]
[docs] _default_parser = 'quantumespresso.dos'
@classmethod
[docs] def define(cls, spec): """Define the process specification.""" # yapf: disable super().define(spec) spec.input('parent_folder', valid_type=(orm.RemoteData, orm.FolderData), required=True) spec.output('output_parameters', valid_type=orm.Dict) spec.output('output_dos', valid_type=orm.XyData) spec.default_output_node = 'output_parameters' spec.exit_code(330, 'ERROR_READING_DOS_FILE', message='The dos file could not be read from the retrieved folder.')
# yapf: enable