Reference

Calculation classes

calcjobaiida_bands_inspect.calculations.difference.DifferenceCalculation

Calculation class for the ``bands-inspect difference`` command. Arguments ——— bands1 : aiida.orm.nodes.data.array.bands.BandsData First band structure to compare. bands2 : aiida.orm.nodes.data.array.bands.BandsData Second band structure to compare.

Inputs:

  • bands1, BandsData, required – First bandstructure which is to be compared
  • bands2, BandsData, required – Second bandstructure which is to be compared
  • code, Code, required – The Code to use for this job.
  • metadata, Namespace
    Namespace Ports
    • call_link_label, str, optional, non_db – The label to use for the CALL link if the process is called by another process.
    • computer, Computer, optional, non_db – When using a “local” code, set the computer on which the calculation should be run.
    • description, str, optional, non_db – Description to set on the process node.
    • dry_run, bool, optional, non_db – When set to True will prepare the calculation job for submission but not actually launch it.
    • label, str, optional, non_db – Label to set on the process node.
    • options, Namespace
      Namespace Ports
      • account, str, optional, non_db – Set the account to use in for the queue on the remote computer
      • append_text, str, optional, non_db – Set the calculation-specific append text, which is going to be appended in the scheduler-job script, just after the code execution
      • custom_scheduler_commands, str, optional, non_db – Set a (possibly multiline) string with the commands that the user wants to manually set for the scheduler. The difference of this option with respect to the prepend_text is the position in the scheduler submission file where such text is inserted: with this option, the string is inserted before any non-scheduler command
      • environment_variables, dict, optional, non_db – Set a dictionary of custom environment variables for this calculation
      • import_sys_environment, bool, optional, non_db – If set to true, the submission script will load the system environment variables
      • input_filename, str, optional, non_db – Filename to which the input for the code that is to be run will be written.
      • max_memory_kb, int, optional, non_db – Set the maximum memory (in KiloBytes) to be asked to the scheduler
      • max_wallclock_seconds, int, optional, non_db – Set the wallclock in seconds asked to the scheduler
      • mpirun_extra_params, (list, tuple), optional, non_db – Set the extra params to pass to the mpirun (or equivalent) command after the one provided in computer.mpirun_command. Example: mpirun -np 8 extra_params[0] extra_params[1] … exec.x
      • output_filename, str, optional, non_db – Filename to which the content of stdout of the code that is to be run will be written.
      • parser_name, str, optional, non_db
      • prepend_text, str, optional, non_db – Set the calculation-specific prepend text, which is going to be prepended in the scheduler-job script, just before the code execution
      • priority, str, optional, non_db – Set the priority of the job to be queued
      • qos, str, optional, non_db – Set the quality of service to use in for the queue on the remote computer
      • queue_name, str, optional, non_db – Set the name of the queue on the remote computer
      • resources, dict, required, non_db – Set the dictionary of resources to be used by the scheduler plugin, like the number of nodes, cpus etc. This dictionary is scheduler-plugin dependent. Look at the documentation of the scheduler for more details.
      • scheduler_stderr, str, optional, non_db – Filename to which the content of stderr of the scheduler will be written.
      • scheduler_stdout, str, optional, non_db – Filename to which the content of stdout of the scheduler will be written.
      • withmpi, bool, optional, non_db – Set the calculation to use mpi
    • store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.

Outputs:

  • difference, Float, required
  • remote_folder, RemoteData, required – Input files necessary to run the process will be stored in this folder node.
  • retrieved, FolderData, required – 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.

calcjobaiida_bands_inspect.calculations.plot.PlotCalculation

Calculation class for the ``bands_inspect plot`` command. Arguments ——— bands1 : aiida.orm.nodes.data.array.bands.BandsData First band structure to plot. bands2 : aiida.orm.nodes.data.array.bands.BandsData Second band structure to plot.

Inputs:

  • bands1, BandsData, required – First bandstructure which is to be plotted
  • bands2, BandsData, required – Second bandstructure which is to be plotted
  • code, Code, required – The Code to use for this job.
  • metadata, Namespace
    Namespace Ports
    • call_link_label, str, optional, non_db – The label to use for the CALL link if the process is called by another process.
    • computer, Computer, optional, non_db – When using a “local” code, set the computer on which the calculation should be run.
    • description, str, optional, non_db – Description to set on the process node.
    • dry_run, bool, optional, non_db – When set to True will prepare the calculation job for submission but not actually launch it.
    • label, str, optional, non_db – Label to set on the process node.
    • options, Namespace
      Namespace Ports
      • account, str, optional, non_db – Set the account to use in for the queue on the remote computer
      • append_text, str, optional, non_db – Set the calculation-specific append text, which is going to be appended in the scheduler-job script, just after the code execution
      • custom_scheduler_commands, str, optional, non_db – Set a (possibly multiline) string with the commands that the user wants to manually set for the scheduler. The difference of this option with respect to the prepend_text is the position in the scheduler submission file where such text is inserted: with this option, the string is inserted before any non-scheduler command
      • environment_variables, dict, optional, non_db – Set a dictionary of custom environment variables for this calculation
      • import_sys_environment, bool, optional, non_db – If set to true, the submission script will load the system environment variables
      • input_filename, str, optional, non_db – Filename to which the input for the code that is to be run will be written.
      • max_memory_kb, int, optional, non_db – Set the maximum memory (in KiloBytes) to be asked to the scheduler
      • max_wallclock_seconds, int, optional, non_db – Set the wallclock in seconds asked to the scheduler
      • mpirun_extra_params, (list, tuple), optional, non_db – Set the extra params to pass to the mpirun (or equivalent) command after the one provided in computer.mpirun_command. Example: mpirun -np 8 extra_params[0] extra_params[1] … exec.x
      • output_filename, str, optional, non_db – Filename to which the content of stdout of the code that is to be run will be written.
      • parser_name, str, optional, non_db
      • prepend_text, str, optional, non_db – Set the calculation-specific prepend text, which is going to be prepended in the scheduler-job script, just before the code execution
      • priority, str, optional, non_db – Set the priority of the job to be queued
      • qos, str, optional, non_db – Set the quality of service to use in for the queue on the remote computer
      • queue_name, str, optional, non_db – Set the name of the queue on the remote computer
      • resources, dict, required, non_db – Set the dictionary of resources to be used by the scheduler plugin, like the number of nodes, cpus etc. This dictionary is scheduler-plugin dependent. Look at the documentation of the scheduler for more details.
      • scheduler_stderr, str, optional, non_db – Filename to which the content of stderr of the scheduler will be written.
      • scheduler_stdout, str, optional, non_db – Filename to which the content of stdout of the scheduler will be written.
      • withmpi, bool, optional, non_db – Set the calculation to use mpi
    • store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.

Outputs:

  • plot, SinglefileData, required – The created band-structure comparison plot.
  • remote_folder, RemoteData, required – Input files necessary to run the process will be stored in this folder node.
  • retrieved, FolderData, required – 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.

Parser classes

class aiida_bands_inspect.parsers.bands.BandsParser(node)[source]

Parse bands_inspect eigenvals file to a BandsData object.

Returns

bands – Retrieved band structure.

Return type

aiida.orm.nodes.data.array.bands.BandsData

class aiida_bands_inspect.parsers.difference.DifferenceParser(node)[source]

Parse bands_inspect difference output to float.

Returns

difference – The calculated average difference.

Return type

aiida.orm.nodes.data.float.Float

class aiida_bands_inspect.parsers.plot.PlotParser(node)[source]

Parse bands-inspect plot_bands output to a ‘singlefile’ data.

Returns

plot – File containing the generated plot.

Return type

aiida.orm.nodes.data.singlefile.SinglefileData

Helper modules

aiida_bands_inspect.convert

Defines functions for converting AiiDA Data to and from bands-inspect format.

aiida_bands_inspect.convert.from_bands_inspect(data: Union[bands_inspect.kpoints._base.KpointsBase, bands_inspect.eigenvals.EigenvalsData]) → Union[aiida.orm.nodes.data.array.kpoints.KpointsData, aiida.orm.nodes.data.array.bands.BandsData][source]

Convert bands-inspect data instances into AiiDA data nodes.

aiida_bands_inspect.convert.to_bands_inspect(data: Union[aiida.orm.nodes.data.array.kpoints.KpointsData, aiida.orm.nodes.data.array.bands.BandsData]) → Union[bands_inspect.kpoints._base.KpointsBase, bands_inspect.eigenvals.EigenvalsData][source]

Convert AiiDA data nodes into bands-inspect data instances.

aiida_bands_inspect.io

Defines functions for reading and writing bands-inspect HDF5 files from / to AiiDA Data nodes.

aiida_bands_inspect.io.read(filename: str) → aiida.orm.nodes.data.data.Data[source]

Read a HDF5 file in bands_inspect format, and return a corresponding AiiDA Data instance.

Parameters

filename (str) – Path of the file to be read.

aiida_bands_inspect.io.write(data: aiida.orm.nodes.data.data.Data, filename: str) → None[source]

Write an AiiDA Data instance to a file in bands_inspect HDF5 format.

Parameters
  • data – The AiiDA data instance to be written.

  • filename – Path of the file being written to.