aiida_vasp.calcs.neb#

Module for settings up NEB calculations

Module Contents#

Classes#

VaspNEBCalculation

NEB calculations using VASP

Functions#

image_folder_paths

Return a list of folders paths to be retrieved

ensure_structure_data

Get the input structure as AiiDA StructureData.

API#

class aiida_vasp.calcs.neb.VaspNEBCalculation(*args, **kwargs)[source]#

Bases: aiida_vasp.calcs.vasp.VaspCalculation

NEB calculations using VASP

Calculations for performing NEB calculations. NEB calculations requires standard VASP inputs, but POSCAR are placed in folder names 00, 01, 02… N for N-1 number of images.

Input frames should be placed under the neb_images input namespace as a dictionary like:

{
    'image_00': structure_1,
    'image_01': structure_2
    ....
}

Output of individual frames are placed in the corresponding namespace under the same convention.

Initialization

Construct a CalcJob instance.

Construct the instance only if it is a sub class of CalcJob, otherwise raise InvalidOperation.

See documentation of aiida.engine.Process.

_VASP_OUTPUT = 'stdout'#
_ALWAYS_RETRIEVE_LIST = None#
_PER_IMAGE_ALWAYS_RETRIEVE_LIST = None#
_query_type_string = 'vasp.neb'#
_plugin_type_string = 'vasp.neb'#
_default_parser = 'vasp.neb'#
classmethod define(spec: Any) None[source]#
prepare_for_submission(folder: aiida.common.folders.Folder) aiida.common.CalcInfo[source]#

Add all files to the list of files to be retrieved.

Notice that we here utilize both the retrieve batch of files, which are always stored after retrieval and the temporary retrieve list which is automatically cleared after parsing.

write_additional(folder: aiida.common.folders.Folder, calcinfo: aiida.common.CalcInfo) None[source]#

Handle extra inputs that are not written by the per-image submission loop.

_structure() aiida.orm.StructureData[source]#

Get the input structure as AiiDa StructureData.

This is required in order to support CifData as input as well.

remote_copy_restart_folder() list[tuple[str, str, str]][source]#

Add all files required for restart to the list of files to be copied from the previous calculation.

For NEB calculations, the CHGCAR and WAVECAR needs to be copied for each of the actual images.

write_neb_poscar(structure: aiida.orm.StructureData | aiida.orm.CifData, dst: str, positions_dof: list | None = None) None[source]#

Write the POSCAR.

Passes the structures node (StructureData) to the POSCAR parser for preparation and writes to dst.

Parameters:

dst – absolute path of the file to write to

verify_inputs() None[source]#

Verify the order of elements

write_incar(dst: str, validate_tags: bool = False) None[source]#

Write the INCAR without tag validation. Validation is performed at parsevasp level and VTST tags are not included.

Parameters:

dst – absolute path of the file to write to

aiida_vasp.calcs.neb.image_folder_paths(image_folders: list[str], retrieve_names: list[str]) list[list[str | int]][source]#

Return a list of folders paths to be retrieved

aiida_vasp.calcs.neb.ensure_structure_data(structure: aiida.orm.StructureData | aiida.orm.CifData) aiida.orm.StructureData[source]#

Get the input structure as AiiDA StructureData.

This is required in order to support CifData as input as well.