LOCPROJ: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(33 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{TAGDEF|LOCPROJ| <sites> : <functions-Ylm-specs> : <functions-radial-specs> | None }}
{{TAGDEF|LOCPROJ| '''<sites>''' : '''<functions-Ylm-specs>''' : '''<functions-radial-specs>''' | None }}


Description: by means of the {{TAG|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 {{FILE|PROJCAR}}, {{FILE|LOCPROJ}}, and {{FILE|vasprun.xml}} files.
Description: The {{TAG|LOCPROJ}} tag specifies local functions on which the orbitals are projected. These projections are written to the {{FILE|PROJCAR}} file, [[#LOCPROJ_file|LOCPROJ file]], and {{FILE|vasprun.xml}} file.
----
----
{{NB|important|May also refer to [[#LOCPROJ_file|LOCPROJ file]].||Disambiguation}}


A valid {{TAG|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.
When the {{TAG|LOCPROJ}} tag is set, VASP performs the projection of the Kohn-Sham orbitals <math>|\psi_{n\mathbf{k}}\rangle</math> onto a localized orbitals basis <math>|\beta^\alpha_{lm}\rangle</math> which can be written as


* '''<sites>'''
<math>
: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 {{FILE|POSCAR}} file. For instance:
P^\alpha_{lmn\mathbf{k}}
\equiv \langle \beta_{lm}^{\alpha}|S|\psi_{n\mathbf{k}}\rangle
= \underbrace{\langle \beta_{lm}^{\alpha}|\psi_{n\mathbf{k}}\rangle}_{P^{\text{SOFT},\alpha}_{lmn\mathbf{k}}} +
\underbrace{\sum_{ij} \langle \beta^\alpha_{lm}|\tilde{p}_i\rangle Q_{ij} \langle \tilde{p}_j | \psi_{n\mathbf{k}}\rangle}_{P^{\text{AUG},\alpha}_{lmn\mathbf{k}}}.
</math>


1 2 6-8
Here, the two terms on the right-hand side are called soft and augmentation part, respectively. <math>S</math> is the overlap matrix,


:will select sites 1,2,6,7, and 8, as defined in the {{FILE|POSCAR}} file.
<math>S = 1+\sum_{ij} |\tilde{p}_i\rangle Q_{ij} \langle \tilde{p}_j|.</math>


:Alternatively one may specify a position in terms of direct coordinates of the real space lattice, for instance as:
The radial and the angular part of <math>\beta^\alpha_{lm}(\mathbf{r})</math> are described by the {{TAG|LOCPROJ}} tag, which comprises three parts separated by colons that are denoted as '''<sites>''', '''<functions-Ylm-specs>''', and '''<functions-radial-specs>'''. For instance, to perform the projection onto a hydrogen-like ''1s'' function on the first ionic position specified in the {{FILE|POSCAR}} file, the tag reads


  (0.5, 0, 0)
  LOCPROJ = 1 : s : Hy


:These modes of specification may be mixed as well, for instance as:
== Specifying the local basis ==


1 (0.5, 0, 0) 8  
* '''<sites>''': The sites on which the local functions are centered.
:It is specified either using the index of the ionic positions as defined in the {{FILE|POSCAR}} file, or in terms of direct coordinates of the real space lattice. For instance, <code>1 2 6-8</code> will select sites 1, 2, 6, 7, and 8 as defined in the {{FILE|POSCAR}} file. On the other hand, <code>(0.5, 0, 0)</code> specifies the position in terms of direct coordinates of the real space lattice. The modes of the specification can be mixed as well, e.g., <code> 1 (0.5, 0, 0) 8</code>.


* '''<functions-Ylm-specs>'''
* '''<functions-Ylm-specs>''': The angular character of the local functions on the specified sites.
:The angular character of the local functions on the specified sites. Valid specifications are:
:Possible specifications are presented in the table below.


:{| border="1" cellspacing="0" cellpadding="5"
:{| border="1" cellspacing="0" cellpadding="5"
Line 51: Line 57:
|}
|}


:The definition of the ''sp'', ''sp2'', ''sp3'', ''sp3d'', and ''sp3d2'' hybrid functions is consistent with the definition used by [http://www.wannier.org WANNIER90] (see section 3.4 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).
: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 [http://www.wannier.org WANNIER90] (see section 3.4 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).
 
:These specifiers may be combined as well:
 
p sp-1 dxy


:which is means: "put ''p'' functions (&equiv; ''p''<sub>x</sub>, ''p''<sub>y</sub>, and ''p''<sub>z</sub>), a ''sp''-1 function, and a ''d''<sub>xy</sub> function on all sites specified in the ''<sites>'' part.
:It is possible to select multiple characters by creating a list separated by spaces, e.g., <code>p sp-1 dxy</code> performs a projection for all ''p'' functions (&equiv; ''p''<sub>x</sub>, ''p''<sub>y</sub>, and ''p''<sub>z</sub>), an ''sp''-1 function, and a ''d''<sub>xy</sub> function on all sites specified by '''<sites>'''.


* '''<functions-radial-specs>'''
* '''<functions-radial-specs>''': The radial dependency of the local functions.
:The radial part of the local functions may be of one of the three following types:
:There are three options:
::'''Pr''': use the PAW projectors
::'''Pr''': use the PAW projectors
::'''Ps''': use the PAW pseudo partial waves
::'''Ps''': use the PAW pseudo partial waves
::'''Hy''': use hydrogen-like (Slater type) functions (see section 3.4 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual])
::'''Hy''': use hydrogen-like (Slater type) functions (see section 3.4 of the [http://www.wannier.org/doc/user_guide.pdf 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.
:{{NB|mind| For '''Pr''' or '''Ps''', which are radial functions derived from the PAW datasets, one can only specify 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:
:The radial specifiers can optionally be modified using the following modification statements:
::'''Pr''' [ ''n<sup>th</sup>-of-l''  [ ''species-number'' ] ]
::'''Pr''' [ ''n<sup>th</sup>-of-l''  [ ''species-number'' ] ]
::: ''n<sup>th</sup>-of-l'': tells the code to use the radial function of the ''n<sup>th</sup>'' 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.
::: ''n<sup>th</sup>-of-l'': Uses the radial function of the ''n<sup>th</sup>'' projector with the angular moment specified in '''<functions-Ylm-specs>'''. The local basis of our PAW datasets typically contains 2 projectors per angular moment. By default, the projector that corresponds to the highest bound state of the relevant angular moment will be used.


::: ''species-number'': is a modifier that may be used to specify from which PAW dataset in the current {{FILE|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 {{FILE|POSCAR}} file, the code will default to the corresponding atomic types.   
::: ''species-number'': Specifies from which PAW dataset in the current {{FILE|POTCAR}} file the radial functions should be derived. When the positions of the local functions are specified using the ionic site indices of the {{FILE|POSCAR}} file, the code will default to the corresponding atomic types.   




::'''Ps''' [ ''n<sup>th</sup>-of-l''  [ ''species-number'' ] ]
::'''Ps''' [ ''n<sup>th</sup>-of-l''  [ ''species-number'' ] ]
::: ''n<sup>th</sup>-of-l'': tells the code to use the radial function of the ''n<sup>th</sup>'' 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.
::: ''n<sup>th</sup>-of-l'': Uses the radial function of the ''n<sup>th</sup>'' pseudo partial wave with the angular moment specified in '''<functions-Ylm-specs>'''. The local basis of our PAW datasets typically contains 2 pseudo partial waves per angular moment. By default, the pseudo partial wave that corresponds to the highest bound state of the relevant angular moment is used.
 
::: ''species-number'': Specifies from which PAW dataset in the current {{FILE|POTCAR}} file the radial functions should be derived. When the positions of the local functions are specified using the ionic site indices of the {{FILE|POSCAR}} file, the default is the corresponding atomic type. 
 
 
::'''Hy''' [ ''n''  [ ''&alpha;'' ] ]
::: ''n'': Main quantum number of the hydrogen-like radial functions. Default: ''n=1''.
::: ''&alpha;'': controls the diffusivity of the [[hydrogenic radial function|radial functions]] ( ''&alpha;=Z/a<sub>0</sub>'' in &Aring;<sup>-1</sup>). Default:  ''&alpha;''=1.0 &Aring;<sup>-1</sup>.


::: ''species-number'': is a modifier that may be used to specify from which PAW dataset in the current {{FILE|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 {{FILE|POSCAR}} file, the code will default to the corresponding atomic types.
:::{| border="1" cellspacing="0" cellpadding="5"
|+''n''s type Hydrogen radial wave functions
! <math>n</math>
! <math>R(r)</math>
|-
| <math>1</math> || <math>2\alpha^{3/2}\exp(-\alpha r)</math>
|-
| <math>2</math> || <math>\frac{1}{2\sqrt 2}\alpha^{3/2}(2-\alpha r)\exp(-\alpha r /2)</math>
|-
| <math>3</math> || <math>{\sqrt \frac{4}{27}}\alpha^{3/2}(1-2\alpha r/3+2\alpha^2 r^2/27)\exp(-\alpha r /3)</math>
|}
::: This is consistent with the definition of the ''initial guesses'' used by [http://www.wannier.org WANNIER90] (section 3.4 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).


{{NB|important| Different projections have to be specified in multiple lines, as the {{TAG|LOCPROJ}} tag can only be set once.}}  For instance,


::'''Hy''' [ ''n''  [ ''Z''<sub>&alpha;</sub> ] ]
LOCPROJ = "1 : s : Hy 2
::: ''n'': the main quantum number of the hydrogenic radial function. Default: ''n=1''.
            1 3 : dxy : Ps 2 3"
::: ''Z''<sub>&alpha;</sub>: controls the diffusivity of the radial functions (in &Aring;<sup>-1</sup>). Default:  ''Z''<sub>&alpha;</sub>=1.0 &Aring;<sup>-1</sup>.
performs the projection onto a hydrogen-like ''2s'' function and a ''d''<sub>xy</sub> pseudo partial wave (2<sup>nd</sup> ''d'' channel of atomic species 3) on ionic site 1, and a ''d''<sub>xy</sub> pseudo partial wave (identical type) on site 3.
{{NB|deprecated|For VASP versions <{{=}} 6.1.x, multiple occurrences of the {{TAG|LOCPROJ}} tag are allowed and taken into account.}}
For other tags, the second instance of a tag in the {{FILE|INCAR}} is normally ignored. However, here


::: (section 3.4 of the [http://www.wannier.org/doc/user_guide.pdf WANNIER90 manual]).
LOCPROJ = 1 : s : Hy 2
LOCPROJ = 1 3 : dxy : Ps 2 3


is possible.


* '''Examples'''
==Example for LOCPROJ tag==
:Combining the above, we might specify:
 
As mentioned above, to put a hydrogen-like ''1s'' function on the first ionic position specified in the {{FILE|POSCAR}} file, the tag reads


  LOCPROJ = 1 : s : Hy
  LOCPROJ = 1 : s : Hy


:to put a hydrogenic ''1s'' function on the first ionic position specified in the {{FILE|POSCAR}} file. To change this into a ''2s'' function, one would specify
in the {{FILE|INCAR}} file. To change this into a ''2s'' function, specify


  LOCPROJ = 1 : s : Hy 2
  LOCPROJ = 1 : s : Hy 2


:To project the orbitals onto the PAW projectors of the valence atomic ''d''<sub>xy</sub>-states of the atoms on sites 1 and 3:
To project the orbitals onto the PAW projectors of the valence atomic ''d''<sub>xy</sub>-states of the atoms on sites 1 and 3, write


  LOCPROJ = 1 3 : dxy : Pr
  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.
This will only work if the atoms on these sites have valence atomic ''d''-states. Otherwise, the necessary projectors will not be available in the relevant PAW datasets, and the code will exit in error at startup.


:To forceably use the radial function of the second ''d'' channel:
To forcibly use the radial function of the second ''d'' channel, write


  LOCPROJ = 1 3 : dxy : Pr 2
  LOCPROJ = 1 3 : dxy : Pr 2


Again, provided the PAW dataset(s) actually contain more than one ''d'' channel.
Again, provided the PAW dataset(s) contain more than one ''d'' channel.
Similarly, one can project onto the pseudo partial waves of the second ''d'' channel in the PAW dataset(s) by writing
 
LOCPROJ = 1 3 : dxy : Ps 2
 
To project onto the functions of the third PAW dataset in the {{FILE|POTCAR}} file, specify
 
LOCPROJ = 1 3 : dxy : Ps 2 3


== The {{FILE|LOCPROJ}} file ==
== {{FILE|LOCPROJ}} file ==


The {{FILE|LOCPROJ}} file contains information about the projections of the Bloch states onto the localized orbitals specified with the {{TAG|LOCPROJ}} tag described above.
The file contains a header with the information about all projections:
* ISITE: Index of the site in the {{FILE|POSCAR}} file.
* R: Position in fractional coordinates.
* Radial type: Is one of "PAW projector","PS partial wave", "Hydrogen-like" depending on the choice of '''Pr''', '''Ps''' or '''Hy''', respectively.
* Angular type: Angular character of the local functions, as presented in the table above in '''<functions-Ylm-specs>'''.
Each Kohn-Sham orbital is identified by the spin, k point, band index, eigenvalue, and occupation.
For each of these Kohn-Sham orbitals, VASP writes the real and imaginary part of the projection onto localized orbitals <math>\langle \beta_{lm}^{\alpha}|S|\psi_{n\mathbf{k}}\rangle</math>. Note that for '''vasp_gam''' only the real part exists.
== Related tags and articles ==
{{TAG|LORBIT}}, {{FILE|PROJCAR}}
{{sc|MYTAG|Examples|Examples that use this tag}}
== References ==
<references/>
----


== Related Tags and Sections ==
[[Category:INCAR tag]][[Category:Wannier functions]][[Category:Files]]
{{TAG|LORBIT}}

Latest revision as of 09:47, 9 September 2024

LOCPROJ = <sites> : <functions-Ylm-specs> : <functions-radial-specs>
Default: LOCPROJ = None 

Description: The LOCPROJ tag specifies local functions on which the orbitals are projected. These projections are written to the PROJCAR file, LOCPROJ file, and vasprun.xml file.


Disambiguation May also refer to LOCPROJ file.

When the LOCPROJ tag is set, VASP performs the projection of the Kohn-Sham orbitals onto a localized orbitals basis which can be written as

Here, the two terms on the right-hand side are called soft and augmentation part, respectively. is the overlap matrix,

The radial and the angular part of are described by the LOCPROJ tag, which comprises three parts separated by colons that are denoted as <sites>, <functions-Ylm-specs>, and <functions-radial-specs>. For instance, to perform the projection onto a hydrogen-like 1s function on the first ionic position specified in the POSCAR file, the tag reads

LOCPROJ = 1 : s : Hy

Specifying the local basis

  • <sites>: The sites on which the local functions are centered.
It is specified either using the index of the ionic positions as defined in the POSCAR file, or in terms of direct coordinates of the real space lattice. For instance, 1 2 6-8 will select sites 1, 2, 6, 7, and 8 as defined in the POSCAR file. On the other hand, (0.5, 0, 0) specifies the position in terms of direct coordinates of the real space lattice. The modes of the specification can be mixed as well, e.g., 1 (0.5, 0, 0) 8.
  • <functions-Ylm-specs>: The angular character of the local functions on the specified sites.
Possible specifications are presented in the table below.
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).
It is possible to select multiple characters by creating a list separated by spaces, e.g., p sp-1 dxy performs a projection for all p functions (≡ px, py, and pz), an sp-1 function, and a dxy function on all sites specified by <sites>.
  • <functions-radial-specs>: The radial dependency of the local functions.
There are three options:
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)
Mind: For Pr or Ps, which are radial functions derived from the PAW datasets, one can only specify 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 can optionally be modified using the following modification statements:
Pr [ nth-of-l [ species-number ] ]
nth-of-l: Uses the radial function of the nth projector with the angular moment specified in <functions-Ylm-specs>. The local basis of our PAW datasets typically contains 2 projectors per angular moment. By default, the projector that corresponds to the highest bound state of the relevant angular moment will be used.
species-number: Specifies from which PAW dataset in the current POTCAR file the radial functions should be derived. When the positions of the local functions are specified using 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: Uses the radial function of the nth pseudo partial wave with the angular moment specified in <functions-Ylm-specs>. The local basis of our PAW datasets typically contains 2 pseudo partial waves per angular moment. By default, the pseudo partial wave that corresponds to the highest bound state of the relevant angular moment is used.
species-number: Specifies from which PAW dataset in the current POTCAR file the radial functions should be derived. When the positions of the local functions are specified using the ionic site indices of the POSCAR file, the default is the corresponding atomic type.


Hy [ n [ α ] ]
n: Main quantum number of the hydrogen-like radial functions. Default: n=1.
α: controls the diffusivity of the radial functions ( α=Z/a0 in Å-1). Default: α=1.0 Å-1.
ns type Hydrogen radial wave functions
This is consistent with the definition of the initial guesses used by WANNIER90 (section 3.4 of the WANNIER90 manual).


Important: Different projections have to be specified in multiple lines, as the LOCPROJ tag can only be set once.

For instance,

LOCPROJ = "1 : s : Hy 2
           1 3 : dxy : Ps 2 3"

performs the projection onto a hydrogen-like 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.

Deprecated: For VASP versions <= 6.1.x, multiple occurrences of the LOCPROJ tag are allowed and taken into account.

For other tags, the second instance of a tag in the INCAR is normally ignored. However, here

LOCPROJ = 1 : s : Hy 2
LOCPROJ = 1 3 : dxy : Ps 2 3

is possible.

Example for LOCPROJ tag

As mentioned above, to put a hydrogen-like 1s function on the first ionic position specified in the POSCAR file, the tag reads

LOCPROJ = 1 : s : Hy

in the INCAR file. To change this into a 2s function, 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, write

LOCPROJ = 1 3 : dxy : Pr

This will only work if the atoms on these sites have valence atomic d-states. Otherwise, the necessary projectors will not be available in the relevant PAW datasets, and the code will exit in error at startup.

To forcibly use the radial function of the second d channel, write

LOCPROJ = 1 3 : dxy : Pr 2

Again, provided the PAW dataset(s) contain more than one d channel. Similarly, one can project onto the pseudo partial waves of the second d channel in the PAW dataset(s) by writing

LOCPROJ = 1 3 : dxy : Ps 2

To project onto the functions of the third PAW dataset in the POTCAR file, specify

LOCPROJ = 1 3 : dxy : Ps 2 3

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: Index of the site in the POSCAR file.
  • R: Position in fractional coordinates.
  • Radial type: Is one of "PAW projector","PS partial wave", "Hydrogen-like" depending on the choice of Pr, Ps or Hy, respectively.
  • Angular type: Angular character of the local functions, as presented in the table above in <functions-Ylm-specs>.

Each Kohn-Sham orbital is identified by the spin, k point, band index, eigenvalue, and occupation. For each of these Kohn-Sham orbitals, VASP writes the real and imaginary part of the projection onto localized orbitals . Note that for vasp_gam only the real part exists.

Related tags and articles

LORBIT, PROJCAR

Examples that use this tag

References