Default for LREAL | .FALSE. |
.FALSE. | projection done in reciprocal space |
.TRUE. | projection done in real space, (old, superseded by LREAL=O) |
On or O | projection done in real space, |
projection operators are re-optimized | |
Auto or A | projection done in real space, |
fully automatic optimization of projection operators | |
no user interference required |
Determines whether the projection operators are evaluated in
real-space or in reciprocal space:
The non local part of the pseudopotential requires the
evaluation of an expression
.
The ``projected wavefunction character'' is defined as:
Currently VASP supports three different schemes to remove the high frequency components from the projectors. LREAL=.TRUE. is the simplest one. If 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 LREAL=On the real space projectors are optimized by VASP using an algorithm proposed by King-Smith et al. [47]. For LREAL= Auto a new scheme [48] 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 ROPT can be used if LREAL=Auto or LREAL=On is used.
We recommend to use the real-space projection scheme for systems containing more than 20 atoms. We also recommend to use only LREAL= Auto (for version VASP.4.4 and newer releases) and LREAL= On (for all other versions). Version 4.4 also supports the old mode LREAL= O to allow calculations that are fully compatible to VASP.4.3 (and VASP.3.2). The best performance is generally achieved with LREAL = Auto, but if performance is not that important you can also use LREAL=.TRUE. which generally requires less user interference. You can skip the rest of the paragraph, if you use only LREAL=.TRUE..
For LREAL= O and LREAL= A the projection operators are optimized by VASP on the fly (i.e. on startup). Several flags influence the optimization
For LREAL=On
PREC= Low | 700 points in the real space sphere ( ROPT=0.67) |
PREC= Med | 1000 points in the real space sphere ( ROPT=1.0) |
PREC= High | 1500 points in the real space sphere ( ROPT=1.5) |
For LREAL=Auto
PREC= Low | accuracy ![]() |
PREC= Med | accuracy 2 ![]() |
PREC= High | accuracy 2 ![]() |
These defaults can be superseded by the line
ROPT = one_number_for_each_speciesin the INCAR file. For instance
ROPT = 0.7 1.5will set the number of real space points within the cutoff sphere for the first species to approximately 700, and that for the second species to 1500. In VASP.4.4 alternatively the ``precision'' of the operators can be specified writing i.e.
ROPT = 1E-3 1E-3In that case the real space operators will be optimized for an accuracy of approximately 1meV/atom (
ROPT = 0.7 1E-3in that case the number of real space points within the cutoff sphere for the first species will be approximately 700, whereas the real space projector functions for the second species are optimized for an accuracy of approximately 1 meV. We recommend to use the ``precision'' mode with a target accuracy of around
If you use the mode in which the number of grid points in the real space projection sphere is specified you have to select ROPT carefully, especially if a hard species is mixed with a soft species. In that case the following lines in the OUTCAR file must be checked (here is the output for LREAL=On, but that one for LREAL=Auto is quite similar )
Optimization of the real space projectors maximal supplied Q-value = 12.85 optimization between [QCUT,QGAM] = [ 4.75, 9.51] = [ 6.33, 25.32] Ry Optimized for a Real-space Cutoff 2.30 Angstroem l X(QCUT) X(cont) X(QGAM) max X(q) W(q)/X(q) e(spline) 0 9.518 9.484 -.004 18.582 .11E-03 .16E-06 0 -2.149 -2.145 .001 3.059 .17E-03 .25E-06 1 8.957 8.942 .003 9.950 .14E-03 .34E-06 1 1.870 1.870 .001 1.837 .95E-03 .51E-06 2 3.874 3.866 .000 4.764 .15E-03 .68E-07The meaning of QCUT and QGAM is explained in Sec. 11.5.6. The most important information is given in the column W(q)/X(q) (respectively the column W(low)/X(q) for LREAL=Auto). The values in these columns must be as small as possible. If these values are too large, increase the ROPT tag from the default value. As a rule of thumb the maximum allowed value in this column is
A few comments for non-experts and experts:
Real space optimization ( LREAL=.TRUE., LREAL=On or 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 of a few
meV 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 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 LREAL=.FALSE. to get exact energies.
Anyway, for 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 PREC=High errors are usually less than meV. PREC=Low
should be used only for high speed MD's,
if computer resources are really a problem.
A few notes for experts: There are three parameters for the real space optimization (see Sec. 11.5.6). First the energy-cutoff (equivalent to QCUT in Sec. 11.5.6) then a value which specifies from which energy-cutoff the projection operator should be zero (equivalent to QGAM in Sec. 11.5.6) and the maximal radial extend of the real space projection operator (equivalent to RMAX in Sec. 11.5.6). The first parameter QCUT is fixed by the energy cutoff, the second one is set to QGAM=2* QCUT for PREC= Low and PREC= Med, and to QGAM=3* QCUT for PREC= High. Finally the maximal radial extend of the projector functions is determined by ROPT (respectively by PREC if ROPT is not specified in the INCAR file).