-
Notifications
You must be signed in to change notification settings - Fork 922
Description
atomate2 fails to create TaskDoc as it cannot parse the LOCPOT file generated after the VASP calculation. This happens if we use newer PBE 54 pseudopotential with hash or just using VASP version 6.4.2. The issue is where the element's name is printed in the LOCPOT file, which would be further used in the POSCAR file for the next steps.
Steps to reproduce the behavior:
- Use any atomate2 workflow. (I'm using
MPMetaGGADoubleRelaxMaker
) - Use newer PBE 54 pseudopotentials with hash
OR - Use older PBE 54 pseudopotentials without hash but use VASP 6.4.2 version.
- See error :
File "/home/ab6989/.conda/envs/my_pymatgen/lib/python3.12/site-packages/atomate2/vasp/jobs/base.py", line 292, in get_vasp_task_document
return TaskDoc.from_directory(path, **kwargs)
.....
File "/home/ab6989/.conda/envs/my_pymatgen/lib/python3.12/site-packages/pymatgen/core/periodic_table.py", line 1051, in from_str
properties = {tokens[0]: ast.literal_eval(tokens[1])}
IndexError: list index out of range
This is because of an extra “/”
coming after the element's name in the LOCPOT file. Or, an extra “/hashnumber”
in case of hash pseudopotentials. I've made sure of this by removing this extra bit and successfully running the task_doc = get_vasp_task_document("/home/ab6989/MPScanRelaxSet/atomate2/Tests/job_2023-12-18-13-57-46-455621-69653")
Examples:
LOCPOT file when using hashless pseudopotential but 6.4.2 version VASP.
Mg1 O1
1.00000000000000
-0.0000000000000000 2.1041807445817637 2.1041807445817637
2.1041807445817637 -0.0000000000000000 2.1041807445817637
2.1041807445817637 2.1041807445817637 0.0000000000000000
Mg/ O/
1 1
Direct
0.0000000000000000 0.0000000000000000 -0.0000000000000000
0.5000000000000000 0.5000000000000000 0.5000000000000000
LOCPOT file which works in creating task_doc and doesn't fail.
Mg1 O1
1.0
0.0000000000000000 2.1299999999999999 2.1299999999999999
2.1299999999999999 0.0000000000000000 2.1299999999999999
2.1299999999999999 2.1299999999999999 0.0000000000000000
Mg O
1 1
direct
0.0000000000000000 0.0000000000000000 0.0000000000000000 Mg
0.5000000000000000 0.5000000000000000 0.5000000000000000 O