POTCAR file generation problems

I have encountered some problems with the use of pymatgen and the generation of POTCAR VASP files. I thought I would
review the installation procedure in an attempt to determine what is going wrong.

There are several different versions of PAW pseudopotentials on the VASP web site. In principle, it would seem that pymatgen
should work with any of them, but there are problems. At the very least, the documentation on PAW installation using
pmg needs to be updated to avoid the errors I have been encountering.

PAW PS on the VASP site

  1. PAW POTCAR files: LDA version 54 (recommend)
  2. PAW POTCAR files: PBE version 54 (recommend)
  3. PAW POTCAR files: LDA & PBE, 5.2 & 5.4 (original unvie release version)
  4. PAW POTCAR files: LDA version 52
  5. PAW POTCAR files: PBE version 52
    other files are labeled as outdated

The online text states that the distributions 1 and 2 yield identical results to distribution 3, but also
states that the TITEL has been changed and a hash key has been added of the newest distributions 1 and 2.

The above distributions correspond to the following tar images from the www.vasp.at website:

  1. 79M Mar 27 21:45 potpaw_PBE.54.tar
  2. 71M Mar 27 21:45 potpaw_LDA.54.tar
  3. 280M Mar 27 21:45 potpaw_LDA_PBE_52_54_orig.tar
  4. 62M Mar 27 22:14 potpaw_LDA.52.tar
  5. 70M Mar 27 22:14 potpaw_PBE.52.tar

By way of demonstration, I initially unpacked distribution (3) (PAW POTCAR files: LDA & PBE, 5.2 & 5.4 (original unvie release version))
into a new directory to yield. I was under the impression that this was the older version used by pymatgen (although the
installation instructions on the pymatgen website are fuzzy)

potpaw.52 potpaw.54 potpaw_PBE.52 potpaw_PBE.54

I then ran the pmg config command to generate the pymatgen flavored output

pmg config -p extracted pymatgen_pot

and set the environment variables to reflect the new directory

pmg config --add PMG_VASP_PSP_DIR ‘/Users/paulfons/Google Drive/Vasp/pymatgen_pot’

Loading a ipython and attempting to generate VASP input fails as can be seen below:

Python 3.7.6 (default, Feb 28 2020, 08:55:06)
Type ‘copyright’, ‘credits’ or ‘license’ for more information
IPython 7.13.0 – An enhanced Interactive Python. Type ‘?’ for help.

In [2]: import pymatgen as mg

In [3]: structure = mg.Structure.from_file(‘POSCAR’)

In [4]: structure.composition
Out[4]: Comp: Cr24 Ge24 Te72

In [5]: from pymatgen.io.vasp.sets import MPStaticSet

In [7]: static = MPStaticSet(structure)

In [8]: static.write_input(output_dir=‘crgete’)

OSError Traceback (most recent call last)
in
----> 1 static.write_input(output_dir=‘crgete’)

~/.pyenv/versions/3.7.6/envs/pymatgen/lib/python3.7/site-packages/pymatgen/io/vasp/sets.py in write_input(self, output_dir, make_dir_if_not_present, include_cif, potcar_spec, zip_output)
720 include_cif=include_cif,
721 potcar_spec=potcar_spec,
–> 722 zip_output=zip_output
723 )
724 for k, v in self.files_to_transfer.items():

~/.pyenv/versions/3.7.6/envs/pymatgen/lib/python3.7/site-packages/pymatgen/io/vasp/sets.py in write_input(self, output_dir, make_dir_if_not_present, include_cif, potcar_spec, zip_output)
210 f.write(v.str())
211 else:
–> 212 vinput = self.get_vasp_input()
213 vinput.write_input(output_dir, make_dir_if_not_present=make_dir_if_not_present)
214

~/.pyenv/versions/3.7.6/envs/pymatgen/lib/python3.7/site-packages/pymatgen/io/vasp/sets.py in get_vasp_input(self)
172 kpoints=self.kpoints,
173 poscar=self.poscar,
–> 174 potcar=self.potcar,
175 )
176

~/.pyenv/versions/3.7.6/envs/pymatgen/lib/python3.7/site-packages/pymatgen/io/vasp/sets.py in potcar(self)
127 Potcar object.
128 “”"
–> 129 potcar = Potcar(self.potcar_symbols, functional=self.potcar_functional)
130
131 # warn if the selected POTCARs do not correspond to the chosen

~/.pyenv/versions/3.7.6/envs/pymatgen/lib/python3.7/site-packages/pymatgen/io/vasp/inputs.py in init(self, symbols, functional, sym_potcar_map)
2211 self.functional = functional
2212 if symbols is not None:
-> 2213 self.set_symbols(symbols, functional, sym_potcar_map)
2214
2215 def as_dict(self):

~/.pyenv/versions/3.7.6/envs/pymatgen/lib/python3.7/site-packages/pymatgen/io/vasp/inputs.py in set_symbols(self, symbols, functional, sym_potcar_map)
2318 else:
2319 for el in symbols:
-> 2320 p = PotcarSingle.from_symbol_and_functional(el, functional)
2321 self.append§
2322

~/.pyenv/versions/3.7.6/envs/pymatgen/lib/python3.7/site-packages/pymatgen/io/vasp/inputs.py in from_symbol_and_functional(symbol, functional)
1951 raise IOError(
1952 "You do not have the right POTCAR with functional "
-> 1953 + “{} and label {} in your VASP_PSP_DIR”.format(functional, symbol)
1954 )
1955

OSError: You do not have the right POTCAR with functional PBE and label Cr_pv in your VASP_PSP_DIR

Any suggestions as to what I can try out to fix this?