Source code for aiida_orca.calculations.orca_asa

# -*- coding: utf-8 -*-
"""AiiDA-ORCA plugin -- ASA Calculations"""

from aiida.orm import SinglefileData
from aiida.common import CalcInfo, CodeInfo
from aiida.engine import CalcJob


[docs]class OrcaAsaCalculation(CalcJob): """OrcaAsaCalculation is a subclass of CalcJob to run ORCA ASA calculation which gets the asa input file and generates the absorption and emission spectra. """ _INPUT_FILE = 'aiida.asa.inp' _OUTPUT_FILE = 'aiida.asa.out'
[docs] @classmethod def define(cls, spec): super(OrcaAsaCalculation, cls).define(spec) spec.input( 'input', valid_type=SinglefileData, required=True, help='ORCA asa input generated by main calculation' ) # Turn mpi off by default spec.input('metadata.options.withmpi', valid_type=bool, default=False) spec.output('output_file', valid_type=SinglefileData)
# pylint: disable = too-many-locals
[docs] def prepare_for_submission(self, folder): # create code info codeinfo = CodeInfo() codeinfo.code_uuid = self.inputs.code.uuid codeinfo.cmdline_params = [self._INPUT_FILE] # create calculation info calcinfo = CalcInfo() calcinfo.codes_info = [codeinfo] calcinfo.retrieve_list = [self._OUTPUT_FILE] return calcinfo