Pseudopotentials and PAW potentials (POTCAR)¶
VASP requires that pseudopotentials or PAW potentials be used for each element. Such potentials are distributed with VASP in files called POTCAR or POTCAR.Z.
AMS does not include such POTCAR files. You need to download them separately.
POTCAR Library¶
The AMS VASP Engine will construct combined POTCAR files from the corresponding elemental POTCAR files. The elemental POTCAR files need to be structured into a POTCAR Library.
For clarity, AMS includes a set of “dummy” POTCAR files in the directory $AMSHOME/atomicdata/VASP/test_potcars:
$AMSHOME/atomicdata/VASP/test_potcars/C_compressed/POTCAR.Z
$AMSHOME/atomicdata/VASP/test_potcars/C/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/Cu/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/H1.25/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/H.75/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/H/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/Na/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/Na_pv/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/O_h/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/O/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/O_s/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/Ti/POTCAR
$AMSHOME/atomicdata/VASP/test_potcars/Zn/POTCAR
These POTCAR files just contain single lines of text. They cannot be used to run real VASP calculations.
With the above structure, the directory
$AMSHOME/atomicdata/VASP/test_potcars can be set as the POTCAR Library
input option.
You should set up your own POTCAR Library directory with the real POTCAR files.
Note
We recommend to manually uncompress the POTCAR.Z files, to not rely on the automatic extraction by the AMS VASP engine. The automatic extraction is not supported on Windows.
The VASP Engine uses vasp.label if set; otherwise the atomic symbol¶
The POTCAR file used for an atom depends on the vasp.label atom attribute. If this is unset, the atomic element is used instead.
In AMSinput, you can set vasp.label on the Model → Atom Details panel.
Example:
System
Atoms
H 1.572 2.389 0.898 vasp.label=H.75 # H.75/POTCAR
O 3.216 2.131 0.011 # O/POTCAR
C 0.679 0.837 0.000 # C/POTCAR
H 0.406 0.592 1.016 vasp.label=H1.25 # H1.25/POTCAR
H 3.529 2.198 0.916 # H/POTCAR
C 1.847 1.840 0.010 vasp.label=C_compressed # C_compressed/POTCAR.Z
H -0.169 1.276 -0.505 vasp.label=H.75 # H.75/POTCAR
H 1.569 2.408 -0.866 # H/POTCAR
H 0.980 -0.062 -0.518 vasp.label=H1.25 # H1.25/POTCAR
End
Lattice
6.000 0.000 0.000
0.000 6.000 0.000
0.000 0.000 6.000
End
End
Specifying the POTCAR Library in the input¶
Specify the POTCAR Library using the POTCARLibrary input option:
Engine VASP
POTCARLibrary /path/to/potcar/library
....
EndEngine
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.
Specifying the POTCAR library with the VASP_PP_PATH environment variable¶
You can also set the VASP_PP_PATH environment variable:
export VASP_PP_PATH="/path/to/potcar/library"
export SCM_DISABLE_MPI=1
$AMSBIN/ams -n 1 <<eor
# ...
Engine VASP
# ...
EndEngine
eor
Creating a custom POTCAR Library¶
If you want to consistently use, for example, the hard O_h potentials for all oxygen atoms, then create a new
POTCAR Library directory where O/POTCAR is identical to O_h/POTCAR.
Then you will not need to remember to set the vasp.label for all O atoms for every calculation.
One-off POTCAR override in the input file¶
You can also use specific POTCAR files by setting the Details → Expert VASP → POTCARFiles option. For example, by setting ‘Label’ to ‘H’ and setting the ‘Path’ to /some/path/PBE_PAW/H.5/POTCAR, AMS will use this POTCAR file for all H atoms (that do not have a custom VASP Label).
POTCAR files can also be specified for entire groups of elements or atoms with a unique VASP Label, using the POTCAROverride keyword. For example:
System
Atoms
H 0.0 0.0 0.0 # /path/to/potcar/library/H/POTCAR
H 0.0 0.0 0.8 # /path/to/potcar/library/H/POTCAR
O 0.0 0.5 0.4 vasp.label=O_s # /path/to/potcar/library/O_s/POTCAR
Ne 5.0 4.0 6.0 vasp.label=MyLabel # /path/to/my/custom/Ne/POTCAR
End
Lattice
...
End
End
Engine VASP
...
POTCARLibrary /path/to/potcar/library
POTCAROverride
POTCARFiles
Label MyLabel
Path /path/to/my/custom/Ne/POTCAR
End
End
EndEngine
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.