Jump to content

Requests for technical support from the VASP team should be posted in the VASP Forum.

Electrostatic corrections: Difference between revisions

From VASP Wiki
No edit summary
Kresse (talk | contribs)
 
(45 intermediate revisions by 7 users not shown)
Line 1: Line 1:
For charged cells or for calculations of molecules and surfaces with a large dipole moment, the energy converges very slowly with respect to the size <math>L</math> of the supercell. Using methods discussed in Ref. [55,56] VASP can correct for the leading errors, but one should stress, that in many details, we have taken a more general approach than the one outlined in Ref. [55].  
For charged cells or for calculations of molecules and surfaces with a large dipole moment, the energy converges very slowly with respect to the size <math>L</math> of the supercell. Using methods discussed by Makov ''et al.''<ref name="Makov95"/> and Neugebauer ''et al.''<ref name="Neugebauer92"/>, VASP can correct for the leading errors (in some details, the VASP implementation is more general, though).  


For systems with a net dipole moment, the energy also converges slowly with respect to the size of the super cell. The dipole corrections (and quadrupole corrections for charged systems) fall off like <math>1/L^3</math>. Both corrections, dipole and quadrupole for charged systems, will be calculated and added to the total energy if the IDIPOL flag is set.
== Suggested combination of tags for electrostatic corrections ==
In cases where the system has no net charge and no net dipole moment, no specific tags need to be set, and this section can be skipped.
=== Bulk ===
If the system has a net dipole or net charge, please follow the recommendations of [[Dipole_corrections_for_defects_in_solids|this]] wiki page.
=== [[:Category:2D_materials|Surfaces]] ===
If the system has a net dipole moment, the {{TAG|IDIPOL}}=1,2,3 allows VASP to evaluate the dipole along the first, second, or third lattice vector. VASP then determines an energy correction corresponding to the interaction between repeated dipoles along these vectors. The Kohn-Sham potentials are not corrected, so the potential and forces may be slightly inaccurate.  To correct the potential for the spurious interactions between the dipoles, additionally set {{TAG|LDIPOL}}=.TRUE. This can, however, slow convergence. Optionally, {{TAG|DIPOL}} may be set to define the center of the slab.  


Note: strictly speaking quadrupole corrections is not the proper wording. The relevant quantity is
The following options may be used to improve convergence for this case.
:<math> \int d^3{\mathbf r} \rho(\mathbf r) \Vert \mathbf r\Vert^2.</math>


1. Pre-converging the orbitals without the {{TAG|LDIPOL}} tag


The following flags control the behaviour of VASP.
2. The center of charge should be set in the {{FILE|INCAR}} file ({{TAG|DIPOL}}= center of mass) whenever many calculations with, say, different surface terminations are compared, or if the default algorithm fails to determine the centre of the slab/ molecules.
* {{TAG|NELECT}}, total number of electrons
 
* {{TAG|EPSILON}}, dielectric constant
3. Ensure that the cell is sufficiently large to determine the dipole moment with sufficient accuracy (see {{TAG|DIPOL}}). If the cell is too small, the charge might slosh into the vacuum, causing very slow convergence. Often, convergence improves with the vacuum width.
* {{TAG|IDIPOL}}, type of correction (monopole/dipole and quadrupole)
{{NB|warning|Surface calculations with a net charge result in total energies that do not converge as the space between the slabs is increased. Relative energies may still be useful if the vacuum width is kept constant.}}
* {{TAG|DIPOL}}, center of the net charge of the cell
 
* {{TAG|LDIPOL}} and {{TAG|LMONO}}, enable dipole and/or monopole corrections
=== Wires ===
* {{TAG|EFIELD}}, applied electrostatic field
Not implemented.
 
=== Molecules ===
The simplest correction scheme is invoked by setting the tag {{TAG| LMONO}}. This corrects for the interaction of a charged molecule with a homogeneous background, and the correction is prompted to the {{TAG|OUTCAR}} file in the lines "energy correction for charged system".
This correction is roughly proportional to the reciprocal of the shortest lattice vector, and it is generally large. The tag  {{TAG|IDIPOL}}=4 (without setting {{TAG| LMONO}}) additionally introduces corrections for interactions between repeated dipoles on the atom/molecule. Those are written to the line "dipol+quadrupol energy correction". They are proportional to the inverse volume and generally much smaller than the monopole corrections. However, the actual Kohn-Sham potential is not corrected. To correct the potential as well, add the {{TAG|LDIPOL}} tag. Note that this can severely slow the convergence of the self-consistency loop and that the additional corrections are often small. Furthermore, this correction is only implemented for orthorhombic supercells. Similar strategies as for slabs might help to recover convergence.
 
== Current limitations ==


For the current implementation, there are several restrictions; please read carefully:
For the current implementation, there are several restrictions; please read carefully:
* Charged systems:<br/>Quadrupole corrections are only correct for cubic supercells (this means that the calculated <math>1/L^3</math> corrections are wrong for charged supercells if the supercell is non cubic). In addition, we have found empirically that for charged systems with excess electrons ({{TAG|NELECT}}<math>></math>{{TAG|NELECT}} <math>_{\rm neutral}</math>) more reliable results can be obtained if the energy after correction of the linear error (<math>1/L</math>) is plotted against <math>1/L^3</math> to extrapolate results manually for <math>L\to \infty</math>. This is due to the uncertainties in extracting the quadrupole moment of systems with excess electrons.
* Charged systems:
:Quadrupole corrections are only correct for cubic supercells (this means that the calculated 1/''L''<sup>3</sup> corrections are wrong for charged supercells if the supercell is non-cubic). In addition, we have found empirically that for charged systems with excess electrons ({{TAG|NELECT}}>{{TAG|NELECT}}<sub>neutral</sub>) more reliable results can be obtained if the energy after correction of the linear error (1/''L'') is plotted against 1/''L''<sup>3</sup> to extrapolate results manually for ''L''&rarr;&infin;. This is due to the uncertainties in extracting the quadrupole moment of systems with excess electrons.
* Potential corrections are only possible for orthorhombic cells (at least the direction in which the potential is corrected must be orthogonal to the other two directions).
* Potential corrections are only possible for orthorhombic cells (at least the direction in which the potential is corrected must be orthogonal to the other two directions).
== Step-by-step instructions ==
=== Using the dipole correction for slab calculations ===
In this section, we discuss step-by-step instructions to use the dipole corrections for slab calculations.
'''Step 1:''' Create a system that has enough vacuum on either side of the surface normal. An example for such a structure is shown below, for an fcc-Aluminium with a carbon adsorbed on one of its surface terminations.
Al3C
1.0000000000000000
    2.8637824638055176    0.0000000000000000    0.0000000000000000
    1.4318912319027588    2.4801083645679673    0.0000000000000000
    0.0000000000000000    0.0000000000000000  20.0000000000000000
Al C
3 1
Direct
    0.8333333333333333    0.5000000000000000    0.3380865704891008
    0.1666666666666666    0.8333333333333334    0.4550000000000000
    0.4999999999999999    0.1666666666666667    0.5719134295108992
    0.4999999999999999    0.1666666666666667    0.6619134295108993
Note that the system has plenty of vacuum on either side. This empty space is important for the potential corrections needed for the {{TAG|LDIPOL}} tag.
'''Step 2:''' Switch on the dipole corrections to the energy, potential, and forces. Optionally set the {{TAG|DIPOL}}
LDIPOL    = T
IDIPOL    = 3
DIPOL    = 0.5 0.5 0.5
'''Step 3 (Optional):''' View the dipole moment for the system using the following bash command,
grep dipolmoment OUTCAR | tail -1
In this example, we get the following output:
  dipolmoment          0.000000      0.000000      0.128389 electrons x Angstroem
which refers to the dipole moment along the three axes. Consistent with the {{FILE|POSCAR}} used in this example, only the last axis has a non-zero dipole moment.
== Related Tags and Sections ==
{{TAG|NELECT}},
{{TAG|EPSILON}},
{{TAG|DIPOL}},
{{TAG|IDIPOL}},
{{TAG|LDIPOL}},
{{TAG|LMONO}},
{{TAG|EFIELD}}
== References ==
<references>
<ref name="Makov95">[http://dx.doi.org/10.1103/PhysRevB.51.4014 G. Makov and M. C. Payne, Phys. Rev. B 51, 4014 (1995).]</ref>
<ref name="Neugebauer92">[http://dx.doi.org/10.1103/PhysRevB.46.16067 J. Neugebauer and M. Scheffler, Phys. Rev. B 46, 16067 (1992).]</ref>
</references>
[[Category:Atoms and Molecules]][[Category:2D materials]][[Category:Electrostatics]][[Category:Howto]]

Latest revision as of 06:53, 11 August 2026

For charged cells or for calculations of molecules and surfaces with a large dipole moment, the energy converges very slowly with respect to the size [math]\displaystyle{ L }[/math] of the supercell. Using methods discussed by Makov et al.[1] and Neugebauer et al.[2], VASP can correct for the leading errors (in some details, the VASP implementation is more general, though).

Suggested combination of tags for electrostatic corrections

In cases where the system has no net charge and no net dipole moment, no specific tags need to be set, and this section can be skipped.

Bulk

If the system has a net dipole or net charge, please follow the recommendations of this wiki page.

Surfaces

If the system has a net dipole moment, the IDIPOL=1,2,3 allows VASP to evaluate the dipole along the first, second, or third lattice vector. VASP then determines an energy correction corresponding to the interaction between repeated dipoles along these vectors. The Kohn-Sham potentials are not corrected, so the potential and forces may be slightly inaccurate. To correct the potential for the spurious interactions between the dipoles, additionally set LDIPOL=.TRUE. This can, however, slow convergence. Optionally, DIPOL may be set to define the center of the slab.

The following options may be used to improve convergence for this case.

1. Pre-converging the orbitals without the LDIPOL tag

2. The center of charge should be set in the INCAR file (DIPOL= center of mass) whenever many calculations with, say, different surface terminations are compared, or if the default algorithm fails to determine the centre of the slab/ molecules.

3. Ensure that the cell is sufficiently large to determine the dipole moment with sufficient accuracy (see DIPOL). If the cell is too small, the charge might slosh into the vacuum, causing very slow convergence. Often, convergence improves with the vacuum width.

Wires

Not implemented.

Molecules

The simplest correction scheme is invoked by setting the tag LMONO. This corrects for the interaction of a charged molecule with a homogeneous background, and the correction is prompted to the OUTCAR file in the lines "energy correction for charged system". This correction is roughly proportional to the reciprocal of the shortest lattice vector, and it is generally large. The tag IDIPOL=4 (without setting LMONO) additionally introduces corrections for interactions between repeated dipoles on the atom/molecule. Those are written to the line "dipol+quadrupol energy correction". They are proportional to the inverse volume and generally much smaller than the monopole corrections. However, the actual Kohn-Sham potential is not corrected. To correct the potential as well, add the LDIPOL tag. Note that this can severely slow the convergence of the self-consistency loop and that the additional corrections are often small. Furthermore, this correction is only implemented for orthorhombic supercells. Similar strategies as for slabs might help to recover convergence.

Current limitations

For the current implementation, there are several restrictions; please read carefully:

  • Charged systems:
Quadrupole corrections are only correct for cubic supercells (this means that the calculated 1/L3 corrections are wrong for charged supercells if the supercell is non-cubic). In addition, we have found empirically that for charged systems with excess electrons (NELECT>NELECTneutral) more reliable results can be obtained if the energy after correction of the linear error (1/L) is plotted against 1/L3 to extrapolate results manually for L→∞. This is due to the uncertainties in extracting the quadrupole moment of systems with excess electrons.
  • Potential corrections are only possible for orthorhombic cells (at least the direction in which the potential is corrected must be orthogonal to the other two directions).

Step-by-step instructions

Using the dipole correction for slab calculations

In this section, we discuss step-by-step instructions to use the dipole corrections for slab calculations.

Step 1: Create a system that has enough vacuum on either side of the surface normal. An example for such a structure is shown below, for an fcc-Aluminium with a carbon adsorbed on one of its surface terminations.

Al3C
1.0000000000000000
   2.8637824638055176    0.0000000000000000    0.0000000000000000
   1.4318912319027588    2.4801083645679673    0.0000000000000000
   0.0000000000000000    0.0000000000000000   20.0000000000000000
Al C
3 1
Direct
   0.8333333333333333    0.5000000000000000    0.3380865704891008
   0.1666666666666666    0.8333333333333334    0.4550000000000000
   0.4999999999999999    0.1666666666666667    0.5719134295108992
   0.4999999999999999    0.1666666666666667    0.6619134295108993

Note that the system has plenty of vacuum on either side. This empty space is important for the potential corrections needed for the LDIPOL tag.

Step 2: Switch on the dipole corrections to the energy, potential, and forces. Optionally set the DIPOL

LDIPOL    = T
IDIPOL    = 3
DIPOL     = 0.5 0.5 0.5

Step 3 (Optional): View the dipole moment for the system using the following bash command,

grep dipolmoment OUTCAR | tail -1

In this example, we get the following output:

 dipolmoment           0.000000      0.000000      0.128389 electrons x Angstroem

which refers to the dipole moment along the three axes. Consistent with the POSCAR used in this example, only the last axis has a non-zero dipole moment.

Related Tags and Sections

NELECT, EPSILON, DIPOL, IDIPOL, LDIPOL, LMONO, EFIELD

References