Run First-Principles Calculations¶
Complete First-Principles Calculations¶
-
workchain
aiida_tbextraction.fp_run.
FirstPrinciplesRunBase
Base class for first-principles runs, calculation the reference bandstructure and Wannier90 inputs.
Inputs:
- kpoints, KpointsData, required – k-points on which the bandstructure is evaluated.
- kpoints_mesh, KpointsData, required – K-points mesh used when calculating the Wannier inputs.
- 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.
- structure, StructureData, required – Structure of the material.
- wannier_parameters, Dict, optional – Parameters of the Wannier calculation. This output needs to be set if the parameters are modified by the workchain in any way.
- wannier_projections, (OrbitalData, List), optional – Projections used in the Wannier90 calculation, given either as
OrbitalData
, or a list of strings corresponding to the lines in thewannier90.win
projections input block.
Outputs:
- bands, BandsData, required – The reference bandstructure.
- wannier_bands, BandsData, required – Bands parsed from the
.eig
file. - wannier_input_folder, FolderData, required – Folder containing the
.mmn
,.amn
and.eig
input files. - wannier_parameters, Dict, required – Parameters for the Wannier90 calculation.
- wannier_projections, List, optional
- wannier_settings, Dict, optional
-
workchain
aiida_tbextraction.fp_run.
QuantumEspressoFirstPrinciplesRun
Calculate Wannier90 inputs and reference bands with Quantum Espresso. Workflow for calculating the inputs needed for the tight-binding calculation and evaluation with Quantum Espresso. The workflow first performs an SCF step, and then passes uses the remote folder from that calculation as input for a bands calculation, and an NSCF + Wannier90 pre-processing + PW2WANNIER90 calculation for the Wannier90 inputs.
Inputs:
- bands, Namespace – Inputs passed to the workflow generating the reference band structure.
Namespace Ports
- 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.
- pw, Namespace
Namespace Ports
- code, Code, required – The Code to use for this job.
- hubbard_file, SinglefileData, optional – SinglefileData node containing the output Hubbard parameters from a HpCalculation
- 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
- 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
- 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
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- parameters, Dict, required – The input parameters that are to be used to construct the input file.
- parent_folder, RemoteData, optional – An optional working directory of a previously completed calculation to restart from.
- pseudos, Namespace – A mapping of UpfData nodes onto the kind name to which they should apply.
- settings, Dict, optional – Optional parameters to affect the way the calculation job and the parsing are performed.
- vdw_table, SinglefileData, optional – Optional van der Waals table contained in a SinglefileData.
- metadata, Namespace
- kpoints, KpointsData, required – kpoint mesh or kpoint path
- kpoints_mesh, KpointsData, required – K-points mesh used when calculating the Wannier inputs.
- 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.
- scf, Namespace
Namespace Ports
- code, Code, required – The Code to use for this job.
- hubbard_file, SinglefileData, optional – SinglefileData node containing the output Hubbard parameters from a HpCalculation
- 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
- 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
- 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
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- parameters, Dict, required – The input parameters that are to be used to construct the input file.
- parent_folder, RemoteData, optional – An optional working directory of a previously completed calculation to restart from.
- pseudos, Namespace – A mapping of UpfData nodes onto the kind name to which they should apply.
- settings, Dict, optional – Optional parameters to affect the way the calculation job and the parsing are performed.
- vdw_table, SinglefileData, optional – Optional van der Waals table contained in a SinglefileData.
- structure, StructureData, required – The input structure.
- to_wannier, Namespace – Inputs passed to the workflow generating the Wannier90 inputs.
Namespace Ports
- 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.
- nscf, Namespace
Namespace Ports
- code, Code, required – The Code to use for this job.
- hubbard_file, SinglefileData, optional – SinglefileData node containing the output Hubbard parameters from a HpCalculation
- 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
- 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
- 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
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- parameters, Dict, required – The input parameters that are to be used to construct the input file.
- parent_folder, RemoteData, optional – An optional working directory of a previously completed calculation to restart from.
- pseudos, Namespace – A mapping of UpfData nodes onto the kind name to which they should apply.
- settings, Dict, optional – Optional parameters to affect the way the calculation job and the parsing are performed.
- vdw_table, SinglefileData, optional – Optional van der Waals table contained in a SinglefileData.
- pw2wannier, Namespace
Namespace Ports
- 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
- 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
- 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
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- parameters, Dict, optional – Use a node that specifies the input parameters for the namelists
- settings, Dict, optional – Use an additional node for special settings
- wannier, Namespace
Namespace Ports
- code, Code, required – The Code to use for this job.
- kpoint_path, Dict, optional – Description of the kpoints-path to be used for bands interpolation; it should contain two properties: a list ‘path’ of length-2 tuples with the labels of the endpoints of the path; and a dictionary ‘point_coords’ giving the scaled coordinates for each high-symmetry endpoint
- local_input_folder, FolderData, optional – Get input files (.amn, .mmn, …) from a FolderData stored in the AiiDA repository
- 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.
- seedname, (str), optional, non_db
- withmpi, bool, optional, non_db
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- remote_input_folder, RemoteData, optional – Get input files (.amn, .mmn, …) from a RemoteData possibly stored in a remote computer
- settings, Dict, optional –
Additional settings to manage the Wannier90 calculation.
It can contain the following keys:
General options:
- random_projections: Enables using random projections if
or not enough projections are defined.
- postproc_setup: Use Wannier90 in ‘postproc_setup’ mode.
This affects which input and output files are expected.
File handling options:
- additional_remote_symlink_list: List of custom files to
link on the remote.
- additional_remote_copy_list: List of custom files to
copy from a source on the remote.
- additional_local_copy_list: List of custom files to copy
from a local source.
- additional_retrieve_list: List of additional filenames
to be retrieved.
- exclude_retrieve_list: List of filename patterns to
exclude from retrieving. Does not affect files listed in additional_retrieve_list.
- metadata, Namespace
- wannier_parameters, Dict, optional – Parameters of the Wannier calculation. This output needs to be set if the parameters are modified by the workchain in any way.
- wannier_projections, (OrbitalData, List), optional – Projections used in the Wannier90 calculation, given either as
OrbitalData
, or a list of strings corresponding to the lines in thewannier90.win
projections input block.
Outputs:
- bands, BandsData, required – The reference bandstructure.
- wannier_bands, BandsData, required – Bands parsed from the
.eig
file. - wannier_input_folder, FolderData, required – Folder containing the
.mmn
,.amn
and.eig
input files. - wannier_parameters, Dict, required – Parameters for the Wannier90 calculation.
- wannier_projections, List, optional
- wannier_settings, Dict, optional
Outline:
run_scf(Run the SCF calculation step.) run_bands_and_wannier(Run the reference bands and wannier input workflows.) finalize(Add outputs of the bandstructure and wannier input calculations.)
- bands, Namespace – Inputs passed to the workflow generating the reference band structure.
Reference Bands Workflows¶
-
workchain
aiida_tbextraction.fp_run.reference_bands.
ReferenceBandsBase
The base class for WorkChains which can be used to calculate the reference bandstructure. It defines the inputs required by these WorkChains.
Inputs:
- kpoints, KpointsData, required – k-points on which the bandstructure is evaluated.
- 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.
- structure, StructureData, required – Structure of the material.
Outputs:
- bands, BandsData, required – The reference bandstructure.
-
workchain
aiida_tbextraction.fp_run.reference_bands.
QuantumEspressoReferenceBands
The WorkChain to calculate reference bands with Quantum ESPRESSO.
Inputs:
- kpoints, KpointsData, required – kpoint mesh or kpoint path
- 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.
- pw, Namespace
Namespace Ports
- code, Code, required – The Code to use for this job.
- hubbard_file, SinglefileData, optional – SinglefileData node containing the output Hubbard parameters from a HpCalculation
- 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
- 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
- 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
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- parameters, Dict, required – The input parameters that are to be used to construct the input file.
- parent_folder, RemoteData, optional – An optional working directory of a previously completed calculation to restart from.
- pseudos, Namespace – A mapping of UpfData nodes onto the kind name to which they should apply.
- settings, Dict, optional – Optional parameters to affect the way the calculation job and the parsing are performed.
- vdw_table, SinglefileData, optional – Optional van der Waals table contained in a SinglefileData.
- structure, StructureData, required – The input structure.
Outputs:
- bands, BandsData, required – The reference bandstructure.
Outline:
run_calc(Run the QE calculation.) get_bands(Get the bands from the Quantum ESPRESSO calculation.)
Wannier90 Input Workflows¶
-
workchain
aiida_tbextraction.fp_run.wannier_input.
WannierInputBase
The base class for WorkChains which can be used to calculate the Wannier90 input files. It defines the inputs required by these WorkChains.
Inputs:
- kpoints_mesh, KpointsData, required – K-points mesh used when calculating the Wannier inputs.
- 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.
- structure, StructureData, required – Structure of the material.
- wannier_parameters, Dict, optional – Parameters of the Wannier calculation. This output needs to be set if the parameters are modified by the workchain in any way.
- wannier_projections, (OrbitalData, List), optional – Projections used in the Wannier90 calculation, given either as
OrbitalData
, or a list of strings corresponding to the lines in thewannier90.win
projections input block.
Outputs:
- wannier_bands, BandsData, required – Bands parsed from the
.eig
file. - wannier_input_folder, FolderData, required – Folder containing the
.mmn
,.amn
and.eig
input files. - wannier_parameters, Dict, required – Parameters for the Wannier90 calculation.
- wannier_projections, List, optional
- wannier_settings, Dict, optional
-
workchain
aiida_tbextraction.fp_run.wannier_input.
QuantumEspressoWannierInput
Calculates the Wannier90 input files using Quantum ESPRESSO / pw2wannier90.
Inputs:
- kpoints_mesh, KpointsData, required – K-points mesh used when calculating the Wannier inputs.
- 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.
- nscf, Namespace
Namespace Ports
- code, Code, required – The Code to use for this job.
- hubbard_file, SinglefileData, optional – SinglefileData node containing the output Hubbard parameters from a HpCalculation
- 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
- 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
- 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
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- parameters, Dict, required – The input parameters that are to be used to construct the input file.
- parent_folder, RemoteData, optional – An optional working directory of a previously completed calculation to restart from.
- pseudos, Namespace – A mapping of UpfData nodes onto the kind name to which they should apply.
- settings, Dict, optional – Optional parameters to affect the way the calculation job and the parsing are performed.
- vdw_table, SinglefileData, optional – Optional van der Waals table contained in a SinglefileData.
- pw2wannier, Namespace
Namespace Ports
- 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
- 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
- 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
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- parameters, Dict, optional – Use a node that specifies the input parameters for the namelists
- settings, Dict, optional – Use an additional node for special settings
- structure, StructureData, required – The input structure.
- wannier, Namespace
Namespace Ports
- code, Code, required – The Code to use for this job.
- kpoint_path, Dict, optional – Description of the kpoints-path to be used for bands interpolation; it should contain two properties: a list ‘path’ of length-2 tuples with the labels of the endpoints of the path; and a dictionary ‘point_coords’ giving the scaled coordinates for each high-symmetry endpoint
- local_input_folder, FolderData, optional – Get input files (.amn, .mmn, …) from a FolderData stored in the AiiDA repository
- 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.
- seedname, (str), optional, non_db
- withmpi, bool, optional, non_db
- store_provenance, bool, optional, non_db – If set to False provenance will not be stored in the database.
- remote_input_folder, RemoteData, optional – Get input files (.amn, .mmn, …) from a RemoteData possibly stored in a remote computer
- settings, Dict, optional –
Additional settings to manage the Wannier90 calculation.
It can contain the following keys:
General options:
- random_projections: Enables using random projections if
or not enough projections are defined.
- postproc_setup: Use Wannier90 in ‘postproc_setup’ mode.
This affects which input and output files are expected.
File handling options:
- additional_remote_symlink_list: List of custom files to
link on the remote.
- additional_remote_copy_list: List of custom files to
copy from a source on the remote.
- additional_local_copy_list: List of custom files to copy
from a local source.
- additional_retrieve_list: List of additional filenames
to be retrieved.
- exclude_retrieve_list: List of filename patterns to
exclude from retrieving. Does not affect files listed in additional_retrieve_list.
- wannier_parameters, Dict, optional – Parameters of the Wannier calculation. This output needs to be set if the parameters are modified by the workchain in any way.
- wannier_projections, (OrbitalData, List), optional – Projections used in the Wannier90 calculation, given either as
OrbitalData
, or a list of strings corresponding to the lines in thewannier90.win
projections input block.
Outputs:
- wannier_bands, BandsData, required – Bands parsed from the
.eig
file. - wannier_input_folder, FolderData, required – Folder containing the
.mmn
,.amn
and.eig
input files. - wannier_parameters, Dict, required – Parameters for the Wannier90 calculation.
- wannier_projections, List, optional
- wannier_settings, Dict, optional
Outline:
run_nscf(Run the NSCF and wannier90 -pp calculation.) run_wannier90_preproc(Run Wannier90 with the -pp option to create the nnkp file.) run_pw2wannier90(Run the pw2wannier90 calculation.) get_result(Get the pw2wannier90 result and create the necessary outputs.)