aiida_aimall.calculations#

CalcJob implementation for the aimqb executable of AIMAll.

Module Contents#

Classes#

AimqbCalculation

AiiDA calculation plugin wrapping the aimqb executable.

class aiida_aimall.calculations.AimqbCalculation(*args, **kwargs)[source]#

Bases: aiida.engine.CalcJob

AiiDA calculation plugin wrapping the aimqb executable.

parameters#

command line parameters for the AimqbCalculation

Type:

AimqbParameters

file#

the wfx, wfn, or fchk file to be run

Type:

aiida.orm.SinglefileData

code#

code of the AIMQB executable

Type:

aiida.orm.Code

attached_atom_int#

optional integer label of the atom that is attached to the rest of the molecule

Type:

aiida.orm.Int

group_atoms#

optional integer list of ids of atoms comprising the group for AimqbGroupParser

Type:

aiida.orm.List

Example

code = orm.load_code('aimall@localhost')
AimqbParameters = DataFactory("aimall.aimqb")
aim_params = AimqbParameters(parameter_dict={"naat": 2, "nproc": 2, "atlaprhocps": True})
file = SinglefileData("/absolute/path/to/file")
# Alternatively, if you have the file as a string, you can build the file with:
# file=SinglefileData(io.BytesIO(file_string.encode()))
AimqbCalculation = CalculationFactory("aimall.aimqb")
builder  = AimqbCalculation.get_builder()
builder.parameters = aim_params
builder.file = file
builder.code = code
builder.metadata.options.resources = {"num_machines": 1, "num_mpiprocs_per_machine": 2}
builder.submit()

Note

By default, the AimqbBaseParser is used, getting atomic, BCP, and (if applicable) LapRhoCps.

You can opt to use the AimqbGroupParser, which also returns the integrated group properties of a group, as well as the atomic graph descriptor of the group. In doing so, you can also define the atoms included in the group, which, by convention, defaults to all atoms except atom 2. You can further specify which atom of the group is the one bonded to the substrate, which defaults to atom 1. This is done by providing this to the builder:

builder.metadata.options.parser_name = "aimall.group"
builder.attached_atom_int = Int(1)
builder.group_atoms = List([1,3,4,5,6])
INPUT_FILE = 'aiida.wfx'[source]#
OUTPUT_FILE = 'aiida.out'[source]#
PARENT_FOLDER_NAME = 'parent_calc'[source]#
DEFAULT_PARSER = 'aimall.base'[source]#
classmethod define(spec)[source]#

Define inputs and outputs of the calculation

prepare_for_submission(folder)[source]#

Create input files.

Parameters:

folder – an aiida.common.folders.Folder where the plugin should temporarily place all files needed by the calculation.

Returns:

aiida.common.datastructures.CalcInfo instance