aiida_vasp.workchains.v2.common.builder_updater#

One liner input generator for aiida-vasp

Module Contents#

Classes#

VaspPresetConfig

Class to store the preset for VaspBuilderUpdater

BaseBuilderUpdater

Base class for builder updater

VaspBuilderUpdater

VaspNEBUpdater

VaspRelaxUpdater

An updater for VaspRelaxWorkChain

VaspConvUpdater

Update for VaspConvergenceWorkChain

VaspBandUpdater

Updater for VaspBandsWorkChain

VaspHybridBandUpdater

Updater for VaspHybridBandsWorkChain

Functions#

get_library_path

Get the path where the YAML files are stored within this package

is_specified

Check if there is anything specified under a PortNamespace

update_dict_node

Update a Dict node with the content Optionally update an item of the Dict node.

builder_to_dict

Convert a builder to a dictionary and unpack certain nodes.

Data#

API#

aiida_vasp.workchains.v2.common.builder_updater.DEFAULT_PRESET = 'VaspPreset'#
aiida_vasp.workchains.v2.common.builder_updater.DEFAULT_INPUTSET = 'UCLRelaxSet'#
aiida_vasp.workchains.v2.common.builder_updater.__all__ = ('VaspBandUpdater', 'VaspBuilderUpdater', 'VaspConvUpdater', 'VaspHybridBandUpdater', 'VaspNEBUpdate...#
aiida_vasp.workchains.v2.common.builder_updater.get_library_path()[source]#

Get the path where the YAML files are stored within this package

aiida_vasp.workchains.v2.common.builder_updater.OPTIONS_TEMPLATES = None#
class aiida_vasp.workchains.v2.common.builder_updater.VaspPresetConfig[source]#

Class to store the preset for VaspBuilderUpdater

name: str = None#
inputset: str = None#
default_code: str = None#
code_specific: dict = 'field(...)'#
default_options: dict = 'field(...)'#
default_settings: dict = 'field(...)'#
default_inputset_overrides: dict = 'field(...)'#
default_relax_settings: dict = 'field(...)'#
default_band_settings: dict = 'field(...)'#
classmethod from_file(fname)[source]#

Load from file

get_code_specific_options(code: str, namespace: str) dict[source]#

Return code specific options, if exists

class aiida_vasp.workchains.v2.common.builder_updater.BaseBuilderUpdater(preset_name: Union[None, str] = None, builder: Union[aiida.engine.processes.builder.ProcessBuilder, None] = None, verbose=False, set_name=None)[source]#

Base class for builder updater

Initialization

Instantiate a pipeline

property builder: aiida.engine.processes.builder.ProcessBuilder#

The builder to be used for launching the calculation

submit() aiida.orm.WorkChainNode[source]#

Submit the workflow to the daemon and return the workchain node

run_get_node(verbose=True) aiida.orm.WorkChainNode[source]#

Run the workflow with the current python process

_get_help(namespace: str, print_to_stdout=True, inout='inputs')[source]#

Return the help message for a given namespace The . syntax for the namespace is supported.

get_output_help(namespace: str, print_to_stdout=True)[source]#

Return the help message for a given namespace

get_input_help(namespace: str, print_to_stdout=True)[source]#

Return the help message for a given namespace

class aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater(preset_name: Optional[str] = None, builder: Optional[aiida.engine.processes.builder.ProcessBuilder] = None, root_namespace: Optional[str] = None, code: Optional[str] = None, verbose: bool = False, set_name: Optional[str] = None)[source]#

Bases: aiida_vasp.workchains.v2.common.builder_updater.BaseBuilderUpdater

WF_ENTRYPOINT = 'vasp.v2.vasp'#
DEFAULT_INPUTSET = None#
property reference_structure: aiida.orm.StructureData#

Reference structure used for setting kpoints and other stuff

clear() None[source]#

Clear the nodes set to the namespace

apply_preset(initial_structure, code=None, label=None, overrides=None) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#

Apply the preset

use_inputset(structure, set_name=None, overrides=None, apply_preset=False, code=None, structure_node_name='structure') aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
set_kspacing(kspacing: float) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
update_kspacing = None#
property parameters: Union[aiida.orm.Dict, None]#

Return the parameters node

property settings: Union[aiida.orm.Dict, None]#

Return the wrapped settings node

property options: Union[aiida.orm.Dict, None]#

Return the wrapped options node

set_code(code: Union[str, aiida.orm.Code, None] = None) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
update_code(code: Union[str, aiida.orm.Code])[source]#
set_incar(*args, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#

Update incar tags

update_incar(*args, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
set_options(*args, code: Optional[str] = None, apply_preset: bool = False, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
update_options(*args, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
set_kpoints_mesh(mesh: List[int], offset: List[float]) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#

Use mesh for kpoints

update_kpoints_mesh(mesh: List[int], offset: List[float]) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
set_settings(*args, code: Optional[str] = None, apply_preset: bool = False, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#

Update the settings

update_settings(*args, **kwargs)[source]#
set_label(label: Optional[str] = None) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#

Set the toplevel label, default to the label of the structure

update_label(label=None) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
set_resources(*args, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#

Update resources

update_resources(*args, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
_set_options(option_class, option_name: str, target_namespace: Union[aiida.engine.processes.builder.ProcessBuilder, aiida.engine.processes.builder.ProcessBuilderNamespace], **kwargs)[source]#
class aiida_vasp.workchains.v2.common.builder_updater.VaspNEBUpdater(preset_name: Optional[str] = None, builder: Optional[aiida.engine.processes.builder.ProcessBuilder] = None, root_namespace: Optional[str] = None, code: Optional[str] = None, verbose: bool = False, set_name: Optional[str] = None)[source]#

Bases: aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater

WF_ENTRYPOINT = 'vasp.neb'#
property reference_structure#

Return the reference structure

apply_preset(structure_init, structure_final, code=None, label=None, interpolate=True, nimages=5, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspNEBUpdater[source]#
use_inputset(initial_structure: aiida.orm.StructureData, set_name=None, overrides=None, apply_preset=False, code=None) aiida_vasp.workchains.v2.common.builder_updater.VaspNEBUpdater[source]#
set_label(label: Optional[str] = None) aiida_vasp.workchains.v2.common.builder_updater.VaspNEBUpdater[source]#

Set the toplevel label, default to the label of the structure

set_final_structure(final_structure: aiida.orm.StructureData) aiida_vasp.workchains.v2.common.builder_updater.VaspNEBUpdater[source]#
set_neb_images(images: Union[list, dict, aiida.common.extendeddicts.AttributeDict]) aiida_vasp.workchains.v2.common.builder_updater.VaspNEBUpdater[source]#

Set the NEB images

set_interpolated_images(nimages: int) aiida_vasp.workchains.v2.common.builder_updater.VaspNEBUpdater[source]#

Interpolate images and set as inputs structures

This requires the initial and final structure to be set already. This function also update the final image with PBC issue fixed.

view_images()[source]#

Visualize the images using ASE

class aiida_vasp.workchains.v2.common.builder_updater.VaspRelaxUpdater(preset_name: Optional[str] = None, builder: Optional[aiida.engine.processes.builder.ProcessBuilder] = None, override_vasp_namespace: Optional[aiida.engine.processes.builder.ProcessBuilderNamespace] = None, namespace_relax: Optional[aiida.engine.processes.builder.ProcessBuilderNamespace] = None, code: Optional[str] = None)[source]#

Bases: aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater

An updater for VaspRelaxWorkChain

Initialization

Initialise the update object.

Parameters:
  • builder – The ProcessBuilder or ProcessBuilderNamespace to be used for setting standared VaspWorkChain inputs.

  • root_namespace – The namespace to be assumed to be the root, e.g. where the input structure should be specified.

WF_ENTRYPOINT = 'vasp.v2.relax'#
apply_preset(structure: aiida.orm.StructureData, code: Optional[str] = None, label: Optional[str] = None, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspRelaxUpdater[source]#
set_relax_settings(**kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspRelaxUpdater[source]#

Set/update RelaxOptions controlling the operation of the workchain

update_relax_settings = None#
clear_relax_settings() aiida_vasp.workchains.v2.common.builder_updater.VaspRelaxUpdater[source]#

Reset any existing relax options

clear() aiida_vasp.workchains.v2.common.builder_updater.VaspRelaxUpdater[source]#
class aiida_vasp.workchains.v2.common.builder_updater.VaspConvUpdater(preset_name: Optional[str] = None, builder: Optional[aiida.engine.processes.builder.ProcessBuilder] = None, root_namespace: Optional[str] = None, code: Optional[str] = None, verbose: bool = False, set_name: Optional[str] = None)[source]#

Bases: aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater

Update for VaspConvergenceWorkChain

Initialization

Initialise the update object.

Parameters:
  • builder – The ProcessBuilder or ProcessBuilderNamespace to be used for setting standared VaspWorkChain inputs.

  • root_namespace – The namespace to be assumed to be the root, e.g. where the input structure should be specified.

WF_ENTRYPOINT = 'vasp.v2.converge'#
apply_preset(initial_structure, code=None, label=None, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater[source]#
set_conv_settings(**kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspConvUpdater[source]#

Use the supplied convergence settings

class aiida_vasp.workchains.v2.common.builder_updater.VaspBandUpdater(preset_name=None, builder=None, override_vasp_namespace=None, code=None)[source]#

Bases: aiida_vasp.workchains.v2.common.builder_updater.VaspBuilderUpdater

Updater for VaspBandsWorkChain

Initialization

Initialise the update object.

Parameters:
  • builder – The ProcessBuilder or ProcessBuilderNamespace to be used for setting standared VaspWorkChain inputs.

  • root_namespace – The namespace to be assumed to be the root, e.g. where the input structure should be specified.

WF_ENTRYPOINT = 'vasp.v2.bands'#
get_relax_updater()[source]#

Return the relax updater for this band structure calculation

The relax updater can be used to populate the .relax namespace which will trigger the relaxation of the structure.

apply_preset(structure: aiida.orm.StructureData, run_relax: bool = False, label=None, **kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBandUpdater[source]#
set_band_settings(**kwargs) aiida_vasp.workchains.v2.common.builder_updater.VaspBandUpdater[source]#
class aiida_vasp.workchains.v2.common.builder_updater.VaspHybridBandUpdater(preset_name=None, builder=None, override_vasp_namespace=None, code=None)[source]#

Bases: aiida_vasp.workchains.v2.common.builder_updater.VaspBandUpdater

Updater for VaspHybridBandsWorkChain

Initialization

Initialise the update object.

Parameters:
  • builder – The ProcessBuilder or ProcessBuilderNamespace to be used for setting standared VaspWorkChain inputs.

  • root_namespace – The namespace to be assumed to be the root, e.g. where the input structure should be specified.

WF_ENTRYPOINT = 'vasp.v2.hybrid_bands'#
aiida_vasp.workchains.v2.common.builder_updater.is_specified(port_namespace: aiida.engine.processes.builder.ProcessBuilderNamespace) bool[source]#

Check if there is anything specified under a PortNamespace

aiida_vasp.workchains.v2.common.builder_updater.update_dict_node(node: aiida.orm.Dict, content: dict, namespace: Optional[str] = None, reuse_if_possible: bool = True) aiida.orm.Dict[source]#

Update a Dict node with the content Optionally update an item of the Dict node.

aiida_vasp.workchains.v2.common.builder_updater.builder_to_dict(builder: aiida.engine.processes.builder.ProcessBuilder, unpack: bool = True) dict[source]#

Convert a builder to a dictionary and unpack certain nodes.

When unpacked, the resulting dictionary cannot be used for submit/run.

The primary useage of the resulting dictionary is for pretty printing.