All plugins

aiida-dftbplus

AiiDA plugin for DFTB+ calculations

status alpha AiiDA >=2.5,<3

General information

Install pip install aiida-dftbplus
Python import import aiida_dftbplus
Latest version 0.1.2
Released 2026-08-15

Registry checks

All checks passed

Plugins provided

Calculations 1 Parsers 1 Data 1 Other 1

Entry points

CalcJobs and calculation functions aiida.calculations
  • dftbplus

    class: aiida_dftbplus.calculations:DftbPlusCalculation

    AiiDA calculation plugin wrapping the DFTB+ executable. Runs one DFTB+ calculation and retrieves all of its output files. The calculation is a single shot: it does not restart, retry, or repair anything. Building recovery on top of it is the job of a ``WorkChain``. The DFTB+ input can be given in either of two forms, and exactly one of them is required: ``parameters`` A nested dictionary mirroring the HSD block structure, serialised by :meth:`_dict_to_hsd`. Preferred, because every setting stays queryable in the database. ``dftb_input`` A ready-made ``dftb_in.hsd`` file, copied verbatim. Useful for inputs produced by another tool. Examples -------- Submit a single-point calculation with the Slater-Koster files already present on the target machine:: from aiida import engine, orm from aiida.plugins import CalculationFactory parameters = orm.Dict({ 'Geometry': {'GenFormat': {'_raw': open('geometry.gen').read()}}, 'Hamiltonian': {'DFTB': {'SCC': True, 'MaxSCCIterations': 100}}, 'Analysis': {'CalculateForces': True}, }) node = engine.submit( CalculationFactory('dftbplus'), code=orm.load_code('dftb+@localhost'), parameters=parameters, use_remote_skf_path=orm.Bool(True), ) See Also -------- aiida_dftbplus.parsers.DftbPlusParser : parses what this class retrieves.

    InputRequiredValid typesDescription
    code false AbstractCode, NoneType The `Code` to use for this job. This input is required, unless the `remote_folder` input is specified, which means an existing job is being imported and no code will actually be run.
    dftb_input false SinglefileData, NoneType A ready-made dftb_in.hsd file, copied verbatim. Used instead of 'parameters'. Exactly one of the two is required.
    fix_output_prefix false Bool If True, rewrite OutputPrefix = './' to OutputPrefix = 'geom.out'.
    mat_files false FolderData, NoneType FolderData containing all other files the run needs (geometry.gen, charges.bin, ...). Only set it when such files actually exist — an empty FolderData causes transport errors.
    metadata false
    monitors false Dict Add monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job.
    parameters false Dict, NoneType Structured DFTB+ input as a nested dict mirroring the HSD block structure. When present, dftb_in.hsd is generated from it via _dict_to_hsd(), so every setting is queryable in the database.
    remote_folder false RemoteData, NoneType Remote directory containing the results of an already completed calculation job without AiiDA. The inputs should be passed to the `CalcJob` as normal but instead of launching the actual job, the engine will recreate the input files and then proceed straight to the retrieve step where the files of this `RemoteData` will be retrieved as if it had been actually launched through AiiDA. If a parser is defined in the inputs, the results are parsed and attached as output nodes as usual.
    skf_files false FolderData, NoneType FolderData containing the Slater-Koster parameter files (.skf). Stored once in the database and reused across calculations. Omit when use_remote_skf_path is True.
    structure false Dict, NoneType Metadata dictionary kept for provenance. Recommended keys: formula (str), source_dir (str). Not used by DFTB+ itself.
    use_remote_skf_path false Bool If True, keep the absolute SKF path already written in the HSD and upload no SKF file — the remote machine must hold them at that path. Avoids shipping thousands of files with every job.
    OutputRequiredValid typesDescription
    remote_folder true RemoteData Input files necessary to run the process will be stored in this folder node.
    retrieved true FolderData Files that are retrieved by the daemon will be stored in this node. By default the stdout and stderr of the scheduler will be added, but one can add more by specifying them in `CalcInfo.retrieve_list`.
    output_parameters false Dict Scalars parsed from detailed.out: total_energy_H, total_energy_eV, fermi_energy_eV, scc_converged, n_scc_iterations, forces_eV_Ang and max_force_eV_Ang.
    remote_stash false RemoteStashData Contents of the `stash.source_list` option are stored in this remote folder after job completion.
    Exit statusMessage
    1 The process has failed with an unspecified error.
    2 The process failed with legacy failure mode.
    10 The process returned an invalid output.
    100 The process did not have the required `retrieved` output.
    110 The job ran out of memory.
    120 The job ran out of walltime.
    131 The specified account is invalid.
    140 The node running the job failed.
    150 {message}
    160 {message}
    300 dftb.out or detailed.out was not retrieved from the remote.
    310 DFTB+ reported a fatal ERROR in dftb.out.
    320 SCC self-consistency cycle did not converge.
    330 Geometry relaxation did not converge within MaxSteps.
verdi data commands aiida.cmdline.data
  • dftbplus

    aiida_dftbplus.cli:data_cli
Data node types aiida.data
  • dftbplus

    aiida_dftbplus.data:DftbParameters
CalcJob parsers aiida.parsers
  • dftbplus

    aiida_dftbplus.parsers:DftbPlusParser