Jump to content

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

IBSE

From VASP Wiki

IBSE = 0 | 1 | 2 | 3
Default: IBSE = 2 

Description: IBSE can be used to select the algorithm for solving the Bethe-Salpeter or Casida equation.


The following options are available to solve the Bethe-Salpeter or Casida equation:

IBSE = 2 and IBSE = 0 yield exactly the same results but the old driver (IBSE = 0) is typically much slower and will be deprecated in the future.

Scientifically significant output

Not all solvers provide all types of scientifically relevant output. The table below summarises for each value of IBSE what kinds of results can be obtained.

IBSE Dielectric function Optical Transitions BSE fatbands Exciton wavefunction Present in file
0 Yes Yes Yes Yes
1 Yes No No No
2 Yes Yes Yes Yes
3 Yes Yes No No

The dielectric function and optical transitions are written to both vasprun.xml and vaspout.h5, the BSE fatbands are written to the BSEFATBAND file, and each exciton wave function is written as a charge density to its own CHG.X file, with X being the index of the excitonic state.

Performance output

Besides the numerical results, different solvers will write different information on the OUTCAR. In the following examples we used a small bulk-LiF unit cell on a sparse k-grid.

IBSE = 0

The old BSE driver performs the exact diagonalization of the BSE Hamiltonian. As such, at the end it only provides information on how long it took to diagonalize the matrix and how long it needed to compute the optical amplitudes.

   BSESUM:  cpu time      0.0000: real time      0.0000
  BSEDIAG:  cpu time      2.2567: real time      2.4521
   SELFEN:  cpu time      0.0002: real time      0.0002
  BSEOSZI:  cpu time      5.9516: real time      6.5337

IBSE = 1

At the end of the run the time-evolution solver will write to the OUTCAR the relevant parameters used in its execution, as well as how long it took to perform the full computation.

Time evolution parameters used:
-------------------------------
Calculating BSE spectra using full res.-antires. coupling
Matrix rank:       2430
 Omega_max:   94.2354
Broadening:    0.4000
     T_max:   25.0000
   BSEPREC:  Accurate
    Scheme:  3rd order update equations
Number of time steps:     9423
First time step:  0.265293E-02 1/eV
Last  time step:  0.265293E-02 1/eV
dOmega  :  0.01000
N_Omega :   9425
CPU time (time steps)        55.76sec
   BSE_TE:  cpu time     60.0951: real time     65.1642

IBSE = 2

Similarly to the old exact diagonalization solver, the new driver also only provides timings on how long it took to diagonalize the full matrix and to compute the optical amplitudes.

  BSEDIAG:  cpu time      2.2534: real time      2.6143
  BSEOSZI:  cpu time      1.2601: real time      1.3230

IBSE = 3

The Haydock-Lanczos solver terminates the calculation once the trace of the dielectric function converges. At the end, information about convergence of the dielectric function along each direction is written to the OUTCAR file.

Parameters set for Lanczos algorithm
  Threshold:  0.1000000E-04
  Maximum energy:   94.235
   Number of energy steps:         1000
   Number of iterations needed to reach set accuracy:         250
   Final accuracy along all directions:
   x          0.6277122E-05
   y          0.4480512E-05
   z          0.1392376E-04
   xy         0.1792577E-04
   yz         0.4541156E-05
   zx         0.1034294E-04 

Related tag and articles

IBSE, BSEPREC, NBANDSV, NBANDSO, CSHIFT, OMEGAMAX, BSE calculations, Time-dependent density-functional theory calculations, Bethe-Salpeter equations