next up previous contents index
Next: LCALCEPS-tag: Macroscopic dielectric properties Up: Berry phase calculations and Previous: LCALCPOL-tag: Macroscopic polarization (again)   Contents   Index

N.B. This document is no longer maintained, please visit our wiki.

EFIELD_PEAD-tag: Finite electric fields

As of version 5.2, VASP is able to calculate the groundstate of an insulating system under the application of a finite homogeneous electric field. The VASP implementation closely follows the ''PEAD'' approach of Nunes and Gonze [87]. In short: to determine the groundstate of an insulating system under the application of a finite homogeneous electric field $ \mathcal{E}$, VASP solves for the field-polarized Bloch functions $ \{\psi^{({\mathcal E})}\}$ by minimizing the electric enthalpy functional:

$\displaystyle E[\{\psi^{({\mathcal E})}\},{\mathcal E}]= E_{0}[\{\psi^{({\mathcal E})}\}]-\Omega {\mathcal E} \cdot {\bf P}[\{\psi^{({\mathcal E})}\}],$ (6.37)

where $ {\bf P}[\{\psi^{({\mathcal E})}\}]$ is the macroscopic polarization as defined in the ''modern theory of polarization" [85]:

$\displaystyle {\bf P}[\{\psi^{({\mathcal E})}\}]=-\frac{2ie}{(2\pi)^3}\sum_n \i...
...l E})}_{n{\bf k}}\vert{\bf \nabla_k}\vert u^{({\mathcal E})}_{n{\bf k}} \rangle$ (6.38)

and $ u^{({\mathcal E})}_{n{\bf k}}$ is the cell-periodic part of $ \psi^{({\mathcal E})}_{n{\bf k}}$. Adding a corresponding term to the Hamiltonian

$\displaystyle H \vert\psi^{({\mathcal E})}_{n{\bf k}}\rangle=H_0 \vert\psi^{({\...
...psi^{({\mathcal E})}\}]} {\delta \langle \psi^{({\mathcal E})}_{n{\bf k}}\vert}$ (6.39)

allows one to solve for $ \{\psi^{({\mathcal E})}\}$ by means of a direct optimization method.

The desired finite homogeneous electric field is specified by

EFIELD_PEAD = $ E_x$ $ E_y$ $ E_z$ (eV/Å)

in the INCAR file. If the EFIELD_PEAD tag is set, VASP will first determine the zero-field groundstate of the system, and subsequently switch on the electric field and compute the field-polarized groundstate orbitals. Additionally, from the change in the macroscopic electronic polarization due to the applied electric field, VASP calculates (part of) the components on the diagonal of the ion-clamped static dielectric tensor ( $ \epsilon_\infty$), in accordance with:

$\displaystyle \epsilon^\infty_{ii}=1+ \frac{4\pi}{\epsilon_0}\frac{\partial P_i}{\partial {\mathcal E}_i}, \qquad {i=x,y,z}$ (6.40)

Beware: this option is only useful if one is interested in selected components on the diagonal of the ion-clamped dielectric tensor (for instance, in cubic systems). To calculate the full ion-clamped dielectric tensor of a system

$\displaystyle \epsilon^\infty_{ij}=\delta_{ij}+ \frac{4\pi}{\epsilon_0}\frac{\partial P_i}{\partial {\mathcal E}_j}, \qquad {i,j=x,y,z}$ (6.41)

from field-polarized calculations, use LCALCEPS=.TRUE. (see Sec. 6.67.4).

N.B.: One should be aware that when the electric field is chosen to be too large, the electric enthalpy functional will lose its minima, and VASP will not be able to find a stationary solution for the field-polarized orbitals. This is discussed in some detail in [88]. VASP will produce a warning if:

$\displaystyle e\vert{\mathcal E}\cdot {\bf a}_i\vert>\frac{1}{10}E_{\rm gap}/N_i,$ (6.42)

where $ E_{\rm gap}$ is the bandgap, $ {\bf a}_i$ are the lattice vectors, and $ N_i$ is the number of $ k$-points along the reciprocal lattice vector $ i$, in the regular ( $ N_1 \times N_2 \times N_3$) $ k$-mesh. The factor $ 1/10$ is chosen to be on the safe side.

If one does not include unoccupied bands, VASP is obviously not able to determine the bandgap and can not check whether the electric field might be too large. This will also produce a warning message.

Further aspects of these calculations are more conveniently discussed by means of an example: $ \epsilon_\infty$ in NaF

Using the following INCAR file:

PREC = Med


EFIELD_PEAD = 0.0 0.0 0.01
The computation of the static dielectric properties from the field-polarized groundstate orbitals requires a very tight convergence of the solutions. The EDIFF-tag specifies the usual convergence criterium for the zero-field solution. As a default VASP will try for an even tighter convergence of the field-polarized groundstate: EDIFF/100! Reaching this level of convergence may be very costly and in rare cases even impossible.


 6 6 6
 0 0 0
N.B.: The "PEAD" related routines only work for regular meshes of $ k$-points that include the $ \Gamma $-point, i.e. either uneven meshes (not recommended, see Sec. 5.5.3) or $ \Gamma $-centered meshes (like the one above).

 0.0 0.5 0.5
 0.5 0.0 0.5
 0.5 0.5 0.0
1 1
  0.0000000000000000  0.0000000000000000  0.0000000000000000
  0.5000000000000000  0.5000000000000000  0.5000000000000000

and LDA Na_sv and F PAW datasets.

Running VASP should produce something akin to:

 entering main loop
       N       E                     dE             d eps       ncg     rms          rms(c)
DAV:   1    -0.121171874254E+03   -0.12117E+03   -0.11093E+04   392   0.169E+03
DAV:   2    -0.290944564657E+03   -0.16977E+03   -0.15372E+03   412   0.454E+02
DAV:   3    -0.296448270211E+03   -0.55037E+01   -0.54726E+01   516   0.857E+01
DAV:   4    -0.296558918897E+03   -0.11065E+00   -0.11062E+00   432   0.122E+01
DAV:   5    -0.296564115002E+03   -0.51961E-02   -0.51960E-02   568   0.177E+00    0.512E+00
      ...         ...                ...
      ...         ...                ...
DAV:  11    -0.295718441201E+03    0.31316E-05   -0.40516E-06   436   0.471E-02    0.256E-03
DAV:  12    -0.295718441337E+03   -0.13610E-06   -0.13352E-06   276   0.146E-02
       N       E                     dE             d eps       ncg     rms          rms(c)
 gam= 0.000 g(H,U,f)=  0.142E-07 0.000E+00 0.322E-02 ort(H,U,f) = 0.000E+00 0.000E+00 0.000E+00
SDA:   1    -0.295718441659E+03   -0.29572E+03   -0.12885E-02   360   0.322E-02 0.000E+00
      ...         ...                ...
 gam= 0.382 g(H,U,f)=  0.220E-07 0.167E-07 0.186E-10 ort(H,U,f) =-0.260E-08-0.389E-08 0.523E-10
DMP:   4    -0.295718441597E+03    0.43565E-09   -0.14510E-07   360   0.387E-07-0.644E-08
 gam= 0.382 g(H,U,f)=  0.232E-08 0.318E-09 0.166E-11 ort(H,U,f) =-0.471E-08-0.181E-08 0.590E-11
DMP:   5    -0.295718441603E+03   -0.59431E-08   -0.61690E-10   360   0.264E-08-0.651E-08
 final diagonalization
 p_tot=(  0.875E-06  0.875E-06  0.875E-06 )
       N       E                     dE             d eps       ncg     rms          rms(c)
 p_tot=(  0.875E-06  0.875E-06  0.875E-06 )
dp_tot=(  0.000E+00  0.000E+00  0.000E+00 )  diag[e(oo)]=(    ---      ---    1.00000 )
 gam= 0.000 g(H,U,f)=  0.149E-04 0.000E+00 0.000E+00 ort(H,U,f) = 0.000E+00 0.000E+00 0.000E+00
SDA:   1    -0.295718441612E+03   -0.14804E-07   -0.59582E-05   360   0.149E-04 0.000E+00
      ...         ...                ...
      ...         ...                ...
 gam= 0.519 g(H,U,f)=  0.392E-07 0.000E+00 0.000E+00 ort(H,U,f) = 0.919E-08 0.000E+00 0.000E+00
DMP:   9    -0.295718447444E+03   -0.21085E-07   -0.17608E-07   360   0.392E-07 0.919E-08
 p_tot=(  0.868E-06  0.868E-06  0.116E-02 )
dp_tot=( -0.721E-08 -0.723E-08  0.116E-02 )  diag[e(oo)]=(    ---      ---    1.91593 )
 gam= 0.519 g(H,U,f)=  0.210E-07 0.000E+00 0.000E+00 ort(H,U,f) =-0.164E-08 0.000E+00 0.000E+00
DMP:  10    -0.295718447453E+03   -0.83301E-08   -0.80481E-08   360   0.210E-07-0.164E-08
 final diagonalization
 p_tot=(  0.860E-06  0.860E-06  0.118E-02 )
dp_tot=( -0.154E-07 -0.155E-07  0.118E-02 )  diag[e(oo)]=(    ---      ---    1.92723 )
   1 F= -.29571845E+03 E0= -.29571845E+03  d E =-.223452E-12
where one can discern three distinct blocks of SCF iterations. The first one (steps marked with DAV) corresponds to the calculation of the zero-field groundstate. After this groundstate has been reached, the $ k$-point mesh is regenerated using a set of symmetry operations, which takes into account that the symmetry of the system is possibly reduced by the applied electric field. In most cases the new set of $ k$-points is larger than the original one. The orbitals at the additional $ k$-points are generated from their symmetry equivalent counterparts in the zero-field case. This expanded set of orbitals is now reoptimized until convergence is better than EDIFF/100 (the second block, marked DMP), and the initial electronic polarization is computed.

Then the electric field is switched on, and the field-polarized groundstate is calculated. This is the last block of steps marked with DMP. From the change in the electronic dipole moment due to the electric field VASP computes (part of) the components on the diagonal of the ion-clamped static dielectric tensor. This information is found both in the OUTCAR file and on stdout:

   diag[e(oo)]=(       ----        ----      1.92723 )


To speed up the computation of the field-polarized groundstate one may set SKIP_EDOTP=.TRUE. to avoid the recalculation of the electronic polarization in Eq. (6.37) at each iteration during the scf procedure. However, the additional term in Hamiltonian (second term on the right-hand-side of Eq. (6.39) has to be correctly included and can not be kept fixed. Basically this means one does not minimize the total energy but optimizes the orbitals until a stationary point is reached. A stationary point is considered to be reached as soon as the norm of the gradient on the orbitals is smaller than EDIFF/100, and the SCF procedure will stop. In the case of the previous example this will lead to:

       N       E                     dE             d eps       ncg     rms          rms(c)
 gam= 0.000 g(H,U,f)=  0.149E-04 0.000E+00 0.000E+00 ort(H,U,f) = 0.000E+00 0.000E+00 0.000E+00
SDA:   1    -0.295718441603E+03   -0.60750E-08   -0.59581E-05   360   0.149E-04 0.000E+00
 gam= 0.519 g(H,U,f)=  0.332E-05 0.000E+00 0.000E+00 ort(H,U,f) = 0.629E-05 0.000E+00 0.000E+00
      ...         ...                ...
      ...         ...                ...
 gam= 0.519 g(H,U,f)=  0.124E-07 0.000E+00 0.000E+00 ort(H,U,f) =-0.141E-08 0.000E+00 0.000E+00
DMP:  11    -0.295718435607E+03    0.13956E-06   -0.46725E-08   360   0.124E-07-0.141E-08
 gam= 0.519 g(H,U,f)=  0.637E-08 0.000E+00 0.000E+00 ort(H,U,f) = 0.218E-10 0.000E+00 0.000E+00
DMP:  12    -0.295718435599E+03    0.78403E-08   -0.25522E-08   360   0.637E-08 0.218E-10
 final diagonalization
 p_tot=(  0.844E-06  0.844E-06  0.117E-02 )
dp_tot=( -0.313E-07 -0.313E-07  0.117E-02 )  diag[e(oo)]=(    ---      ---    1.92478 )
   1 F= -.29571844E+03 E0= -.29571844E+03  d E =-.223448E-12

N.B. Requests for support are to be addressed to: