mirror of
https://github.com/triqs/dft_tools
synced 2024-08-18 10:11:44 +02:00
![Oleg E. Peil](/assets/img/avatar_default.png)
This is a description of the preliminary design for the parser of PROJCAR/LOCPROJ files output by VASP.
30 lines
1.4 KiB
ReStructuredText
30 lines
1.4 KiB
ReStructuredText
.. sec_vaspio
|
|
|
|
VASP input-output
|
|
#################
|
|
|
|
The following VASP files are used by PLOtools:
|
|
* PROJCAR, LOCPROJ: raw projectors generated by VASP-PLO interface (VASP version >= 5.4.1)
|
|
* EIGENVAL: Kohn-Sham eigenvalues as well as `k`-points with weights and Fermi weights
|
|
* IBZKPT: `k`-point data (:math:`\Gamma`)
|
|
* POSCAR: crystal structure data
|
|
|
|
Starting from version 5.4.1 VASP now supports an official output of various types of
|
|
projectors that are requested in INCAR by specifying a set of sites, orbitals and types
|
|
of projectors. The calculated projectors are output into files **PROJCAR** and **LOCPROJ**.
|
|
The difference between these two files is that **LOCPROJ** contains raw matrices without
|
|
any reference to sites/orbitals, while **PROJCAR** is more detailed on that.
|
|
In particular, the information that can be obtained for each projector from **PROJCAR** is the following:
|
|
|
|
* site (and species) index
|
|
* for each `k`-point and band: a set of complex numbers for labeled orbitals
|
|
|
|
At the same time, **LOCPROJ** contains the total number of projectors (as well as the
|
|
number of `k`-points, bands, and spin channels) in the first line,
|
|
which can be used to allocate the arrays before parsing.
|
|
|
|
To enhance the performance of the parser, it is implemented in plain C. The idea is
|
|
that the python part of the parser first reads the first line of **LOCPROJ** and
|
|
then calls the C-routine with necessary parameters to parse **PROJCAR**.
|
|
|