3.32 Bethe-Salpeter equation: BSE
The serial BSE runs both with and without Tamm-Dancoff Approximation (TDA) and print out both results by default. The parallel BSE runs only with TDA at the moment.
The BSE eigenvalue equation in matrix form is:
where : Excitation energies; : Excitation eigenvectors; matrix element A and B are calculated by quasiparticle energies, Coulomb and screened Coulomb integrals;
where : occupied states; : unoccupied states; = 2 for singlet states; 0 for triplet states. The TDA considers only block A, which is symmetric and easy to solve.
Tags for general section of control.in
Tag: neutral_excitation(control.in)
Usage: neutral_excitation type
Purpose: Triggers the calculation of neutral excitations.
type: String that defines the type of calculation to be performed.
-
•
bse: Full BSE calculation without TDA for serial run; TDA BSE for parallel run.
Also the keyword empty_states should be set to a large number (e.g., 1000), or the keyword calculate_all_eigenstates should be used, to make sure the code generates all possible empty states provided from the basis set. This number will also be reduced automatically by the code to the maximum number that can be generated from the basis set.
Tag: read_write_qpe(control.in)
Usage: read_write_qpe type
Purpose: Specify write quasiparticle energies (qpe) in GW calculation or read qpe in BSE calculation
type: String that specify read or write qpe, or both.
-
•
w: write qpe to a file, used together with qpe_calc
-
•
r: read qpe from a file, if this value(’r’) is set, a file "energy_qp" should be provided by the user. The energy in the file "energy_qp" should be in hartree unit.
-
•
wr or rw: write qpe in GW and read qpe in BSE
Tag: bse_s_t(control.in)
Usage: bse_s_t type
Purpose: Specify whether singlet or triplet excitation energies should be calculated in BSE calculation.
type: String that specify wheter singlet or triplet, can not do both at the moment.
-
•
singlet: Singlet states calculated in BSE.
-
•
triplet: Triplet states calculated in BSE.