Skip to content

UnknownPotcarWarning occurs for valid POTCARs due to mismatched line endings #4467

@Andrew-S-Rosen

Description

@Andrew-S-Rosen

Python version

3.11

Pymatgen version

2025.6.14

Operating system version

No response

Current behavior

Pymatgen is returning UnknownPotcarWarning for a valid POTCAR, which may cause some unnecessary concern for users. Here, I am using the La pseudopotential from the PAW_PBE.64 pseudopotential set. The POTCAR has a SHA256 hash of b7aad99517e50aeb53363b20a29bb0dfa896544080812fb23322f071df953199. A similar warning is raised for Yb. Doing the same analysis on, for instance, H or W has no warning.

from pymatgen.io.vasp.inputs import Potcar

Potcar(['La'],functional="PBE_64")
/home/asrosen/.conda/envs/cms/lib/python3.12/site-packages/pymatgen/io/vasp/inputs.py:2508: UnknownPotcarWarning: POTCAR data with symbol La is not known to pymatgen. Your POTCAR may be corrupted or pymatgen's POTCAR database is incomplete.
  return cls(file.read(), symbol=symbol or None)  # type:ignore[arg-type]

It's not just the PBE_64 sets. For instance, the following also raises a warning:

from pymatgen.io.vasp.inputs import Potcar

Potcar(['Yb'],functional="PBE_52")

Note to self: I ran into this warning in practice when running Custodian because the VaspJob and handlers call VaspInput.from_directory() which itself does a POTCAR check automatically. See here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions