LREAL: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(41 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{TAGDEF|LREAL|.TRUE. {{!}} .FALSE. {{!}} On (or O) {{!}} Auto (or A)|.FALSE.}}
{{TAGDEF|LREAL|.FALSE. {{!}} Auto (or A) {{!}} On (or O) {{!}} .TRUE. |.FALSE.}}


Description: {{TAG|LREAL}} determines whether the projection operators are evaluated in real-space or in reciprocal space.
Description: {{TAG|LREAL}} determines whether the projection operators are evaluated in real-space or in reciprocal space.
Line 6: Line 6:
|{{TAG|LREAL}}=.FALSE.  || projection done in reciprocal space
|{{TAG|LREAL}}=.FALSE.  || projection done in reciprocal space
|-
|-
|{{TAG|LREAL}}=.TRUE.  || projection done in real space, (old, superseded by {{TAG|LREAL}}=O)
|{{TAG|LREAL}}=Auto or A|| projection done in real space, fully automatic optimization of projection operators (little to no user interference required)
|-
|-
|{{TAG|LREAL}}=On or O  || projection done in real space, projection operators are re-optimized
|{{TAG|LREAL}}=On or O  || projection done in real space, projection operators are re-optimized (not recommended)
|-
|-
|{{TAG|LREAL}}=Auto or A|| projection done in real space, fully automatic optimization of projection operators (no user interference required)
|{{TAG|LREAL}}=.TRUE.  || projection done in real space, use projectors on file (not recommended)
|}
|}




The non local part of the pseudopotential requires the evaluation of an expression:
The nonlocal part of the [[:Category:Pseudopotentials|pseudopotential]] requires the evaluation of an expression:




::<math>\sum_{ij}D_{ij}|\beta_j\rangle\langle\beta_i|\psi_{n\mathbf{k}}\rangle</math>.
::<math>\sum_{ij}D_{ij}|\beta_j\rangle\langle\beta_i|\tilde{\psi}_{n\mathbf{k}}\rangle</math>.


where the "projected wavefunction character" is defined as:
where the "projected wavefunction character" is defined as:


<span id="cproj">
<span id="cproj">
::<math>\begin{align}C_{in\mathbf{k}}=\langle\beta_i|\psi_{n\mathbf{k}}\rangle &=\frac{\Omega}{N_{\rm FFT}}\sum_{\mathbf{r}}\langle\beta_i|\mathbf{r}\rangle\langle\mathbf{r}|\phi_{n\mathbf{k}}\rangle=\frac{\Omega}{N_{\rm FFT}}\sum_{\mathbf{r}}\beta(\mathbf{r})\phi_{n\mathbf{k}}(\mathbf{r}) \\ &=\sum_{\mathbf{G}}\langle\beta_i|\mathbf{k}+\mathbf{G}\rangle\langle\mathbf{k}+\mathbf{G}|\phi_{n\mathbf{k}}\rangle=\sum_\mathbf{G}\bar\beta(\mathbf{k}+\mathbf{G}) C_{\mathbf{G}n\mathbf{k}}\end{align}</math>
::<math>\begin{align}C_{in\mathbf{k}}=\langle\beta_i|\tilde{\psi}_{n\mathbf{k}}\rangle &=\frac{\Omega}{N_{\rm FFT}}\sum_{\mathbf{r}}\langle\beta_i|\mathbf{r}\rangle\langle\mathbf{r}|\tilde{\psi}_{n\mathbf{k}}\rangle=\frac{\Omega}{N_{\rm FFT}}\sum_{\mathbf{r}}\beta(\mathbf{r})\tilde{\psi}_{n\mathbf{k}}(\mathbf{r}) \\ &=\sum_{\mathbf{G}}\langle\beta_i|\mathbf{k}+\mathbf{G}\rangle\langle\mathbf{k}+\mathbf{G}|\tilde{\psi}_{n\mathbf{k}}\rangle=\sum_\mathbf{G}\bar\beta(\mathbf{k}+\mathbf{G}) C_{\mathbf{G}n\mathbf{k}}\end{align}</math>
</span>
</span>


This expression can be evaluated in reciprocal or real space: In reciprocal space (second line) the number of operations scales with the size of the basis set (i.e. number of plane-waves). In real space (first line) the projection-operators are confined to spheres around each atom. Therefore the number of operations necessary to evaluate one C<sub>in'''k'''</sub> does not increase with the system size (usually the number of grid points within the cut-off-sphere is between 500 and 2000). One of the major obstacles of the method working in real space is that the projection operators must be optimized, i.e. all high frequency components must be removed from the projection operators. If this is not done "aliasing" can happen (i.e. the high frequency components of the projection operators are downfolded to low frequency components and a random noise is introduced).
This expression can be evaluated in reciprocal or real space: In reciprocal space (second line), the number of operations scales with the size of the basis set, i.e., number of plane waves. In real space (first line), the projection operators are confined to spheres around each atom. Therefore, the number of operations necessary to evaluate one C<sub>in'''k'''</sub> does not increase with the system size (usually, the number of grid points within the cutoff sphere is between 500 and 2000). One of the major obstacles to the method working in real space is that the projection operators must be optimized, i.e., all high Fourier components must be removed from the projection operators. If this is not done, [[Wrap-around errors|aliasing]] can happen, i.e., the high Fourier components of the projection operators are downfolded to low Fourier components, and random noise is introduced).


Currently VASP supports three different schemes to remove the high frequency components from the projectors. {{TAG|LREAL}}=.TRUE. is the simplest one. If {{TAG|LREAL}}=.TRUE. is selected, the real space projectors which have been generated by the pseudopotential generation code are used. This requires no user interference. For {{TAG|LREAL}}=On the real space projectors are optimized by VASP using an algorithm proposed by King-Smith et al.<ref name="kingsmith:prb:91"/> For {{TAG|LREAL}}=Auto a new scheme<ref name="kresse:tobepublished"/> is used which is considerably better (resulting in more localized) projector functions than the King-Smith et al. method. To fine-tune the optimization procedure the flag {{TAG|ROPT}} can be used if {{TAG|LREAL}}=Auto or {{TAG|LREAL}}=On is used.
Currently, VASP supports three different schemes to remove the high Fourier components from the projectors. {{TAG|LREAL}}=.TRUE. is the simplest one. For {{TAG|LREAL}}=.TRUE., the real-space projectors that the pseudopotential generation code has generated are used. This requires no user interference but is potentially very inaccurate. For the outdated {{TAG|LREAL}}=On, the real space projectors are optimized by VASP using an algorithm proposed by King-Smith et al.{{cite|king-smith:prb:1991}} For the recommended {{TAG|LREAL}}=Auto, an unpublished scheme<ref name="kresse:tobepublished"/> is used which results in simultaneously more accurate and localized projector functions than for the King-Smith et al. method. To fine-tune the optimization procedure, the tag {{TAG|ROPT}} can and should be used, if {{TAG|LREAL}}=Auto (or {{TAG|LREAL}}=On) is used. Specifically, perform first reference calculations using {{TAG|LREAL}}=.False. and decrease {{TAG|ROPT}} until an acceptable accuracy, e.g., 1 meV/atom, is attained. Please also check carefully the documentation for {{TAG|ROPT}}.


We recommend to use the real-space projection scheme for systems containing more than 20 atoms. We also recommend to use only {{TAG|LREAL}}=Auto (for version VASP.4.4 and newer releases) and {{TAG|LREAL}}=On (for all other versions). Version 4.4 also supports the old mode {{TAG|LREAL}}=O to allow calculations that are fully compatible to VASP.4.3 (and VASP.3.2). The best performance is generally achieved with {{TAG|LREAL}}=Auto, but if performance is not that important you can also use {{TAG|LREAL}}=.TRUE. which generally requires less user interference. You can skip the rest of the paragraph, if you use only {{TAG|LREAL}}=.TRUE..
We recommend using the real-space projection scheme for systems containing more than about 30 atoms. We also strongly recommend using only {{TAG|LREAL}}=Auto.


For {{TAG|LREAL}}=O and {{TAG|LREAL}}=A the projection operators are optimized by VASP on the fly (i.e. on startup). Several flags influence the optimization:
For {{TAG|LREAL}}=A (and {{TAG|LREAL}}=O) the projection operators are optimized by VASP on the fly (i.e. on startup). Several tags influence the optimization:


*{{TAG|ENCUT}} (i.e. the energy cutoff), components beyond the energy cutoff are 'removed' from the projection operators.
*{{TAG|ENCUT}} (i.e., the energy cutoff), components beyond the energy cutoff are 'removed' from the projection operators.


*{{TAG|PREC}} tag specifies how precise the real space projectors should be, and sets the variables {{TAG|ROPT}} accordingly to the following values:
*{{TAG|PREC}} tag specifies how precise the real-space projectors should be and sets the variables {{TAG|ROPT}} accordingly to the following values:


:For {{TAG|LREAL}}=On
:For {{TAG|LREAL}}=Auto
::{|
::{|
|{{TAG|PREC}}=Low || 700 points in the real space sphere ({{TAG|ROPT}}=0.67)
|{{TAG|ROPT}}=-5E-4 || if {{TAG|PREC}}=Normal
|-
|-
|{{TAG|PREC}}=Med || 1000 points in the real space sphere ({{TAG|ROPT}}=1.0)
|{{TAG|ROPT}}=-5E-4 || if {{TAG|PREC}}=Single or SingleN
|-
|-
|{{TAG|PREC}}=High|| 1500 points in the real space sphere ({{TAG|ROPT}}=1.5)
|{{TAG|ROPT}}=-2.5E-4 || if {{TAG|PREC}}=Accurate
|-
|{{TAG|ROPT}}=-0.01 || if {{TAG|PREC}}=Low
|-
|{{TAG|ROPT}}=-0.002 || if {{TAG|PREC}}=Medium
|-
|{{TAG|ROPT}}=-4E-4|| if {{TAG|PREC}}=High
|}
|}


:For {{TAG|LREAL}}=Auto
:For {{TAG|LREAL}}=On
::{|
::{|
|{{TAG|PREC}}=Low || accuracy 1&nbsp;·&nbsp;10<sup>-2</sup> ({{TAG|ROPT}}=0.01)
|{{TAG|ROPT}}=2/3 || if {{TAG|PREC}}=Low
|-
|-
|{{TAG|PREC}}=Med || accuracy 2&nbsp;·&nbsp;10<sup>-3</sup> ({{TAG|ROPT}}=0.002)
|{{TAG|ROPT}}=1.0 || if {{TAG|PREC}}=Medium
|-
|-
|{{TAG|PREC}}=High|| accuracy 2&nbsp;·&nbsp;10<sup>-4</sup> ({{TAG|ROPT}}=2E-4)
|{{TAG|ROPT}}=1.5|| if {{TAG|PREC}}=High
|}
|}


:These defaults can be superseded by specifying the {{TAG|ROPT}}-tag in the {{FILE|INCAR}} file.
:These defaults can be superseded by specifying the {{TAG|ROPT}} tag in the {{FILE|INCAR}} file.
 
{{NB|mind|
 
*Real-space optimization ({{TAG|LREAL}}{{=}}Auto) always results in a small (not necessarily negligible) error. The error is usually a constant energy shift for each atom. If you are interested in energy differences, use only calculations with the same setup (i.e., same {{TAG|ENCUT}}, {{TAG|PREC}}, {{TAG|LREAL}} and {{TAG|ROPT}} setting) for all calculations. For example, if you want to calculate surface or defect energies, recalculate the bulk ground-state energy with exactly the same setting you are using for the surface. Another possibility is to relax the structure using real-space projection and to perform one final total-energy calculation using {{TAG|LREAL}}{{=}}.FALSE. to get exact energies. For {{TAG|PREC}}{{=}}Normal, the errors introduced by the real-space projection are usually of the same order of magnitude as those introduced by the [[Wrap-around errors|wrap-around errors]]. For {{TAG|PREC}}{{=}}Accurate errors are usually less than 1 meV/atom. {{TAG|PREC}}{{=}}Low should be used only for, say, fast [[MD|molecular-dynamics calculations]], if compute resources are really an issue.
'''Mind''': Real space optimization ({{TAG|LREAL}}=.TRUE., On, or Auto) always results in a small (not necessarily negligible) error (the error is usually a constant energy shift for each atom). If you are interested in energy differences of a few meV use only calculations with the same setup (i.e. same {{TAG|ENCUT}}, {{TAG|PREC}}, {{TAG|LREAL}} and {{TAG|ROPT}} setting) for all calculations. For example, if you want to calculate surface energies recalculate the bulk groundstate energy with exactly the same setting you are going to use for the surface. Another possibility is to relax the surface with real space projection, and to do one final total energy calculation with {{TAG|LREAL}}=.FALSE. to get exact energies. Anyway, for {{TAG|PREC}}=Med, the errors introduced by the real space projection are usually of the same order magnitude as those introduced by the wrap around errors. For {{TAG|PREC}}=High errors are usually less than meV. {{TAG|PREC}}=Low should be used only for high speed MD's, if computer resources are really a problem.
*When the energy cutoff {{TAG|ENCUT}} is increased significantly w.r.t. their defaults, the real-space projection scheme sometimes becomes unreliable, and it might be necessary to decrease {{TAG|ROPT}} to values as small as {{TAG|ROPT}}{{=}}1E-4.}}


== Related Tags and Sections ==
== Related tags and articles ==
{{TAG|ROPT}},
{{TAG|ROPT}},
{{TAG|PREC}}
{{TAG|PREC}}


== Example Calculations using this Tag ==
{{sc|LREAL|Examples|Examples that use this tag}}
{{TAG|liquid Si}}


== References ==
== References ==
<references>
<references>
<ref name="kingsmith:prb:91">[http://link.aps.org/doi/10.1103/PhysRevB.44.13063 R.D. King-Smith, M.C. Payne and J.S. Lin, Phys. Rev B 44, 13063 (1991).]</ref>
<ref name="kresse:tobepublished">G. Kresse, Unpublished.</ref>
<ref name="kresse:tobepublished">G. Kresse, to be published.</ref>
</references>
</references>
----
----
[[The_VASP_Manual|Contents]]


[[Category:INCAR]]
[[Category:INCAR tag]][[Category:Projector-augmented-wave method]]

Latest revision as of 11:37, 21 October 2024

LREAL = .FALSE. | Auto (or A) | On (or O) | .TRUE.
Default: LREAL = .FALSE. 

Description: LREAL determines whether the projection operators are evaluated in real-space or in reciprocal space.


LREAL=.FALSE. projection done in reciprocal space
LREAL=Auto or A projection done in real space, fully automatic optimization of projection operators (little to no user interference required)
LREAL=On or O projection done in real space, projection operators are re-optimized (not recommended)
LREAL=.TRUE. projection done in real space, use projectors on file (not recommended)


The nonlocal part of the pseudopotential requires the evaluation of an expression:


.

where the "projected wavefunction character" is defined as:

This expression can be evaluated in reciprocal or real space: In reciprocal space (second line), the number of operations scales with the size of the basis set, i.e., number of plane waves. In real space (first line), the projection operators are confined to spheres around each atom. Therefore, the number of operations necessary to evaluate one Cink does not increase with the system size (usually, the number of grid points within the cutoff sphere is between 500 and 2000). One of the major obstacles to the method working in real space is that the projection operators must be optimized, i.e., all high Fourier components must be removed from the projection operators. If this is not done, aliasing can happen, i.e., the high Fourier components of the projection operators are downfolded to low Fourier components, and random noise is introduced).

Currently, VASP supports three different schemes to remove the high Fourier components from the projectors. LREAL=.TRUE. is the simplest one. For LREAL=.TRUE., the real-space projectors that the pseudopotential generation code has generated are used. This requires no user interference but is potentially very inaccurate. For the outdated LREAL=On, the real space projectors are optimized by VASP using an algorithm proposed by King-Smith et al.[1] For the recommended LREAL=Auto, an unpublished scheme[2] is used which results in simultaneously more accurate and localized projector functions than for the King-Smith et al. method. To fine-tune the optimization procedure, the tag ROPT can and should be used, if LREAL=Auto (or LREAL=On) is used. Specifically, perform first reference calculations using LREAL=.False. and decrease ROPT until an acceptable accuracy, e.g., 1 meV/atom, is attained. Please also check carefully the documentation for ROPT.

We recommend using the real-space projection scheme for systems containing more than about 30 atoms. We also strongly recommend using only LREAL=Auto.

For LREAL=A (and LREAL=O) the projection operators are optimized by VASP on the fly (i.e. on startup). Several tags influence the optimization:

  • ENCUT (i.e., the energy cutoff), components beyond the energy cutoff are 'removed' from the projection operators.
  • PREC tag specifies how precise the real-space projectors should be and sets the variables ROPT accordingly to the following values:
For LREAL=Auto
ROPT=-5E-4 if PREC=Normal
ROPT=-5E-4 if PREC=Single or SingleN
ROPT=-2.5E-4 if PREC=Accurate
ROPT=-0.01 if PREC=Low
ROPT=-0.002 if PREC=Medium
ROPT=-4E-4 if PREC=High
For LREAL=On
ROPT=2/3 if PREC=Low
ROPT=1.0 if PREC=Medium
ROPT=1.5 if PREC=High
These defaults can be superseded by specifying the ROPT tag in the INCAR file.
Mind:
  • Real-space optimization (LREAL=Auto) always results in a small (not necessarily negligible) error. The error is usually a constant energy shift for each atom. If you are interested in energy differences, use only calculations with the same setup (i.e., same ENCUT, PREC, LREAL and ROPT setting) for all calculations. For example, if you want to calculate surface or defect energies, recalculate the bulk ground-state energy with exactly the same setting you are using for the surface. Another possibility is to relax the structure using real-space projection and to perform one final total-energy calculation using LREAL=.FALSE. to get exact energies. For PREC=Normal, the errors introduced by the real-space projection are usually of the same order of magnitude as those introduced by the wrap-around errors. For PREC=Accurate errors are usually less than 1 meV/atom. PREC=Low should be used only for, say, fast molecular-dynamics calculations, if compute resources are really an issue.
  • When the energy cutoff ENCUT is increased significantly w.r.t. their defaults, the real-space projection scheme sometimes becomes unreliable, and it might be necessary to decrease ROPT to values as small as ROPT=1E-4.

Related tags and articles

ROPT, PREC

Examples that use this tag

References