aiida_vasp.protocols#
Module for storing protocols for AiiDA VASP workflows.
Submodules#
Package Contents#
Classes#
Utility class for processes to build input mappings for a given protocol based on a YAML configuration file. |
API#
- class aiida_vasp.protocols.ProtocolMixin[source]#
Utility class for processes to build input mappings for a given protocol based on a YAML configuration file.
- static _split_protocol_file_name(name)[source]#
Split the protocol name into its components. For example, “balance@my_protocol” becomes (“balance”, “my_protocol”). This allow the protocol to be loaded from a user define file, e.g ~/.aiida_vasp/relax/my_protocol.yaml
- classmethod list_protocol_files(protocol_tag=None) list[tuple[str | None, str, pathlib.Path]][source]#
List avaliable protocols
- classmethod get_protocol_filepath(file_alias: str | None = None) pathlib.Path[source]#
Return the
pathlib.Pathto the.yamlfile that defines the protocols.
- classmethod get_default_protocol() str[source]#
Return the default protocol for a given workflow class.
- Parameters:
cls – the workflow class.
- Returns:
the default protocol.
- classmethod get_available_protocols(file_alias=None) dict[source]#
Return the available protocols for a given workflow class.
- Parameters:
cls – the workflow class.
- Returns:
dictionary of available protocols, where each key is a protocol and value is another dictionary that contains at least the key description and optionally other keys with supplementary information.
- classmethod get_protocol_inputs(protocol: str | None = None, overrides: dict | pathlib.Path | None = None) dict[source]#
Return the inputs for the given workflow class and protocol.
- Parameters:
cls – the workflow class.
protocol – optional specific protocol, if not specified, the default will be used. An ‘@’ symbol can be added to indicate which file to load the protocol from. For example, ‘balanced@phonon’ will load the protocol from ‘~/.aiida-vasp/cls._protocol_tag/phonon.yaml’
overrides – dictionary of inputs that should override those specified by the protocol. The mapping should maintain the exact same nesting structure as the input port namespace of the corresponding workflow class.
- Returns:
mapping of inputs to be used for the workflow class.