PREC: Difference between revisions

From VASP Wiki
No edit summary
No edit summary
 
(19 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{TAGDEF|PREC|Low {{!}} Medium {{!}} High {{!}} Normal {{!}} Single {{!}} Accurate}}
{{TAGDEF|PREC|Normal {{!}} Single {{!}} SingleN {{!}} Accurate {{!}} Low {{!}} Medium {{!}} High}}
{{DEF|PREC|Medium|for VASP.4.X|Normal|for VASP.5.X}}
{{DEF|PREC|Medium|for VASP.4.X|Normal|since VASP.5.X}}


Description: {{TAG|PREC}} specifies the "precision"-mode.
Description: {{TAG|PREC}} specifies the "precision" mode.
----
----
We recommend to use {{TAG|PREC}}=Normal for calculations using VASP.4.5 and higher (the default in VASP.5.X) and {{TAG|PREC}}=Medium for VASP.4.4. {{TAG|PREC}}=Accurate avoids wrap around errors and uses an augmentation grid ({{TAG|NGXF}}×{{TAG|NGYF}}×{{TAG|NGZF}}) that is exactly twice as large as the coarser grid ({{TAG|NGX}}×{{TAG|NGY}}×{{TAG|NGZ}}) used for the representation of the pseudo wavefunctions. {{TAG|PREC}}=Accurate increases the memory requirements somewhat, but it should be used if very accurate forces (phonons and second derivatives) are required. The accuracy of forces can be further improved by specifying {{TAG|ADDGRID}}=.TRUE.
{{TAG|PREC}} sets default values for the energy cutoff {{TAG|ENCUT}}, the FFT grids ({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}}) and ({{TAG|NGXF}},{{TAG|NGYF}},{{TAG|NGZF}}), and the accuracy of the projectors in real space {{TAG|ROPT}} (used only when {{TAG|LREAL}}=.TRUE.). Details are given below in the table.


The use of {{TAG|PREC}}=High is no longer recommend (and exists only for compatibility reasons). For an accurate stress tensor the energy cutoff should be increased manually, and if additionally very accurate forces are required, {{TAG|PREC}}=Accurate can be used in combination with an increased energy cutoff.
We recommend using {{TAG|PREC}}=Normal or {{TAG|PREC}}=Accurate. {{TAG|PREC}}=Normal can be used for most routine calculations. {{TAG|PREC}}=Accurate leads to a denser grid ({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}}). Thus, it reduces egg-box effects and strictly avoids any [[Wrap-around errors|aliasing/wrap-around errors]]. {{TAG|PREC}}=Normal and {{TAG|PREC}}=Accurate use an augmentation fine grid ({{TAG|NGXF}},{{TAG|NGYF}},{{TAG|NGZF}}) that is twice larger than the grid ({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}}) used for the representation of the pseudo-orbitals. {{TAG|PREC}}=Accurate increases the memory requirements somewhat, but it should be used (in combination with an increased value for {{TAG|ENCUT}}) when a very good accuracy is required, e.g., for accurate forces, for phonons and stress tensor or in general when second derivatives are computed. The accuracy of forces can also be sometimes further improved by specifying {{TAG|ADDGRID}}=.TRUE., however, reports from users are somewhat contradictory about whether this really helps.
{{NB|mind|
*The value of a parameter set by {{TAG|PREC}} (e.g., {{TAG|ENCUT}}) can be overridden by specifying explicitly the value of that parameter in the {{FILE|INCAR}} file.
*{{TAG|PREC}}{{=}}Normal and {{TAG|PREC}}{{=}}Accurate are only available in VASP.4.5 and newer versions. The setting {{TAG|PREC}}{{=}}Single is only available as of VASP.5.1, and has been updated in VASP.6.}}
{{NB|deprecated|The old settings {{TAG|PREC}}{{=}}Medium and {{TAG|PREC}}{{=}}High are no longer recommended and are available (as well as {{TAG|PREC}}{{=}}Low) only for backward compatibility. Essentially, {{TAG|PREC}}{{=}}High only increases the energy cutoff by 30 %, which can also be achieved by just manually increasing {{TAG|ENCUT}}.}}
{{NB|important|
*Setting {{TAG|PREC}}{{=}}Accurate does not necessarily mean that the results are converged. The convergence of the results with respect to the energy cutoff {{TAG|ENCUT}} has to be checked separately.
*We strongly recommend specifying the energy cutoff {{TAG|ENCUT}} always manually in the {{FILE|INCAR}} file to ensure the same accuracy between calculations. Otherwise, the default {{TAG|ENCUT}} may differ among the different calculations (e.g., for the calculation of the cohesive energy), with the consequence that the total energies, for instance, can not be compared.
*Setting {{TAG|ENAUG}} has an effect only if {{TAG|PREC}} is set to one of the deprecated settings (Low, Medium or High); otherwise, it is ignored.}}


'''Mind''': we recommend to specify the energy cutoff ({{TAG|ENCUT}}) always manually in the {{FILE|INCAR}} file, to avoid incompatibilities between calculations.
== Default values set by {{TAG|PREC}} ==
----
 
The {{TAG|PREC}} parameter sets the defaults for four sets of parameters ({{TAG|ENCUT}}; {{TAG|NGX}}, {{TAG|NGY}}, {{TAG|NGZ}}; {{TAG|NGXF}}, {{TAG|NGYF}}, {{TAG|NGZF}}, and {{TAG|ROPT}}):
Default values set by {{TAG|PREC}} for the parameters {{TAG|ENCUT}}, ({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}}), ({{TAG|NGXF}},{{TAG|NGYF}},{{TAG|NGZF}}) and {{TAG|ROPT}}:


::{| cellpadding="5" cellspacing="0" border="1"
::{| cellpadding="6" cellspacing="0" border="1"
|{{TAG|PREC}} ||align="center"|{{TAG|ENCUT}} || {{TAG|NGX}},[[NGY|Y]],[[NGZ|Z]] || {{TAG|NGXF}},[[NGYF|YF]],[[NGZF|ZF]] || {{TAG|ROPT}}
|{{TAG|PREC}} ||align="center"|{{TAG|ENCUT}} ||align="center"| {{TAG|NGX}},[[NGY|Y]],[[NGZ|Z]] ||align="center"| {{TAG|NGXF}},[[NGYF|YF]],[[NGZF|ZF]] ||align="center"| {{TAG|ROPT}} ({{TAG|LREAL}}=A) ||align="center"| {{TAG|ROPT}} ({{TAG|LREAL}}=O)
|-
| Normal ||align="center"|max({{TAG|ENMAX}}) ||align="center"| 3/2&times;<math>G_{\rm cut}</math> ||align="center"|2&times;{{TAG|NGX}} ||align="center"|-5&times;10<sup>-4</sup> ||align="center"| 1.0
|-
|-
| Normal ||align="center"|max({{TAG|ENMAX}}) || 3/2&times;G<sub>cut</sub> ||align="center"|2&times;{{TAG|NGX}} ||-5&times;10<sup>-4</sup>
| Single (VASP.5) ||align="center"|max({{TAG|ENMAX}}) ||align="center"| 3/2&times;<math>G_{\rm cut}</math> ||align="center"|{{TAG|NGX}} ||align="center"|-5&times;10<sup>-4</sup> ||align="center"| 1.0
|-
|-
| Single ||align="center"|max({{TAG|ENMAX}}) || 3/2&times;G<sub>cut</sub> ||align="center"|{{TAG|NGX}} ||-5&times;10<sup>-4</sup>
| Single (VASP.6) ||align="center"|max({{TAG|ENMAX}}) ||align="center"| 2&times;<math>G_{\rm cut}</math> ||align="center"|{{TAG|NGX}} ||align="center"|-5&times;10<sup>-4</sup> ||align="center"| 1.0
|-
|-
| Accurate ||align="center"|max({{TAG|ENMAX}}) ||align="center"|2&times;G<sub>cut</sub> ||align="center"|2&times;{{TAG|NGX}}||-2.5&times;10<sup>-4</sup>
| SingleN (VASP.6) ||align="center"|max({{TAG|ENMAX}}) ||align="center"| 3/2&times;<math>G_{\rm cut}</math> ||align="center"|{{TAG|NGX}} ||align="center"| -5&times;10<sup>-4</sup> ||align="center"| 1.0
|-
|-
| Low ||align="center"|max({{TAG|ENMIN}}) || 3/2&times;G<sub>cut</sub> ||align="center"|3&times;G<sub>aug</sub> ||-1&times;10<sup>-2</sup>
| Accurate ||align="center"|max({{TAG|ENMAX}}) ||align="center"|2&times;<math>G_{\rm cut}</math> ||align="center"|2&times;{{TAG|NGX}}||align="center"|-2.5&times;10<sup>-4</sup> ||align="center"| 1.0
|-
|-
| Medium ||align="center"|max({{TAG|ENMAX}}) || 3/2&times;G<sub>cut</sub> ||align="center"|4&times;G<sub>aug</sub> ||-2&times;10<sup>-3</sup>
| colspan="6" | '''Deprecated settings:'''
|-
|-
| High || 1.3&times;max({{TAG|ENMAX}}) ||align="center"|2&times;G<sub>cut</sub> ||align="center"|16/3&times;G<sub>aug</sub> ||-4&times;10<sup>-4</sup>
| Low ||align="center"|max({{TAG|ENMIN}}) ||align="center"| 3/2&times;<math>G_{\rm cut}</math> ||align="center"|3&times;<math>G_{\rm aug}</math> ||align="center"|-1&times;10<sup>-2</sup> ||align="center"| 2/3
|-
| Medium ||align="center"|max({{TAG|ENMAX}}) ||align="center"| 3/2&times;<math>G_{\rm cut}</math> ||align="center"|4&times;<math>G_{\rm aug}</math> ||align="center"|-2&times;10<sup>-3</sup> ||align="center"| 1.0
|-
| High || 1.3&times;max({{TAG|ENMAX}}) ||align="center"|2&times;<math>G_{\rm cut}</math> ||align="center"|16/3&times;<math>G_{\rm aug}</math> ||align="center"|-4&times;10<sup>-4</sup> ||align="center"| 1.5
|}
|}
where max({{TAG|ENMAX}}) and max({{TAG|ENMIN}}) are the maximum {{TAG|ENMAX}} and {{TAG|ENMIN}} found on the {{FILE|POTCAR}} file, and
where max({{TAG|ENMAX}}) and max({{TAG|ENMIN}}) are the maxima of {{TAG|ENMAX}} and {{TAG|ENMIN}} found in the {{FILE|POTCAR}} file, and <math>G_{\rm cut}</math> and <math>G_{\rm aug}</math> are defined by
:<math>E_{\rm cut}=\frac{\hbar^2}{2m_e}G_{\rm cut}^2 \qquad E_{\rm aug}=\frac{\hbar^2}{2m_e}G_{\rm aug}^2</math>
:<math>E_{\rm cut}=\frac{\hbar^2}{2m_e}G_{\rm cut}^2 \qquad E_{\rm aug}=\frac{\hbar^2}{2m_e}G_{\rm aug}^2</math>
with E<sub>cut</sub>={{TAG|ENCUT}} and E<sub>aug</sub>={{TAG|ENAUG}}.
with <math>E_{\rm cut}</math>={{TAG|ENCUT}} and <math>E_{\rm aug}</math>={{TAG|ENAUG}}.


'''Mind''': the settings {{TAG|PREC}}=Normal and {{TAG|PREC}}=Accurate are only available in VASP.4.5 and newer versions. The setting {{TAG|PREC}}=Single is only available as of VASP.5.1.
== Further remarks ==


*Plane wave kinetic energy cutoff ({{TAG|ENCUT}}):
*With {{TAG|PREC}}=Normal, Single, and Accurate the grid ({{TAG|NGXF}},{{TAG|NGYF}},{{TAG|NGZF}}) representing the augmentation charges, charge densities and potentials has either the same size ({{TAG|PREC}}=Single) or the double size ({{TAG|PREC}}=Normal or Accurate) as the grid ({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}}). With the deprecated (and no longer recommended) settings for {{TAG|PREC}} (Low, Medium and High), the grid ({{TAG|NGXF}},{{TAG|NGYF}},{{TAG|NGZF}}) is determined by some heuristic formula from {{TAG|ENAUG}}.
:The {{TAG|PREC}}-tag determines the energy cutoff {{TAG|ENCUT}}, if {{TAG|ENCUT}} is not specified in the {{FILE|INCAR}} file. For {{TAG|PREC}}=Low, {{TAG|ENCUT}} will be set to the maximal {{TAG|ENMIN}} value found on the {{FILE|POTCAR}} file. For {{TAG|PREC}}=Medium and {{TAG|PREC}}=Accurate, {{TAG|ENCUT}} will be set to maximal {{TAG|ENMAX}} value found on the {{FILE|POTCAR}} file. Finally for {{TAG|PREC}}=High, {{TAG|ENCUT}} is set to the maximal {{TAG|ENMAX}} value on the {{FILE|POTCAR}} file plus 30%. {{TAG|PREC}}=High guarantees that the absolute energies are converged to a few meV, and it ensures that the stress tensor is converged within a few kBar. In general, an increased energy cutoff is only required for accurate evaluation of quantities related to the stress tensor (e.g. elastic properties).


*FFT grids ({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}},{{TAG|NGXF}},{{TAG|NGYF}},{{TAG|NGZF}}):
*{{TAG|PREC}}=Single uses the same grid ({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}}) as {{TAG|PREC}}=Normal in VASP.5, but the same grid as {{TAG|PREC}}=Accurate in VASP.6. However, the double grid technique is not used, i.e., ({{TAG|NGXF}},{{TAG|NGYF}},{{TAG|NGZF}})=({{TAG|NGX}},{{TAG|NGY}},{{TAG|NGZ}}). This is convenient if one needs to cut down on storage demands or if one wants to reduce the size of the files {{FILE|CHG}} and {{FILE|CHGCAR}}. Furthermore, {{TAG|PREC}}=Single avoids high-frequency oscillations caused by the double-grid technique and the resulting Fourier interpolation. It is often expedient for scanning tunneling simulations or other calculations where high-frequency wiggles of the charge density in the vacuum region are undesirable.
:For {{TAG|PREC}}=High and {{TAG|PREC}}=Accurate, wrap around errors are avoided, all ''G''-vectors that are twice as large as the vectors included in the basis set are taken into account in the FFT's. For {{TAG|PREC}}=Low, {{TAG|PREC}}=Medium or {{TAG|PREC}}=Normal, the FFT grids are reduced, and 3/4 of the required values are used. Usually {{TAG|PREC}}=Medium and {{TAG|PREC}}=Normal, are sufficiently accurate with errors less than 1 meV/atom.


:In addition, the {{TAG|PREC}} tag determines the spacing for the grids representing the augmentation charges, charge densities and potentials ({{TAG|NGXF}}, {{TAG|NGYF}}, {{TAG|NGZF}}). For {{TAG|PREC}}=Accurate and {{TAG|PREC}}=Normal, the support grid contains twice as many points in each direction as the grids for the orbitals ({{TAG|NGXF}}=2&times;{{TAG|NGX}}, {{TAG|NGYF}}=2&times;{{TAG|NGY}}, {{TAG|NGZF}}=2&times;{{TAG|NGZ}}). {{TAG|PREC}}=Single is identical to {{TAG|PREC}}=Normal, execpt that the double grid technique is not applied. This is convenient of you need to cut down on storage demands, or want to reduce the size of the {{FILE|CHG}} and {{FILE|CHGCAR}} files (for scanning tunneling microscopy simulation, it is recommended to use {{TAG|PREC}}=Single). In all other cases, {{TAG|NGXF}}, {{TAG|NGYF}}, and {{TAG|NGZF}} are determined by some rather heuristic formula from {{TAG|ENAUG}}.
*{{TAG|PREC}}=Medium and {{TAG|PREC}}=Normal should usually be sufficiently accurate and lead to errors of less than 1 meV/atom.


*Real space projectors ({{TAG|ROPT}}):
*{{TAG|PREC}}=High should guarantee that the absolute energies are converged to a few meV and the stress tensor converged within a few kBar.
 
::{|cellpadding="5" cellspacing="0" border="1"
|colspan="2" align="center"|{{TAG|LREAL}}=O||||colspan="2" align="center"|{{TAG|LREAL}}=A
|-
|{{TAG|PREC}}||{{TAG|ROPT}}||||{{TAG|PREC}}||{{TAG|ROPT}}
|-
| Low || 0.67 || || Low || -1&times;10<sup>-2</sup>
|-
| Med || 1.0|| || Med || -2&times;10<sup>-3</sup>
|-
| Normal || 1.0 || || Normal || -5&times;10<sup>-4</sup>
|-
| Accurate || 1.0 || || Accurate || -2.5&times;10<sup>-4</sup>
|-
| High || 1.5 || || High || -4&times;10<sup>-4</sup>
|}


== Related Tags and Sections ==
== Related tags and articles ==
{{TAG|NGX}},
{{TAG|NGX}},
{{TAG|NGY}},
{{TAG|NGY}},
Line 68: Line 64:
{{TAG|ENCUT}},
{{TAG|ENCUT}},
{{TAG|ENAUG}},
{{TAG|ENAUG}},
{{TAG|ENMAX}}
{{TAG|ENMIN}},
{{TAG|ENMAX}},
{{TAG|ROPT}},
{{TAG|LREAL}},
{{TAG|ADDGRID}},
{{TAG|PRECFOCK}}


----
{{sc|PREC|Examples|Examples that use this tag}}
[[The_VASP_Manual|Contents]]


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

Latest revision as of 11:57, 17 October 2024

PREC = Normal | Single | SingleN | Accurate | Low | Medium | High 

Default: PREC = Medium for VASP.4.X
= Normal since VASP.5.X

Description: PREC specifies the "precision" mode.


PREC sets default values for the energy cutoff ENCUT, the FFT grids (NGX,NGY,NGZ) and (NGXF,NGYF,NGZF), and the accuracy of the projectors in real space ROPT (used only when LREAL=.TRUE.). Details are given below in the table.

We recommend using PREC=Normal or PREC=Accurate. PREC=Normal can be used for most routine calculations. PREC=Accurate leads to a denser grid (NGX,NGY,NGZ). Thus, it reduces egg-box effects and strictly avoids any aliasing/wrap-around errors. PREC=Normal and PREC=Accurate use an augmentation fine grid (NGXF,NGYF,NGZF) that is twice larger than the grid (NGX,NGY,NGZ) used for the representation of the pseudo-orbitals. PREC=Accurate increases the memory requirements somewhat, but it should be used (in combination with an increased value for ENCUT) when a very good accuracy is required, e.g., for accurate forces, for phonons and stress tensor or in general when second derivatives are computed. The accuracy of forces can also be sometimes further improved by specifying ADDGRID=.TRUE., however, reports from users are somewhat contradictory about whether this really helps.

Mind:
  • The value of a parameter set by PREC (e.g., ENCUT) can be overridden by specifying explicitly the value of that parameter in the INCAR file.
  • PREC=Normal and PREC=Accurate are only available in VASP.4.5 and newer versions. The setting PREC=Single is only available as of VASP.5.1, and has been updated in VASP.6.
Deprecated: The old settings PREC=Medium and PREC=High are no longer recommended and are available (as well as PREC=Low) only for backward compatibility. Essentially, PREC=High only increases the energy cutoff by 30 %, which can also be achieved by just manually increasing ENCUT.
Important:
  • Setting PREC=Accurate does not necessarily mean that the results are converged. The convergence of the results with respect to the energy cutoff ENCUT has to be checked separately.
  • We strongly recommend specifying the energy cutoff ENCUT always manually in the INCAR file to ensure the same accuracy between calculations. Otherwise, the default ENCUT may differ among the different calculations (e.g., for the calculation of the cohesive energy), with the consequence that the total energies, for instance, can not be compared.
  • Setting ENAUG has an effect only if PREC is set to one of the deprecated settings (Low, Medium or High); otherwise, it is ignored.

Default values set by PREC

Default values set by PREC for the parameters ENCUT, (NGX,NGY,NGZ), (NGXF,NGYF,NGZF) and ROPT:

PREC ENCUT NGX,Y,Z NGXF,YF,ZF ROPT (LREAL=A) ROPT (LREAL=O)
Normal max(ENMAX) 3/2× NGX -5×10-4 1.0
Single (VASP.5) max(ENMAX) 3/2× NGX -5×10-4 1.0
Single (VASP.6) max(ENMAX) NGX -5×10-4 1.0
SingleN (VASP.6) max(ENMAX) 3/2× NGX -5×10-4 1.0
Accurate max(ENMAX) NGX -2.5×10-4 1.0
 Deprecated settings:
Low max(ENMIN) 3/2× -1×10-2 2/3
Medium max(ENMAX) 3/2× -2×10-3 1.0
High 1.3×max(ENMAX) 16/3× -4×10-4 1.5

where max(ENMAX) and max(ENMIN) are the maxima of ENMAX and ENMIN found in the POTCAR file, and and are defined by

with =ENCUT and =ENAUG.

Further remarks

  • With PREC=Normal, Single, and Accurate the grid (NGXF,NGYF,NGZF) representing the augmentation charges, charge densities and potentials has either the same size (PREC=Single) or the double size (PREC=Normal or Accurate) as the grid (NGX,NGY,NGZ). With the deprecated (and no longer recommended) settings for PREC (Low, Medium and High), the grid (NGXF,NGYF,NGZF) is determined by some heuristic formula from ENAUG.
  • PREC=Single uses the same grid (NGX,NGY,NGZ) as PREC=Normal in VASP.5, but the same grid as PREC=Accurate in VASP.6. However, the double grid technique is not used, i.e., (NGXF,NGYF,NGZF)=(NGX,NGY,NGZ). This is convenient if one needs to cut down on storage demands or if one wants to reduce the size of the files CHG and CHGCAR. Furthermore, PREC=Single avoids high-frequency oscillations caused by the double-grid technique and the resulting Fourier interpolation. It is often expedient for scanning tunneling simulations or other calculations where high-frequency wiggles of the charge density in the vacuum region are undesirable.
  • PREC=Medium and PREC=Normal should usually be sufficiently accurate and lead to errors of less than 1 meV/atom.
  • PREC=High should guarantee that the absolute energies are converged to a few meV and the stress tensor converged within a few kBar.

Related tags and articles

NGX, NGY, NGZ, NGXF, NGYF, NGZF, ENCUT, ENAUG, ENMIN, ENMAX, ROPT, LREAL, ADDGRID, PRECFOCK

Examples that use this tag