All plugins

aiida-wannierjl

AiiDA plugin wrapping Wannier.jl to manipulate Wannier functions from within AiiDA workflows

status alpha AiiDA >=2.7.1,<3

General information

Install pip install aiida-wannierjl
Python import import aiida_wannierjl
Latest version 0.1.0
Released 2026-08-26

Registry checks

All checks passed

Plugins provided

Calculations 3 Parsers 3

Entry points

CalcJobs and calculation functions aiida.calculations
  • wannierjl.check_neighbors

    class: aiida_wannierjl.calculations.check_neighbors:CheckNeighborsCalculation

    Check whether the default b-vectors contain the six cubic nearest neighbours. Wraps ``read_w90_with_chk`` + ``Wannier.has_cubic_neighbors``. Requires the full Wannier90 set: ``.win`` (explicit), ``.chk`` (via ``chk_file`` or the ``wannier90`` parent folder) and ``.amn``/``.mmn``/``.eig`` (via the matching ``*_file`` port or the ``pw2wannier90`` parent folder).

    InputRequiredValid typesDescription
    win_file true SinglefileData The Wannier90 ``.win`` input file (always provided explicitly).
    amn_file false SinglefileData, NoneType The Wannier90 ``.amn`` file (alternative to a ``parent_folders`` source).
    chk_file false SinglefileData, NoneType The Wannier90 ``.chk`` file (alternative to a ``parent_folders`` source).
    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.
    eig_file false SinglefileData, NoneType The Wannier90 ``.eig`` file (alternative to a ``parent_folders`` source).
    metadata false
    mmn_file false SinglefileData, NoneType The Wannier90 ``.mmn`` file (alternative to a ``parent_folders`` source).
    monitors false Dict Add monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job.
    parent_folders false Remote folders of preceding calculations from which Wannier90 files are symlinked.
    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.
    OutputRequiredValid typesDescription
    has_cubic_neighbors true Bool Whether the default b-vectors contain the six cubic nearest neighbours.
    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`.
    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.
    11 The process did not register a required 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 One or more expected output files are missing from the retrieved folder.
    301 The driver did not produce the results file `results.json`.
    310 The Julia driver script failed (see `julia.out`).
    320 The results file `results.json` is not valid or is missing expected keys.
  • wannierjl.generate_neighbors

    class: aiida_wannierjl.calculations.generate_neighbors:GenerateNeighborsCalculation

    Generate a ``cubic.nnkp`` file with the six cubic nearest-neighbour b-vectors. Wraps ``Wannier.write_nnkp_cubic``. Only the ``.win`` file is required.

    InputRequiredValid typesDescription
    win_file true SinglefileData The Wannier90 ``.win`` input file (always provided explicitly).
    amn_file false SinglefileData, NoneType The Wannier90 ``.amn`` file (alternative to a ``parent_folders`` source).
    chk_file false SinglefileData, NoneType The Wannier90 ``.chk`` file (alternative to a ``parent_folders`` source).
    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.
    eig_file false SinglefileData, NoneType The Wannier90 ``.eig`` file (alternative to a ``parent_folders`` source).
    metadata false
    mmn_file false SinglefileData, NoneType The Wannier90 ``.mmn`` file (alternative to a ``parent_folders`` source).
    monitors false Dict Add monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job.
    parent_folders false Remote folders of preceding calculations from which Wannier90 files are symlinked.
    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.
    OutputRequiredValid typesDescription
    nnkp_file true SinglefileData The generated ``cubic.nnkp`` file.
    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`.
    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.
    11 The process did not register a required 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 One or more expected output files are missing from the retrieved folder.
    301 The driver did not produce the results file `results.json`.
    303 The driver did not produce the expected `cubic.nnkp` file.
    310 The Julia driver script failed (see `julia.out`).
    320 The results file `results.json` is not valid or is missing expected keys.
  • wannierjl.split

    class: aiida_wannierjl.calculations.split:SplitCalculation

    Split a Wannier manifold into blocks using ``Wannier.Tools.mrwf``. Requires the full Wannier90 set (as :class:`~aiida_wannierjl.calculations.check_neighbors.CheckNeighborsCalculation`) plus a list of 1-based index ``groups``. An optional cubic ``.mmn`` (from ``cubic_mmn_file`` or the ``pw2wannier90_cubic`` parent folder) is passed to ``mrwf`` when the default b-vectors lack cubic neighbours.

    InputRequiredValid typesDescription
    indices true List Groups of 1-based Wannier function indices, e.g. ``[[1, 2], [3, 4]]``.
    win_file true SinglefileData The Wannier90 ``.win`` input file (always provided explicitly).
    amn_file false SinglefileData, NoneType The Wannier90 ``.amn`` file (alternative to a ``parent_folders`` source).
    chk_file false SinglefileData, NoneType The Wannier90 ``.chk`` file (alternative to a ``parent_folders`` source).
    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.
    cubic_mmn_file false SinglefileData, NoneType A cubic ``.mmn`` file (staged as ``cubic.mmn``). Mutually exclusive with ``parent_folders.pw2wannier90_cubic``.
    eig_file false SinglefileData, NoneType The Wannier90 ``.eig`` file (alternative to a ``parent_folders`` source).
    metadata false
    mmn_file false SinglefileData, NoneType The Wannier90 ``.mmn`` file (alternative to a ``parent_folders`` source).
    monitors false Dict Add monitoring functions that can inspect output files while the job is running and decide to prematurely terminate the job.
    outdirs false List, NoneType Output sub-directory names, one per group. Defaults to ``block_0 .. block_N``.
    parent_folders false Remote folders of preceding calculations from which Wannier90 files are symlinked.
    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.
    OutputRequiredValid typesDescription
    blocks true FolderData Per-block folder with ``<seedname>.{amn,eig,mmn}`` (the ``.win`` is excluded so the folder can be fed straight to wannier90's ``local_input_folder``).
    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`.
    u_matrices true SinglefileData Per-block ``<seedname>_split.amn`` (the split rotation matrix).
    win_files true SinglefileData Per-block ``<seedname>.win`` written by ``mrwf``.
    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.
    11 The process did not register a required 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 One or more expected output files are missing from the retrieved folder.
    301 The driver did not produce the results file `results.json`.
    310 The Julia driver script failed (see `julia.out`).
    320 The results file `results.json` is not valid or is missing expected keys.
CalcJob parsers aiida.parsers
  • wannierjl.check_neighbors

    aiida_wannierjl.parsers.check_neighbors:CheckNeighborsParser
  • wannierjl.generate_neighbors

    aiida_wannierjl.parsers.generate_neighbors:GenerateNeighborsParser
  • wannierjl.split

    aiida_wannierjl.parsers.split:SplitParser