aiida_vasp.workchains.neb#

VASP NEB workchain.

Contains the VaspNEBWorkChain class definition which uses the BaseRestartWorkChain.

Module Contents#

Classes#

VaspNEBWorkChain

A NEB workchain

Functions#

get_ldau_keys

Setup LDAU mapping.

Data#

API#

aiida_vasp.workchains.neb.VTST_ADDITIONAL_TAGS = None#
class aiida_vasp.workchains.neb.VaspNEBWorkChain(*args, **kwargs)[source]#

Bases: aiida.engine.processes.workchains.restart.BaseRestartWorkChain

A NEB workchain

Error handling enriched wrapper around VaspNEBCalculation.

Deliberately conserves most of the interface (required inputs) of the VaspNEBCalculation class, but makes it possible for a user to interact with a workchain and not a calculation.

In addition, implement restarts of calculation when the calculation is net full converged for error handling.

Initialization

Construct the instance.

_verbose = False#
_process_class = 'CalculationFactory(...)'#
_norm_disp_threshold = 4.0#
classmethod define(spec)[source]#
setup()[source]#
handle_unconverged(node)[source]#

Handle the problem where the NEB optimization is not converged.

Note that VASP could reach NSW before the actual convergence. Hence this check is necessary even for finished runs.

handle_unfinished(node)[source]#

Handle the case where the calculations is not fully finished. This checks the existing of the run_stats field in the parsed per-image misc output

_attach_output_structure(node)[source]#

Attached the output structure of a children node as the inputs for the next workchain launch.

_check_neb_inputs()[source]#

Perform some simple checks for the NEB inputs

This method is called once by self.setup

_setup_vasp_inputs()[source]#

Setup the inputs for VASP calculation

This method is called once by self.setup TODO: merge with vasp.v2.vasp

results()[source]#

Attach the outputs specified in the output specification from the last completed process.

aiida_vasp.workchains.neb.FELEMS = ['La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Ac', 'Th...#
aiida_vasp.workchains.neb.get_ldau_keys(structure, mapping, utype=2, jmapping=None, felec=False)[source]#

Setup LDAU mapping.

In VASP, the U for each species has to be defined in the order that they appear in POSCAR. This is a helper to make sure the values of U are associated to each species.

Parameters:
  • structure – The structure, either StructureData or ase.Atoms is fine.

  • mapping – A dictionary in the format of {"Mn": [d, 4]...} for U.

  • utype – The type of LDA+U, default to 2, which is the one with only one parameter.

  • jmapping – A dictionary in the format of {"Mn": [d, 4]...} but for J.

  • felec – Whether we are dealing with f electrons; will increase lmaxmix if we are.

Returns:

A dictionary to be used to update the raw input parameters for VASP.