Evaluate Tight-Binding Models

workchainaiida_tbextraction.model_evaluation.ModelEvaluationBase

Base class for evaluating a tight-binding model. The workflow returns a cost measure, which should be minimized to get an optimal model.

Inputs:

  • code_tbmodels, Code, required – Code that runs the TBmodels CLI.
  • 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.
    • description, str, optional, non_db – Description to set on the process node.
    • label, str, optional, non_db – Label to set on the process node.
    • store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
  • reference_bands, BandsData, required – Bandstructure of the reference model.
  • reference_structure, StructureData, required – Reference for the crystal structure.
  • tb_model, SinglefileData, required – Tight-binding model to be evaluated, in TBmodels HDF5 format.

Outputs:

  • cost_value, Float, required

workchainaiida_tbextraction.model_evaluation.BandDifferenceModelEvaluation

Evaluates a tight-binding model by comparing its bandstructure to the reference bandstructure.

Inputs:

  • code_bands_inspect, Code, required – Code that runs the bands_inspect CLI.
  • code_tbmodels, Code, required – Code that runs the TBmodels CLI.
  • 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.
    • description, str, optional, non_db – Description to set on the process node.
    • label, str, optional, non_db – Label to set on the process node.
    • store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
  • reference_bands, BandsData, required – Bandstructure of the reference model.
  • reference_structure, StructureData, required – Reference for the crystal structure.
  • tb_model, SinglefileData, required – Tight-binding model to be evaluated, in TBmodels HDF5 format.

Outputs:

  • cost_value, Float, required
  • plot, SinglefileData, required – Plot comparing the reference and evaluated bandstructure.

Outline:

calculate_bands(Calculate the bandstructure of the given tight-binding model.)
calculate_difference_and_plot(Calculate the difference between the tight-binding and reference bandstructures, and plot them.)
finalize(Return outputs of the difference and plot calculations.)

workchainaiida_tbextraction.model_evaluation.CombinedEvaluation

WorkChain to combine multiple model evaluation methods.

Inputs:

  • code_tbmodels, Code, required – Code that runs the TBmodels CLI.
  • extra_inputs, Namespace – Extra inputs for each of the evaluation processes. The inputs for each process should be given in an input namespace with the same name as the given ‘label’.
  • labels, List, required – A list of labels for each of the process classes.
  • 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.
    • description, str, optional, non_db – Description to set on the process node.
    • label, str, optional, non_db – Label to set on the process node.
    • store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
  • process_classes, List, required – A list of process classes to be used for the individual evaluations. These can be given as a Python list of process classes, and will automatically be serialized for to an AiiDA List of strings.
  • reference_bands, BandsData, required – Bandstructure of the reference model.
  • reference_structure, StructureData, required – Reference for the crystal structure.
  • tb_model, SinglefileData, required – Tight-binding model to be evaluated, in TBmodels HDF5 format.
  • weights, List, required – A list of weights for combining the cost values.

Outputs:

  • cost_value, Float, required
  • extra_outputs, Namespace – Outputs generated by the individual evaluation processes.

Outline:

launch_evaluations(Launch the individual model evaluation processes.)
retrieve_evaluations(Retrieve the results of the individual model evaluations.)