Skip to content

WIP: Add custodian support to Vasp2

Protik Das requested to merge protik/ase:add-custodian-support into master

Hi everyone,

Recently I have been looking into Custodian (https://materialsproject.github.io/custodian/) which does error recovery for VASP calculations. It tries to modify the input parameters intelligently from the error. The vasp part of the Custodian was developed keeping pymatgen in mind. Personally I prefer to use ase to run my vasp calculations. So I tried to add custodian support within the Vasp2 module.

While using Custodian has it's benefits, it also comes with some caveats within ase. For the parsing of inputs and outputs Custodian relies heavily on pymatgen. So to use Custodian one must also install pymatgen. Which is redundant in a sense that the functionality of pymatgen overlaps with ase.

The modifications I made includes:

  • User can turn on custodian for error recovery by passing use_custodian=True.
  • User can pass a list of vasp handlers (https://materialsproject.github.io/custodian/custodian.vasp.html#module-custodian.vasp.handlers) using custodian_handlers that can be used to do error recovery.
  • Custodian will be using vasp.out as output and std_err.out as error rather than the file stream. Custodian cannot deal with file stream yet.
  • Users can pass selective input parameters for VaspJob object. I tried to select options that does not interfere with ase.

I have very recently started using git. Also I don't have much of development experience. So any feedback regarding the code will be really appreciated.

Thanks.

Edited by Alexander Tygesen

Merge request reports