aiida_cusp.calculators.calculation_base module

Base class serving as parent for other VASP calculator implementations

class aiida_cusp.calculators.calculation_base.CalculationBase(*args, **kwargs)

Bases: aiida.engine.processes.calcjobs.calcjob.CalcJob

Base class implementing the basic inputs and features commond to all kind of VASP calculations. Includes a list of available inputs common to both basic VASP calculations as well as NEB calculations.

create_calculation_inputs(folder, calcinfo)

Write the calculation inputs and set the rerieve lists (This method has to be implemented by the inherited subclass)

classmethod define(spec)

Defined the required inputs for the calculation process.


The baseclass will only setup the basic calcinfo arguments but will not write any files which has to be implemented in the subclassed prepare_for_submission() method

remote_filelist(remote_data, relpath='.')

Recurse remote folder contents and return a list of all files found on the remote with the list containing the files names, relative paths and the absolute file path on the remote.

Returns:list of tuples of type (filename, absolut_path_on_remote, relative_path (without the filename)
restart_copy_remote(folder, calcinfo)

Copy and write remote input files for a restarted VASP calcualtion


Create a list of files that will not be copied from the remote restart folder to the current calculation folder.


Define the list of files marked for permanent retrieval.

Here only calculation independent files are marked for retrieval, i.e. files like the submit-script, scheduler outputs, etc. Retrieval of calculation files is the responsibility of the connected parser.


Defines the list of files marked for temporary retrieval.

By default each calculaltion will retrieve all available files created by the calculation and store them to a temporary folder. Which of the files are actually kept is then decided by the subsequently running parser.


Create custodian settings instance from the given handlers and settings.


Obtain the mpirun commands and the provided extra mpi parameters

This function is basically a copy of the procedure internally used by AiiDA in it’s CalcJob.presubmit() method to build the list of MPI and extra MPI parameters.


Get the VASP run line used by the custodian script to start the VASP calculation

Populates the CalcInfo object with all required parameters such that the generated CalcInfo instance can be passed to the schedulers _get_run_line() method to obtain the runline.