LOCPROJ: Difference between revisions
No edit summary |
No edit summary |
||
Line 158: | Line 158: | ||
---- | ---- | ||
[[The_VASP_Manual|Contents]] | [[The_VASP_Manual|Contents]] | ||
[[Category:INCAR]][[Category: | [[Category:INCAR]][[Category:Wannier Functions]] |
Revision as of 07:23, 26 November 2021
LOCPROJ = <sites> : <functions-Ylm-specs> : <functions-radial-specs>
Default: LOCPROJ = None
Description: by means of the LOCPROJ-tag one may specify a (set of) local function(s) on which the orbitals are to be projected. These projections are written to the PROJCAR, LOCPROJ, and vasprun.xml files.
A valid LOCPROJ specification consists of three parts separated by colons (":"), above denoted as <sites>, <functions-Ylm-specs>, and <functions-radial-specs>. These parts define the sites on which the local functions are centered, specify their angular character, and their radial behaviour, respectively.
- <sites>
- The sites on which the local functions are centered may be specified in two ways. One can use the index of the ionic positions as defined in the POSCAR file. For instance:
1 2 6-8
- will select sites 1,2,6,7, and 8, as defined in the POSCAR file.
- Alternatively one may specify a position in terms of direct coordinates of the real space lattice, for instance as:
(0.5, 0, 0)
- These modes of specification may be mixed as well, for instance as:
1 (0.5, 0, 0) 8
- <functions-Ylm-specs>
- The angular character of the local functions on the specified sites. Valid specifications are:
s p py pz px d dxy dyz dz2 dxz dx2-y2 f fy(3x2-y2) fxyz fyz2 fz3 fxz2 fz(x2-y2) fx(x2-3y2) sp sp-1 sp-2 sp2 sp2-1 sp2-2 sp2-3 sp3 sp3-1 sp3-2 sp3-3 sp3-4 sp3d sp3d-1 sp3d-2 sp3d-3 sp3d-4 sp3d-5 sp3d2 sp3d2-1 sp3d2-2 sp3d2-3 sp3d2-4 sp3d2-5 sp3d2-6
- For more details have a look at the section on angular functions. These functions are consistent with the definition of the initial guesses used by WANNIER90 (see section 3.4 of the WANNIER90 manual).
- These specifiers may be combined as well:
p sp-1 dxy
- which is means: "put p functions (≡ px, py, and pz), a sp-1 function, and a dxy function on all sites specified in the <sites> part.
- <functions-radial-specs>
- The radial part of the local functions may be of one of the three following types:
- Pr: use the PAW projectors
- Ps: use the PAW pseudo partial waves
- Hy: use hydrogen-like (Slater type) functions (see section 3.4 of the WANNIER90 manual)
- Caveat: when using radial functions derived from the PAW datasets, i.e., of type Pr or Ps, one can only specify pure spherical harmonics with the same angular moment l in the <functions-Ylm-specs> part. This means, s, p, d, f, and/or their respective separate constituents.
- The radial specifiers may be modified using (optional) modification statements:
- Pr [ nth-of-l [ species-number ] ]
- nth-of-l: tells the code to use the radial function of the nth projector with the angular moment specified in the <functions-Ylm-specs> part. The local basis of our PAW datasets typically contains 2 channels (projectors) per angular moment. By default, the projector that corresponds to the highest bound state of the relevant angular moment will be used.
- Pr [ nth-of-l [ species-number ] ]
- species-number: is a modifier that may be used to specify from which PAW dataset in the current POTCAR file the radial functions should be derived. When the positions of the local functions are specified by means of the ionic site indices of the POSCAR file, the code will default to the corresponding atomic types.
- Ps [ nth-of-l [ species-number ] ]
- nth-of-l: tells the code to use the radial function of the nth pseudo partial wave with the angular moment specified in the <functions-Ylm-specs> part. The local basis of our PAW datasets typically contains 2 channels (pseudo partial waves) per angular moment. By default, the pseudo partial wave that corresponds to the highest bound state of the relevant angular moment will be used.
- Ps [ nth-of-l [ species-number ] ]
- species-number: is a modifier that may be used to specify from which PAW dataset in the current POTCAR file the radial functions should be derived. When the positions of the local functions are specified by means of the ionic site indices of the POSCAR file, the code will default to the corresponding atomic types.
- Hy [ n [ α ] ]
- n: the main quantum number of the hydrogenic radial function. Default: n=1.
- α: controls the diffusivity of the radial functions ( α=Z/a0 in Å-1). Default: α=1.0 Å-1.
- Hy [ n [ α ] ]
- This is consistent with the definition of the initial guesses used by WANNIER90 (section 3.4 of the WANNIER90 manual).
- Examples
- Combining the above, we might specify:
LOCPROJ = 1 : s : Hy
- to put a hydrogenic 1s function on the first ionic position specified in the POSCAR file. To change this into a 2s function, one would specify
LOCPROJ = 1 : s : Hy 2
- To project the orbitals onto the PAW projectors of the valence atomic dxy-states of the atoms on sites 1 and 3:
LOCPROJ = 1 3 : dxy : Pr
- Of course, this will only work if the atoms on these sites actually have valence atomic d-states, otherwise the necessary projectors will not be available in the relevant PAW datasets. When this is not the case, the code will exit in error at startup.
- To forceably use the radial function of the second d channel:
LOCPROJ = 1 3 : dxy : Pr 2
- Again, provided the PAW dataset(s) actually contain more than one d channel.
- Very similarly one may project onto the pseudo partial waves of the second d channel in the PAW dataset(s):
LOCPROJ = 1 3 : dxy : Ps 2
- and to project onto the aforementioned functions of the third PAW dataset in the POTCAR file:
LOCPROJ = 1 3 : dxy : Ps 2 3
For VASP versions up to 6.1.x multiple occurrences of the LOCPROJ tag are allowed and meaningful (normally the second instance of a tag in the INCAR is ignored), i.e.,
LOCPROJ = 1 : s : Hy 2 LOCPROJ = 1 3 : dxy : Ps 2 3
- will put a hydrogenic 2s function and a dxy pseudo partial wave (2nd d channel of atomic species 3) on ionic site 1, and a dxy pseudo partial wave (identical type) on site 3.
For VASP 6.2.x and above only one LOCPROJ tag is allowed and the different projections have to be specified in multiple lines:
LOCPROJ = "1 : s : Hy 2 1 3 : dxy : Ps 2 3"
The PROJCAR file
The PROJCAR file contains information about the projections of the Bloch states onto the localized orbitals specified with the LOCPROJ tag described above. This file is built specifically to be human-readable but contains the same information as the LOCPROJ file described in the next section.
For every localized orbital that is generated a line is written with the following information:
- ISITE: the index of the site in the POSCAR file
- R: the position in fractional coordinates
- Radial type: can be one of "PAW projector","PS partial wave", "Hydrogen-like" depending on the choice of Pr, Ps or Hy respectively.
Then for each Bloch state, the k-point and spin indexes are reported. For each band, the value of the projection onto the different angular characters of this radial function (see table in <functions-Ylm-specs>) is written.
The LOCPROJ file
The LOCPROJ file contains information about the projections of the Bloch states onto the localized orbitals specified with the LOCPROJ tag described above.
The file contains a header with the information about all projections:
- ISITE: the index of the site in the POSCAR file
- R: the position in fractional coordinates
- Radial type: can be one of "PAW projector","PS partial wave", "Hydrogen-like" depending on the choice of Pr, Ps or Hy respectively.
- Angular type: the angular character of the local functions (see table in <functions-Ylm-specs>).
Each Bloch orbital is identified by the spin, k-point, band index, eigenvalue, and occupation. For each of these Bloch orbitals the real and imaginary part (or only the real part for vasp_gam) of the projection onto localized orbitals is written.