PMG Potcar Functional Choices

176 views
Skip to first unread message

Grand Canonical

unread,
Jan 3, 2019, 7:10:52 PM1/3/19
to PyCDT forum
Hello,
I am trying to modify the functional choices options for pymatgen and pycdt.
The default/current setting is -f {LDA,LDA_52,LDA_54,LDA_US,PBE,PBE_52,PBE_54,PW91,PW91_US}].
I have modified the FUNCTIONAL_CHOICES object in the inputs.py script within the pymatgen/io/vasp directory to account for my specific functionals of interest but the pmg potcar terminal command is still yielding the error below.

pmg potcar: error: argument -f/--functional: invalid choice: 'GW' (choose from 'LDA', 'LDA_52', 'LDA_54', 'LDA_US', 'PBE', 'PBE_52', 'PBE_54', 'PW91', 'PW91_US')

What exactly is the difference/relationship between the symbol and functional arguments in the functions within the Potcar, PotcarSingle and PotcarSingleMod classes and how is this related to the contents of the VASP_PSP_DIR?
Below is an example of my modification of the FUNCTIONAL_CHOICES object within the inputs.py script.

FUNCTIONAL DICT = {"PBE_54":PBE,"GW":PBE_GW}
FUNCTIONAL_CHOICES = list(FUNCTIONAL_DICT.keys())

I look forward to your feedback.

Thanks,

Conrad

Bharat Medasani

unread,
Jan 4, 2019, 9:09:59 AM1/4/19
to Grand Canonical, PyCDT forum
On Thu, Jan 3, 2019 at 7:10 PM Grand Canonical <conrad...@gmail.com> wrote:
Hello,
I am trying to modify the functional choices options for pymatgen and pycdt.
The default/current setting is -f {LDA,LDA_52,LDA_54,LDA_US,PBE,PBE_52,PBE_54,PW91,PW91_US}].
I have modified the FUNCTIONAL_CHOICES object in the inputs.py script within the pymatgen/io/vasp directory to account for my specific functionals of interest but the pmg potcar terminal command is still yielding the error below.

pmg potcar: error: argument -f/--functional: invalid choice: 'GW' (choose from 'LDA', 'LDA_52', 'LDA_54', 'LDA_US', 'PBE', 'PBE_52', 'PBE_54', 'PW91', 'PW91_US')
What exactly is the difference/relationship between the symbol and functional arguments in the functions within the Potcar, PotcarSingle and PotcarSingleMod classes and how is this related to the contents of the VASP_PSP_DIR?
 
When you unzip VASP supplied POTCAR files, you get POTCARs in a particular directory layout. Lets call it factory layout. Pymatgen by default uses a modified directory layout (used by  Materials Project). Lets call it MP layout. 

VASP_PSP_DIR specifies the top level directory of the POTCAR files. PotcarSingle uses the MP layout to identify the right POTCAR file based on FUNCTIONAL_DICT dictionary. 

If VASP_PSP_DIR = "/home/VASP/Potcars" and FUNCTIONAL_DICT is {"PBE": "PBE", "PBE_52": "PBE5.2"}
and the selected functional is PBE_52, then pymatgen searches "home/VASP/Potcars/PBE5.2" to find the POTCAR files.

PotcarSingleMod augments the MP layout with factory layout also. 

pmg function is not aware of pycdt. So, when you use pmg function, only MP layout is considered.  I think your error is because the pmg script is checking whether input is a valid functional. The script may not be checking the PotcarSingle class to identify the valid options. Rather the script may have input options hard coded. You may have to modify the script to expand the input functional options. You better post this on pymatgen forum.


Below is an example of my modification of the FUNCTIONAL_CHOICES object within the inputs.py script.

FUNCTIONAL DICT = {"PBE_54":PBE,"GW":PBE_GW}
FUNCTIONAL_CHOICES = list(FUNCTIONAL_DICT.keys())



I look forward to your feedback.

Thanks,

Conrad

--
You received this message because you are subscribed to the Google Groups "PyCDT forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pycdt-forum...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pycdt-forum/ceaa07ad-3fe7-485b-81d7-c3316d8dd303%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


--

Bharat Medasani
Postdoctoral Associate,
Pacific Northwest National Lab
Richland, WA 99354
USA
Reply all
Reply to author
Forward
0 new messages