I see a lot of post-processing tools for VASP, including ASE, VASPKIT,Pymagten and some other customized codes. They all read the VASP output files like a normal text file. Sometimes I would meet incompatibility issues between the parsers of some tools and VASP output files. I am wondering if there is a standard format or parser of the VASP output files?
If by "standard", you mean an "official" VASP-supported program, then the answer is no. VASP gives you the raw text output for you to deal with on your own. That being said, the
vasprun.xml file produced at the end of a run contains many of the important calculation results, so any parser than can read an XML file can also parse this data in a trivial fashion.
It sounds like you're already aware of it, but I highly recommend Pymatgen's VASP output parsers. They are thorough and battle-tested. I don't think you'll run into many "incompatibility issues". If you do, please open an issue on GitHub, and I can try and address it personally.
from pymatgen.io.vasp.outputs import Outcar, Vasprun vr = Vasprun('vasprun.xml') outcar = Outcar('OUTCAR') print(vr.as_dict()) print(outcar.as_dict())
Disclaimer: I work with the Materials Project team, which develops and maintains pymatgen.