VASP
****

(*contributed by*  Patrick Melix)


Results
=======

It is highly recommended to use the ASE features for accessing the
results of a "VASPJob" through the *vasprun.xml*. Use something like
the snippet below to create a dummy ASE calculator and retrieve the
results you need. Remember that ASE needs the path to the POTCARs in
an environment variable:

   ase_calc = Vasp(directory=str(job.path), xc='PBE') # set xc to anything, just needed for ASE automation
   ase_calc.read()
   print(ase_calc.get_potential_energy(force_consistent=False))
   forces = ase_calc.get_forces()
   ...


API
===

class VASPJob(molecule=None, **kwargs)

   A class representing a single computational job with *VASP
   <https://www.vasp.at/>*

   * Set 'ignore_molecule' in "self.settings" to disable Molecule
     handling through ASE.

   * Set 'ignore_potcar' in "self.settings" to disable automatic
     *POTCAR* creation.

   * Set the path to the *POTCAR* files in
     "self.settings.input.potcar" for automatic *POTCAR* creation.

   * If *POTCAR* files not matching the element symbol should be used,
     give a translation dict in "self.settings.input.potcardict".
        E.g. *{'Fe': 'Fe_pv'}*.

   * Settings branch "input.incar" is parsed into the *INCAR* file,
     "input.xxx" into the corresponding *XXX* file.

   * Use the PLAMS notation *_h*, *_1*, *_2*, ... to obtain keywords
     in specific order (e.g. for the KPOINTS file).

   Parameters:
      * **molecule** (*Molecule** | **Dict**[**str**, **Molecule**]
        **| **ChemicalSystem** | **Dict**[**str**, **ChemicalSystem**]
        **| **None*) --

      * **kwargs** (*Any*) --

   _result_type

      alias of "VASPResults"

   get_input()

      Transform all contents of "input" branch of "settings" into
      string.

   get_runscript()

      Run VASP

      Overwrite "self._command" to change the default VASP Binary.

   check()

      Look for the normal termination line in output. Note, that does
      not mean your calculation was successful!

class VASPResults(job)

   A class for VASP results.

   Parameters:
      **job** (*Job*) --

   get_energy(index=-1, unit='a.u.')

      Returns sigma->0 (!!!) energy without entropy.

   get_dispersion_energy(index=-1, unit='a.u.')

      Returns *Edisp (eV)* from the OUTCAR.
