Time-evolution algorithm: Difference between revisions

From VASP Wiki
Line 20: Line 20:
By projecting the initial vector <math>\mu^i</math> on <math>\xi^j(t)</math> at each instant, VASP can compute the dielectric response at different directions (<math>i,j=x,y,z</math>). Users can use the variable {{TAG|IEPSILON}} to control the Cartesian direction along which the Dirac delta pulse is applied. {{TAG|IEPSILON}} = 4 (default) performs three independent calculations for an electric field in x, y and z direction, and thus is the most expensive. The choice of direction is system dependent, for instance, while for cubic systems it is enough to compute <math>\epsilon_{xx}(\omega)</math>, for 2D systems such as hexagonal boron nitride it is advisable to compute both <math>\epsilon_{xx}(\omega)</math> and <math>\epsilon_{yy}(\omega)</math> and then analyse their average.  
By projecting the initial vector <math>\mu^i</math> on <math>\xi^j(t)</math> at each instant, VASP can compute the dielectric response at different directions (<math>i,j=x,y,z</math>). Users can use the variable {{TAG|IEPSILON}} to control the Cartesian direction along which the Dirac delta pulse is applied. {{TAG|IEPSILON}} = 4 (default) performs three independent calculations for an electric field in x, y and z direction, and thus is the most expensive. The choice of direction is system dependent, for instance, while for cubic systems it is enough to compute <math>\epsilon_{xx}(\omega)</math>, for 2D systems such as hexagonal boron nitride it is advisable to compute both <math>\epsilon_{xx}(\omega)</math> and <math>\epsilon_{yy}(\omega)</math> and then analyse their average.  


To probe the dielectric response, <math>V(t)</math> is set  as proportional to a delta-pulse{{cite|kubo:jpsj:1957}}, i.e. <math>V(t) = \lambda\delta(t)</math>. With this, all possible transitions between the conduction and valence states included in the INCAR are probed during time-propagation of the dipole-moment vector <math>\xi^j(t)</math>. Control over which valence and conduction states are added in time-dependent run is done with the {{TAG|NBANDSO}} and {{TAG|NBANDSV}} flags, respectively.  
To probe the dielectric response, <math>V(t)</math> is set  as proportional to a delta-pulse{{cite|kubo:jpsj:1957}}, i.e. <math>V(t) = \lambda\mathbf r\cdot\mathbf D\delta(t)</math>{{cite|sander:jcp:2017}}. With this, all possible transitions between the conduction and valence states included in the INCAR are probed during time-propagation of the dipole-moment vector <math>\xi^j(t)</math>. Control over which valence and conduction states are added in time-dependent run is done with the {{TAG|NBANDSO}} and {{TAG|NBANDSV}} flags, respectively.  


Users should note that while the inclusion of conduction states and the right potential makes comparison time-dependent results with data resulting from TDDFT or BSE calculations, a sufficient large number of such states must be included in a preceding ground-state calculation, where all the energy levels and dipole moments are computed. Note, however, that unoccupied orbitals are not propagated, which saves computational time.
Users should note that while the inclusion of conduction states and the right potential makes comparison time-dependent results with data resulting from TDDFT or BSE calculations, a sufficient large number of such states must be included in a preceding ground-state calculation, where all the energy levels and dipole moments are computed. Note, however, that unoccupied orbitals are not propagated, which saves computational time.

Revision as of 13:43, 8 February 2024

The macroscopic dielectric function, , measures how a given dielectric medium reacts when subject to an external electric field. While VASP possesses several methods to compute this function, here we focus on a strategy, which can be useful when dealing with large systems.

Macroscopic polarizability as a time-dependent integral

The main argument is that one can write as a time-dependent integral[1]

where is a vector of all dipole moments. The fundamental aspect behind this transformation is that the new, time-dependent vector follows the equation

with the initial vector elements given by .

The level of approximation is controlled by the Hamiltonian chosen in the time-dependent Schrödinger equation. It is worthy to note that is split into two parts, , where is the ground-state Hamiltonian, and is the time-dependent perturbation.

By projecting the initial vector on at each instant, VASP can compute the dielectric response at different directions (). Users can use the variable IEPSILON to control the Cartesian direction along which the Dirac delta pulse is applied. IEPSILON = 4 (default) performs three independent calculations for an electric field in x, y and z direction, and thus is the most expensive. The choice of direction is system dependent, for instance, while for cubic systems it is enough to compute , for 2D systems such as hexagonal boron nitride it is advisable to compute both and and then analyse their average.

To probe the dielectric response, is set as proportional to a delta-pulse[2], i.e. [3]. With this, all possible transitions between the conduction and valence states included in the INCAR are probed during time-propagation of the dipole-moment vector . Control over which valence and conduction states are added in time-dependent run is done with the NBANDSO and NBANDSV flags, respectively.

Users should note that while the inclusion of conduction states and the right potential makes comparison time-dependent results with data resulting from TDDFT or BSE calculations, a sufficient large number of such states must be included in a preceding ground-state calculation, where all the energy levels and dipole moments are computed. Note, however, that unoccupied orbitals are not propagated, which saves computational time.

To perform this calculation, users must set ALGO=TIMEEV in the INCAR file. A small example for bulk silicon is provided in the last section of this page.

Levels of approximation for the exchange-correlation potential

By default, the time propagation code includes the Hartree and local-field effects (LHARTREE=.TRUE. and LFXC=.TRUE.). Results in the independent particle approximation can be calculated by setting both variables to .FALSE.. Please note that setting one variable to .FALSE. and the other to .TRUE. is not currently supported.

LHARTREE: activation of local field effects

With the flag LHARTREE=.TRUE. users can activate the inclusion of direct interaction terms in the Hamiltonian, also known as the bubble diagrams from Many Body Perturbation Theory. This is the equivalent of running a BSE calculation in the Random Phase approximation. Note that at the end, the dielectric function reported in the output files is the macroscopic dielectric function, where no contributions from local fields (i.e. terms with finite ) are included.

LFXC: activation of the TDDFT kernel

Setting LFXC=.TRUE. includes the local exchange-correlation kernel, in the time-propagation

where controls the fraction of the exchange energy functional that is included in the kernel (see AEXX). This allows users to perform time-dependent calculations using hybrid functionals.

Choice of time-step

By default, the number of time steps is chosen automatically by VASP and is inversely proportional to the value of CSHIFT. That is, a large CSHIFT requires fewer time steps (but yields a spectrum with broader peaks), whereas a small shift CSHIFT requires more steps and a sharper spectrum. Typically, values of CSHIFT = 0.1 result in physically meaningful spectra. Alternatively, the number of time steps can be set directly by the tag NELM. In this case, the user-defined number of steps needs to be large than 100. Otherwise, the value of NELM will be discarded, and the actual number of time steps will be determined by the tag CSHIFT.

Summary of required INCAR flags

Run-level variables

ALGO = TIMEEV - sets the calculation type to a time-evolution run

Choice of bands variables

NBANDSO - number of occupied (valence) bands to be included

NBANDSV - number of virtual (conduction) bands to be included

Approximations to the potential

LHARTREE - include or exclude the Hartree exchange terms (i.e. bubble diagrams) in the Hamiltonian

LFXC - include or exclude the kernel in the time-propagation

AEXX - controls the fraction of exchange functional that is included in the

Time-propagation and spectrum

CSHIFT - controls the broadening of the peaks in the spectra of , while also automatically setting up the necessary number of steps to ensure numerical stability of the time-evolution algorithm

IEPSILON - sets up the directions along which the dielectric function is computed

NELM - sets the number of steps to be used in time-propagation. Users must set this number to be greater than 100

OMEGAMAX - maximum frequency (in eV) for which the dielectric function is computed

TIMEEV versus BSE and Casida TDDFT

It is important to distinguish the difference between time-evolution and what is done for the dielectric function coming from BSE and TDDFT calculations. In both cases the computation of the poles and amplitudes of is brought to an eigenvalue problem of the form[4]

which does not rely on time-propagation algorithms.

Example

A typical calculation requires two steps. First, a ground state calculation:

SYSTEM = Si
NBANDS = 12 ! even 8 bands suffice for Si
ISMEAR = 0 ; SIGMA = 0.05
ALGO = N
LOPTICS = .TRUE.
KPAR = 4     ! assuming we run on 4 cores, this will be the fastest


Second, the actual time propagation:

SYSTEM = Si
NBANDS = 12  ! even 8 bands suffice for Si
ISMEAR = 0 ; SIGMA = 0.05
ALGO = TIMEEV
IEPSILON = 1 ! cubic system, so response in x direction suffices
NBANDSO = 4  ; NBANDSV = 8  ;  CSHIFT = 0.1
KPAR = 4     ! assuming we run on 4 cores, this will be the fastest

In this case, OMEGAMAX is set automatically to the maximal transition energy (about 25 eV in this example). Reducing the number of considered transitions, and thus reducing OMEGAMAX will increase both the duration of time steps and their number.

For standard DFT calculations, the time-propagation code is so fast that very dense k-point grids can often be used.

Related Tags and Sections

ALGO, CSHIFT, LHARTREE, LFXC, NBANDSV, NBANDSO, OMEGAMAX

References