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