Engine VASP Input
*****************


VASP executable
===============

See VASP executable and number of processes (parallelization) for more
information.

"VASPExec"
   Type:
      String

   GUI name:
      Command to execute VASP

   Description:
      Command used to execute VASP.                   For example:
      mpirun -np 4 vasp                   Can also be left empty if
      VASP_COMMAND is set as an environment variable.


Pseudopotentials (POTCAR)
=========================

See Pseudopotentials and PAW potentials (POTCAR) for more information.

"POTCARLibrary"
   Type:
      String

   GUI name:
      Path to POTCAR library

   Description:
      Path to the POTCAR (pseudopotential) library, as delivered with
      VASP. This library must be accessible on the machine currently
      running AMSinput.                   For example, setting this to
      /library/PBE/PAW/ will use /library/PBE/PAW/Cu/POTCAR as the
      POTCAR file for Cu atoms by default.                   Can also
      be left empty if VASP_PP_PATH is set as an environment variable.
      Special POTCARs (e.g. H.5 instead of H) can be used for
      individual atoms by using the vasp.label atom label.
      Alternatively, custom POTCAR files can be specified using the
      POTCAROverride tag.

"POTCAROverride"
   Type:
      Block

   GUI name:
      POTCAR directory override

   Description:
      Selects the pseudopotentials to use for each atomic species.
      Choosing this overrides the default option for each element
      found in POTCARLibrary.

   "POTCARFiles"
      Type:
         Block

      Recurring:
         True

      Description:
         Selects the pseudopotentials to use for each atomic species.

      "Label"
         Type:
            String

         Description:
            Label for an atom corresponding to the vasp.label, or to
            the element symbol if vasp.label is not set.

      "Path"
         Type:
            String

         Description:
            Path to a POTCAR or POTCAR.Z file to use as a
            pseudopotential.


K-space and k-point sampling (KPOINTS)
======================================

The following keywords can be used to specify the type of k-point
sampling and the number/shift of k-points in each dimension. For
example:

   Engine VASP
       ...
       KPOINTSOrigin Gamma-centered
       nk1 3
       nk2 3
       nk3 1
       sk1 0.0
       sk2 0.0
       sk3 0.1
   EndEngine

You can also specify a custom KPOINTSFile.

"KPOINTSOrigin"
   Type:
      Multiple Choice

   Default value:
      Monkhorst-Pack

   Options:
      [Gamma-centered, Monkhorst-Pack]

   GUI name:
      Type of k-point grid

   Description:
      Type of regular k-point grid. Gamma-centered k-point grids
      always include the Gamma point, whereas Monkhorst-Pack grids do
      not include the Gamma point if any of the k-point grid
      dimensions is even.                   To use a custom set of
      k-points, or to specify paths in the Brillouin zone, prepare
      such a KPOINTS file manually and set the KPOINTSFile setting.

"nk1"
   Type:
      Integer

   Default value:
      1

   Description:
      Number of k-points in the first dimension

"nk2"
   Type:
      Integer

   Default value:
      1

   Description:
      Number of k-points in the second dimension

"nk3"
   Type:
      Integer

   Default value:
      1

   Description:
      Number of k-points in the third dimension

"sk1"
   Type:
      Float

   Default value:
      0.0

   Description:
      Fractional shift of the k-mesh in the first dimension

"sk2"
   Type:
      Float

   Default value:
      0.0

   Description:
      Fractional shift of the k-mesh in the second dimension

"sk3"
   Type:
      Float

   Default value:
      0.0

   Description:
      Fractional shift of the k-mesh in the third dimension


Custom files (INCAR, KPOINTS, CHGCAR, WAVECAR)
==============================================

If you want to bypass the automatic "INCAR" and "KPOINTS" generation,
you can create your own input files instead and supply them using the
"INCARFile" and "KPOINTSFile" keywords. Keep in mind that in order for
the calculator work correctly, the following arguments **must** be
supplied in the "INCAR":

   # MANDATORY INPUT
   POTIM = 0.0
   IBRION = -1
   INTERACTIVE = .TRUE.
   EDIFFG = 0
   NSW = 999999999 # or some other big number

"INCARFile"
   Type:
      String

   GUI name:
      INCAR file

   Description:
      Use a custom INCAR file.                   The keywords NSW,
      IBRION, ISIF, and LWAV must not be set in this INCAR file, since
      they are controlled by the AMS driver.

"KPOINTSFile"
   Type:
      String

   GUI name:
      KPOINTS file

   Description:
      Use a custom KPOINTS file. This will override any other settings
      related to the k-point sampling.

For custom POTCAR files, see Pseudopotentials and PAW potentials
(POTCAR).

Custom WAVECAR and CHGCAR files can also be supplied using the
"WAVECARFile" and "CHGCARFile" keywords. Note that you may have to set
"LWAVE=.TRUE." to make use of this.

"WAVECARFile"
   Type:
      String

   GUI name:
      WAVECAR file

   Description:
      Path to a WAVECAR (wavefunction) file from a previous
      calculation that is used to initialize the present calculation.
      If specified, the file will be copied into the new calculation
      directory and the VASP keyword ISTART will be set to 1.

"CHGCARFile"
   Type:
      String

   GUI name:
      CHGCAR file

   Description:
      Use a custom CHGCAR file for initializing the charge density.
      Note: You must also set ICHARG to an appropriate value for this
      CHGCAR file to be read by VASP.


Energy cutoff
=============

"EnergyCutoff"
   Type:
      Float

   Default value:
      400.0

   Unit:
      eV

   GUI name:
      Plane wave energy cutoff

   Description:
      The energy cutoff for the plane wave basis set.
      VASP keyword: ENCUT


Density functional
==================

A number of XC functional options are available in VASP. Most of the
options below are detailed in the VASP manual, or can be found from
the ASE manual.

"XC"
   Type:
      Multiple Choice

   Default value:
      Auto

   Options:
      [Auto, LDA, BLYP, PW91, PBE, PS, RE, RP, AM, 91, B3, B5, BF, BO,
      CA, MK, OR, PE, PZ, VW, WI, TPSS, RTPSS, M06L, MS0, MS1, MS2,
      SCAN, RSCAN, R2SCAN, SCAN-REVV10, MBJ, VDW-DF, VDW-DF-CX, VDW-
      DF-CX0P, OPTPBE-VDW, OPTB88-VDW, OPTB86B-VDW, VDW-DF2, REV-VDW-
      DF2, BEEF-VDW, HF, B3LYP, B3PW91, PBE0, HSE03, HSE06, HSESOL,
      SOGGA, SOGGA11, SOGGA11-X, N12, N12-SX, MN12L, GA, MN15L, HLE17,
      REVM06L, M06SX, 03, 05, 10, 20, PL, CO, HL, RA]

   GUI name:
      XC functional

   Description:
      The exchange-correlation functional.                   This
      setting *must* be consistent with POTCAR. If your desired
      functional is not present in the list, choose Auto and set the
      GGA tag manually under Additional INCAR options.
      Auto: The XC functional is determined by the information in
      POTCAR. For more information on what these options do, see the
      VASP manual.                    Note that some options are only
      available depending on your version of VASP or how it was
      compiled.


Orbital Occupancy
=================

"Occupation"
   Type:
      Multiple Choice

   Default value:
      Gaussian

   Options:
      [Gaussian, Fermi, ReadFromWAVECAR, ReadFromINCAR,
      1stOrderMethfesselPaxton, 2ndOrderMethfesselPaxton,
      TetrahedronMethodWithoutSmearing,
      TetrahedronMethodWithBlochlCorrections,
      TetrahedronMethodWithSmearing,
      TetrahedronMethodWithBlochlCorrectionsAndSmearing]

   GUI name:
      Type of smearing

   Description:
      Type of electronic smearing (fractional occupation scheme).
      VASP keyword: ISMEAR

"Smearing"
   Type:
      Float

   Default value:
      0.2

   Unit:
      eV

   GUI name:
      Smearing width

   Description:
      VASP keyword: SIGMA


Spin-polarization
=================

"SpinPolarization"
   Type:
      Bool

   Default value:
      No

   GUI name:
      Spin-polarization

   Description:
      Determines if a spin-polarized calculation is performed. If set,
      the VASP keyword ISPIN is set to 2.


Dispersion corrections
======================

"vdW"
   Type:
      Multiple Choice

   Default value:
      Disable

   Options:
      [Disable, DFT-D2, DFT-D3, DFT-D3(BJ), DFT-D4, DFT-ulg, dDsC, TS,
      TSWithIterativeHirshfeldPartitioning,
      ManyBodyDispersionEnergyMethod, ManyBodyDispersionEnergyWithFra
      ctionallyIonicModelForPolarizability, libMD]

   GUI name:
      van der Waals method

   Description:
      The van der Waals correction method.                   VASP
      keyword: IVDW                   Default: IVDW = 0 (Disable)


Hubbard U, DFT+U
================

"LDAUU", "LDAUJ" and "LDAUL" **must** each contain a number of values
equal to the number of elements appearing in the POTCAR.

"LDAU"
   Type:
      Bool

   Default value:
      No

   GUI name:
      Use DFT+U

   Description:
      Enables a DFT+U calculation. The options LMAXMIX, LDAUType,
      LDAUU, LDAUJ, and LDAUL must also be set.

"LDAUType"
   Type:
      Multiple Choice

   Default value:
      2

   Options:
      [1, 2, 3, 4]

   GUI name:
      Hubbard U-Type

   Description:
      1: The rotationally invariant DFT+U introduced by Liechtenstein
      et al.                   2: The simplified (rotationally
      invariant) approach to DFT+U, introduced by Dudarev et al.
      4: Same as type 1, but without exchange splitting.
      VASP keyword: LDAUTYPE.

"LMAXMIX"
   Type:
      Integer

   Default value:
      2

   GUI name:
      LMAXMIX

   Description:
      VASP keyword: LMAXMIX

"LDAUU"
   Type:
      Float List

   Description:
"LDAUJ"
   Type:
      Float List

   Description:
"LDAUL"
   Type:
      String

   Description:

Accuracy
========

"Precision"
   Type:
      Multiple Choice

   Default value:
      Normal

   Options:
      [Single, SingleN, Normal, Accurate]

   GUI name:
      Precision

   Description:
      Adjusts the default cutoff energy and FFT grid spacing, and the
      accuracy of the projectors in real space. SingleN is only
      available for VASP 6.x.                   VASP keyword: PREC


Miscellaneous Options
=====================

"Misc"
   Type:
      Non-standard block

   GUI name:
      Additional INCAR options

   Description:
      The contents of this block are copied verbatim into the VASP
      INCAR file. Tags set in this block will override other input
      options.                    Note: do not set POTIM, IBRION,
      INTERACTIVE or EDIFFG in this block, as those keys are set by
      the AMS driver and cannot be changed.                   By
      default, the AMS driver also sets the following default values
      for the following tags:                   NSW=999999999 (enforce
      VASP to run indefinetly until killed)
      IWAVPR=11 (Wave function extrapolation when the volume of the
      cell changes)                   ISYM=0 (symmetry is disabled to
      avoid spurious error due to wavefunction mismatch between ionic
      steps)                   ISIF=3 (capture stress-induced changes
      (only for VASP version >=6.4))

"EnergyChoice"
   Type:
      Multiple Choice

   Default value:
      FreeEnergy

   Options:
      [FreeEnergy, EnergyWithoutEntropy, EnergySigmaToZero]

   GUI name:
      Energy from OUTCAR

   Description:
      The energy from the VASP output which is used with the AMS
      driver.

"Verbosity"
   Type:
      Bool

   Default value:
      No

   GUI name:
      Verbosity

   Description:
      If set, more detailed information is printed in the
      EngineVASP.log file.
