Jump to content

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

IBSE: Difference between revisions

From VASP Wiki
Pmelo (talk | contribs)
Pmelo (talk | contribs)
 
(3 intermediate revisions by the same user not shown)
Line 12: Line 12:
{{NB|mind| {{TAG|IBSE|2}} and {{TAG|IBSE|3}} are only available for VASP version 6.5.0 and above.}}
{{NB|mind| {{TAG|IBSE|2}} and {{TAG|IBSE|3}} are only available for VASP version 6.5.0 and above.}}


== Scientifically significant output ==
== Scientific 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.  
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.  


Line 33: Line 33:
| {{FILE|CHG}}.X (X = excitonic state index), {{FILE|vaspout.h5}} || Yes || No || Yes || No
| {{FILE|CHG}}.X (X = excitonic state index), {{FILE|vaspout.h5}} || Yes || No || Yes || No
|-
|-
| colspan="6" style="background: #f0f0f0; font-size: 90%;" |
| colspan="6" style="background: ; font-size: 90%;" |
<sup>1</sup> Only written if {{TAG|NBSEEIG}} is set in the INCAR
<sup>1</sup> Only written if {{TAG|NBSEEIG}} is set in the INCAR
<br />
<br />
<sup>2</sup> Only written if {{TAG|BSEHOLE}} or {{TAG|BSEELECTRON}} is set in the INCAR
<sup>2</sup> Only written if one of {{TAG|BSEHOLE}} or {{TAG|BSEELECTRON}} is set in the INCAR
|}
|}


Line 42: Line 42:
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.
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 ===
=== IBSE = 0,2 ===
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.
The old and new BSE driver perform exact diagonalization of the BSE Hamiltonian. At the end they only provide 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 ===
=== 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.  
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.  


<pre>
  Time evolution parameters used:
  Time evolution parameters used:
  -------------------------------
  -------------------------------
Line 75: Line 72:


     BSE_TE:  cpu time    60.0951: real time    65.1642
     BSE_TE:  cpu time    60.0951: real time    65.1642
 
</pre>
=== 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 ===  
=== 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.   
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.   
<pre>
  Parameters set for Lanczos algorithm
  Parameters set for Lanczos algorithm
   Threshold:  0.1000000E-04
   Threshold:  0.1000000E-04
Line 95: Line 88:
     xy        0.1792577E-04
     xy        0.1792577E-04
     yz        0.4541156E-05
     yz        0.4541156E-05
     zx        0.1034294E-04  
     zx        0.1034294E-04
</pre>


== Related tag and articles ==
== Related tag and articles ==

Latest revision as of 13:44, 18 June 2026

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.

Scientific 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.

Output type Output file(s) IBSE
0 1 2 3
Dielectric function vasprun.xml, vaspout.h5 Yes Yes Yes Yes
Optical transitions vasprun.xml, vaspout.h5 Yes No Yes Yes
BSE fatbands1 BSEFATBAND, vaspout.h5 Yes No Yes No
Exciton wavefunction1,2 CHG.X (X = excitonic state index), vaspout.h5 Yes No Yes No

1 Only written if NBSEEIG is set in the INCAR
2 Only written if one of BSEHOLE or BSEELECTRON is set in the INCAR

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,2

The old and new BSE driver perform exact diagonalization of the BSE Hamiltonian. At the end they only provide information on how long it took to diagonalize the matrix and how long it needed to compute the optical amplitudes.

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 = 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