aiida_quantumespresso.utils.protocols.pw#

Protocol definitions for workflow input generation.

Module Contents#

Classes#

ProtocolManager

A class to manage calculation protocols.

Functions#

_load_pseudo_metadata(filename)

Load from the current folder a json file containing metadata (incl.

_get_all_protocol_modifiers()

Return the information on all possibile modifiers for all known protocols.

Attributes#

MANAGER

aiida_quantumespresso.utils.protocols.pw._load_pseudo_metadata(filename)[source]#

Load from the current folder a json file containing metadata (incl.

suggested cutoffs) for a library of pseudopotentials.

aiida_quantumespresso.utils.protocols.pw._get_all_protocol_modifiers()[source]#

Return the information on all possibile modifiers for all known protocols.

It is a function so we can lazily load the jsons.

class aiida_quantumespresso.utils.protocols.pw.ProtocolManager(name)[source]#

A class to manage calculation protocols.

get_protocol_data(modifiers=None)[source]#

Return the full info on the specific protocol, using the (optional) modifiers.

Parameters:

modifiers – should be a dictionary with (optional) keys ‘parameters’ and ‘pseudo’, and whose value is the modifier name for that category. If the key-value pair is not specified, the default for the protocol will be used. In this case, if no default is specified, a ValueError is thrown.

Note

If you pass ‘custom’ as the modifier name for ‘pseudo’, then you have to pass an additional key, called ‘pseudo_data’, that will be used to populate the output.

get_parameters_modifier_names()[source]#

Get all valid parameters modifier names.

get_default_parameters_modifier_name()[source]#

Return the default parameter modifier name (or None if no default is specified).

get_parameters_data(modifier_name)[source]#

Given a parameter modifier name, return a dictionary of data associated to it.

get_pseudo_modifier_names()[source]#

Get all valid pseudopotential modifier names.

get_default_pseudo_modifier_name()[source]#

Return the default pseudopotential modifier name (or None if no default is specified).

get_pseudo_data(modifier_name)[source]#

Given a pseudo modifier name, return the pseudo_data associated to it.

check_pseudos(modifier_name=None, pseudo_data=None)[source]#

Given a pseudo modifier name, checks which pseudos exist in the DB.

Parameters:
  • modifier_name – the name of the modifier. Leave to None to use the default one.

  • pseudo_data – should be passed only if modifier_name == ‘custom’

Returns:

a dictionary with three keys:

  • missing: a set of element names that are not in the DB

  • found: a dictionary with key-value: {element_name: uuid} for the pseudos that were found

  • mismatch: a dictionary with key-value: {element_name: [list-of-elements-found]} for those pseudos for which one (or more) pseudos were found with the same MD5, but associated to different elements (listed in list-of-elements-found)

aiida_quantumespresso.utils.protocols.pw.MANAGER[source]#