VASP_PSP_DIR

989 views
Skip to first unread message

Ketan Maheshwari

unread,
Apr 28, 2015, 2:14:50 PM4/28/15
to matproj...@googlegroups.com
I am trying to create a setup using materials project to automatically download and process the VASP inputs on ALCF systems. 

I understand that the VASP_PSP_DIR must point to VASP provided pseudopotentials. I tried this by getting pseudopotentials from VASP. However, I am still getting errors when trying to get POTCAR.

I am using the following pymatgen code:

from pymatgen import MPRester
from pymatgen.io.vaspio_set import MPVaspInputSet
import sys

if __name__ == "__main__":
    MAPI_KEY = "lwTAWTaqIisG9207"  # You must change this to your Materials API key! (or set MAPI_KEY env variable)
    MP_ID = sys.argv[1]  # change this to the mp-id of your compound of interest

    mpr = MPRester(MAPI_KEY)  # object for connecting to MP Rest interface
    user_incar_settings = {}  # provide user incar settings, e.g. {"EDIFF": 0.00001}
    hubbard_off = False  # set True if you never want to use +U
    vis = MPVaspInputSet(user_incar_settings=user_incar_settings, hubbard_off=hubbard_off)  # chooses default INCAR, kpoints, etc

    structure = mpr.get_structure_by_material_id(MP_ID)

    vis.get_incar(structure).write_file('INCAR')
    vis.get_poscar(structure).write_file('POSCAR')
    vis.get_kpoints(structure).write_file('KPOINTS')
    vis.get_potcar(structure).write_file('POTCAR')


$ ./get_vaspinputs.py mp-716052
Traceback (most recent call last):
  File "./get_vaspinputs.py", line 37, in <module>
    vis.get_potcar(structure).write_file('POTCAR')
  File "/home/ketan/pymatgen-install/lib/python2.7/site-packages/pymatgen-3.0.13-py2.7-linux-ppc64.egg/pymatgen/io/vaspio_set.py", line 321, in get_potcar
    p = Potcar(self.get_potcar_symbols(structure))
  File "/home/ketan/pymatgen-install/lib/python2.7/site-packages/pymatgen-3.0.13-py2.7-linux-ppc64.egg/pymatgen/io/vaspio/vasp_input.py", line 1493, in __init__
    self.set_symbols(symbols, functional, sym_potcar_map)
  File "/home/ketan/pymatgen-install/lib/python2.7/site-packages/pymatgen-3.0.13-py2.7-linux-ppc64.egg/pymatgen/io/vaspio/vasp_input.py", line 1573, in set_symbols
    p = PotcarSingle.from_symbol_and_functional(el, functional)
  File "/home/ketan/pymatgen-install/lib/python2.7/site-packages/pymatgen-3.0.13-py2.7-linux-ppc64.egg/pymatgen/io/vaspio/vasp_input.py", line 1384, in from_symbol_and_functional
    symbol))
IOError: You do not have the right POTCAR with functional PBE and label Fe_pv in your VASP_PSP_DIR


The VASP_PSP_DIR looks as follows:

$ ls -p $VASP_PSP_DIR
data_base  LDA/  potpaw_GGA.tar.gz  potpaw_LDA.52.tar.gz  potpaw_LDA.tgz  potpaw_PBE.52.tar.gz potUSPP_GGA/    potUSPP_LDA.tar.gz RELEASE_NOTE.txt
GGA   PBE potpaw_LDA/    potpaw_LDA.tar.gz  potpaw_PBE/  potpaw_PBE.tar.gz potUSPP_GGA.tar.gz  README.UPDATES

Any suggestions?

Thanks,
Ketan

Anubhav Jain

unread,
Apr 29, 2015, 1:01:45 PM4/29/15
to matproj...@googlegroups.com
The VASP code ships with a directory containing subdirectories of pseudopotential files. The env var should point to this directory. The first level subdirectories of this dir should look like:
POT_GGA_PAW_PBE 
POT_GGA_PAW_PW91
POT_GGA_US.Apr00
POT_LDA_PAW
POT_LDA_US

In particular the POT_GGA_PAW_PBE is what pymatgen typically uses. If you untar/gz some of those dirs it might appear?

Best,
Anubhav
Reply all
Reply to author
Forward
0 new messages