VaspDrone#

class atomate2.vasp.drones.VaspDrone(**task_document_kwargs)[source]#

Bases: pymatgen.apps.borg.hive.AbstractDrone

A VASP drone to parse VASP outputs.

Parameters
**task_document_kwargs

Additional keyword args passed to TaskDocument.from_directory.

assimilate(path: Optional[Union[str, Path]] = None) TaskDocument[source]#

Parse VASP output files and return the output document.

Parameters
pathstr or Path or None

Path to the directory containing vasprun.xml and OUTCAR files.

Returns
TaskDocument

A VASP task document.

get_valid_paths(path: tuple[str, list[str], list[str]]) list[str][source]#

Get valid paths to assimilate.

There are some restrictions on the valid directory structures:

  1. There can be only one vasprun in each directory. Nested directories are fine.

  2. Directories designated “relax1”…”relax9” are considered to be parts of a multiple-optimization run.

  3. Directories containing VASP output with “.relax1”…”.relax9” are also considered as parts of a multiple-optimization run.

Parameters
pathtuple of (str, list of str, list of str)

Input path as a tuple generated from os.walk, i.e., (parent, subdirs, files).

Returns
list of str

A list of paths to assimilate.