aiida_vasp.calcs.base#

Base calculation class.

Base and meta classes for VASP calculation classes.

Module Contents#

Classes#

VaspCalcBase

Base class of all calculations utilizing VASP.

API#

class aiida_vasp.calcs.base.VaspCalcBase(*args, **kwargs)[source]#

Bases: aiida.engine.CalcJob

Base class of all calculations utilizing VASP.

  • Defines internal parameters common to all vasp calculations.

  • provides a basic, extendable implementation of _prepare_for_submission

  • provides hooks, so subclasses can extend the behavior without having to reimplement common functionality

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.

_default_parser = 'vasp.vasp'#
classmethod define(spec: aiida.engine.processes.calcjobs.calcjob.CalcJobProcessSpec) None[source]#
classmethod max_retrieve_list() list[str][source]#

Return a list of all possible output objects from a VASP run.

prepare_for_submission(folder: aiida.common.folders.Folder) aiida.common.CalcInfo[source]#

Writes the four minimum outputs: INCAR, POSCAR, POTCAR, KPOINTS.

Delegates the construction and writing / copying to write_<object> methods. That way, subclasses can use any form of input nodes and just have to implement the write_xxx method accordingly. Subclasses can extend by calling the super method and if necessary modifying it’s output CalcInfo before returning it.

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

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

verify_inputs() bool[source]#

Hook to be extended by subclasses with checks for input nodes.

Is called once before submission.

check_restart_folder() None[source]#
_is_restart() bool[source]#
store(*args: Any, **kwargs: Any) None[source]#

Adds a _prestore subclass hook for operations that should be done just before storing.

_prestore() None[source]#

Subclass hook for updating attributes etc, just before storing.

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

Subclass hook to write additional input objects.