py4vasp is a Python interface to extract data from VASP calculations. It is intended mainly to get a quick look at the data and provide the functionality to export it into common formats that can be used by other more sophisticated postprocessing tools. The second domain of application is for people that want to write Python scripts based on the data calculated by VASP. This tool interfaces directly with the new HDF5 file format and thereby avoids parsing issues associated with the XML or OUTCAR files.
For these two groups of users, we provide a different level of access. The simple routines used in the tutorials will read the data from the file directly and then generate the requested plot. For script developers, we provide interfaces to convert the data to Python dictionaries for further processing. If I/O access limits the performance, you can lazily load the data only when needed.
In addition, py4vasp provides utility scripts to assist with common workflows in VASP:
- error-analysis - This script extracts the energies, forces, and stress tensors of a machine-learned force-field calculation and compares them against a reference set of first principles calculations. The errors are returned as data or plot to assess the accuracy of the force field.
Changes
- feat: allow addition and subtraction in selection strings by @martin-schlipf in #93
- fix: creating Structure.from_POSCAR by @martin-schlipf in #95
- feat: Implement minimal py4vasp-core package by @martin-schlipf in #96
- feat: orbital moments by @martin-schlipf in #97
- fix: limit access to schema by @martin-schlipf in #100
- doc: add docstring to internal_strain.to_dict by @martin-schlipf in #101
- feat: access bandgap of VASP by @martin-schlipf in #98
- feat: add to_csv and to_frame by @sudarshanv01 in #103
- feat: provide additional functionality to deal with structures in py4vasp by @martin-schlipf in #106
- feat: create direct interface to force-field error analysis by @martin-schlipf in #108
- fix: make cell and structure backwards compatible by @martin-schlipf in #111
- feat: implement reading of the potential by @martin-schlipf in #110
- fix: schema for potential by @sudarshanv01 in #116
- fix: plotting of density by @martin-schlipf in #119
- fix: plotting of potential by @martin-schlipf in #123
- feat: plotting ncl densities by @mt-huebsch in #120
- doc: fix typo by @martin-schlipf in #140
- feat: Add OSZICAR information to HDF5 by @sudarshanv01 in #136
- feat: clearer separation of View logic some refinement code by @martin-schlipf in #142
New Contributors
- @sudarshanv01 made their first contribution in #103
- @mt-huebsch made their first contribution in #120
Full Changelog: v0.7.4...v0.9.0