# How converge and use outputs from the ground state to calculate the Bethe Salpeter equation in exciting

Dear Developers,
I want to calculate the BSE on top of G0W0 for my structure based on tutorial I need to converge the {ngrid-k, ngrid-q, nempty and gqmax} inside xs part
nempty inside “screening”
and “nstlbse” inside “BSE”
my first question is that how you select “1 5 1 4” for the lowest and highest occupied (1 5) and unoccupied state (1 4)? I did the calculation for LiF and check the “EIGVAL.OUT” and I want to know how we can understand the data for nstlbse based on this output file?because I just could understand that lowest and highest occupied state would be 1 and 5 and the lowest and highest unoccupied state if we start from the first zero one our computing would be 1 to 6, but you considered it 1 to 4, So for the unoccupied I DON’T know how should I get it from this file: I put it here, it’s sth like this that continues to 29 period :
1 0.000000000 0.000000000 0.000000000 : k-point, vkl
(state, eigenvalue and occupancy below)
1 -1.516682640 2.000000000
2 -0.7693650701 2.000000000
3 -0.3925866282E-01 2.000000000
4 -0.3925858805E-01 2.000000000
5 -0.3925858805E-01 2.000000000
6 0.2890661652 0.000000000
7 0.8403102165 0.000000000
8 0.8403157950 0.000000000
9 0.8403157950 0.000000000
10 0.8485991100 0.000000000
11 0.8485999269 0.000000000

and I pretty know how converge the ngrid-k and ngrid-q and … for “xs” and “screening”. but if we know the occupied and unoccupied state from the EIGVAL.OUT, why we need to converge? and how?

another question:
it’s the input data for the BSE top of G0W0:
<xs
xstype=“BSE”
ngridk=“3 3 3”
vkloff=“0.097 0.273 0.493”
ngridq=“3 3 3”
nempty=“30”
gqmax=“2.5”
scissor=“0.0” for top of G0W0, this item should consider zero
tappinfo=“true”
tevout=“true”>

``````  <energywindow
intv="0.0 1.0"
points="1200"/>

<screening
screentype="full"
nempty="100"/>

<BSE
bsetype="singlet"
nstlbse="1 5 1 4" />

<qpointset>
<qpoint>0.0 0.0 0.0</qpoint>
</qpointset>
``````
1. How I can use the out put files to find this data "gqmax and broad" I don't know what should I enter for them in input file? and for vkloff too? 2. for converging, is it ok to fix the ngrid-k and ngrid-q on 3 3 3 and nempty inside "screening" on 100 and then converge the nempty inside "xs", then after converging the nempty inside "xs", try to converge nempty inside "screening" and then converge the nqrid-k and ngrid-q? and finally converge the gqmax? Best, Nasrin

Thank you for your interest in the exciting code. You have a correct basic understanding of how to specify nstlbse by looking at the EIGVAL.OUT file. You are correct that if you use all available occupied and all available unoccupied states to construct the Hamiltonian for the BSE then you would specify “1 5 1 6” for this LiF example. However, you may choose to use only a subset of the occupied and/or unoccupied states to construct the Hamiltonian. Limiting the range of states makes the Hamiltonian smaller, and thus the calculation will be faster. However, one must check convergence with respect to the range of states selected. For this example, all occupied states are used “1 5”, but the number of unoccupied states is truncated “1 4” rather than the full “1 6” available. Thus, nstlbse is specified as “1 5 1 4” in this example. You could rerun the calculation using nstlbse “1 5 1 6” to look for any differences in the final spectrum as a convergence test.

To your second question, the parameter ‘broad’ within xs specifies the amount of broadening added to spectral features, e.g. in the absorption spectrum. This can be adjusted to match observed experimental broadening. gqmax is a convergence parameter, as you indicate. The steps for convergence testing that you suggest are reasonable.

Dear gilmorek,
Many thanks for your response, I got it.
but now my basic question is that" by using which parameter I can converge the nempty in “xs” and “screening” actually by using which out put file, For example, for the G0W0, after running the input file obtained “GW_INFO.OUT”, that in this file I had the band gap for the G0W0 calculation and I plot a figure based on nempty and ngrid-q and converged it.
But, in BSE calculation, it’s not clear for me to how should I do it?
after BSE calculation I obtain “INFOXS.OUT” that inside it we can see “bsegap=?”, I should converge based on this? and for instanse, if the band gap for my structure is near 4, when this bsegap was close to 4, my input data would be good…
next question, in the next part to visualize wavefunction we have this:

Can you please make it clear for me, from which output file based on my previous calculation I can select a reasonable number for min and max energy and min and max number excitons???
I am so thankful for your attention,
Best regards,
Nasrin