BSE starting from GW
Posted: Tue Apr 05, 2022 5:39 pm
Hello,
I am doing some BSE calculations starting from previous computed GW corrections and I am trying to generate the input for this. I firstly tried to use 'yambo -o b -k sex -y d -V qp -r' but the calculation stops for ' <05s> [WARNING]Missing all or part of PP/Em1s DB
<05s> [WARNING]Bethe Salpter section skipped. Impossible to build the kernel.'
For this reason, I tried with 'yambo -o b -X s k sex -y d -r -V qp'. I changed the 'em1s' to 'ppa' (I tried with pp as suggested in this forum, but it still doesn't work with the same error), 'NGsBlkXs', 'BndsRnXs' and 'LongDrXs' to 'NGsBlkXp', 'BndsRnXp', 'LongDrXp'. For the Xp inputs, I've used the converged values used withing the GW calculation for the Xs part (is it ok?). For the rest of the inputs, like KfnQP_E, KfnQP_Z etc I haven't changed anything from the automated generated input.
Lastly, I have used the KfnQPdb input to read the GW part. In attachment, I've put the input.
I have some questions:
1. I have found the input 'KfnQP_DbGd_INTERP_mode' which I haven't found in the Yambo manual. I guess it's related to the way the code it's interpolating the bands, should it be modified from how it is in the input?
2. If BSENGBlk variable is set to -1 it should use the maximum number of G-vectors. Should it be converged or it's safer to always use -1?
3. Also for the value BSEQptR I couldn't find much in the manual. Should it be changed?
4. Should XfnQPdb and KfnQPdb both be used? If so, with the same syntax (using always the ndb.QP file)?
5. In the automated input generator, it selects the resonant approximation for bse. Shouldn't it be better to use the retarded option?
6. In the input file, there is also the XTermKind defined at the end of the X part. In the GW part, I've used a certain amount of bands converged with the BG terminator. Should I select the same here by using XTermKind BG?
7. I manually put the parallelization part. Is it okay or should I remove the self-energy part?
8. I noticed no inputs regarding the frequency points considered, am I missing something? Shouldn't it be a parameter to converge?
9. I noticed that the FFTGvecs value is not specified in the automatic generated input, so I tried to include -V RL to see it. Does it automatically select the maximum value? Since my system is quite big, it could be useful to converge it to smaller values (ok even if I used the maximum in GW?). Can I do it after all the other BSE convergences? Is it still safe or it's better to keep it to the maximum?
It's a little confusing to me how to generate automatically the bse input file when having just the GW database with ppa, since I manually modifies some inputs... is there an automatic command to do it?
10. For some systems, I have done in the part some GW calculations but I don't have the database anymore so I need to re-calculate the screening from scratch. In that case, if I want to do the whole BSE calculation without starting from GW, can I stiff use the values converged with the GW calculation, then generate the whole BSE file using 'yambo -o b -X s k sex -y d -r -V qp' and not changing Xs to Xp and not changing em1d to ppa, and use the Xs input found with the GW convergence? And in the final BSE calculation, I guess the parameter converged in GW EXXRLvcs does not play a role.
Basically I'm using this input to do the convergence for the BSE calculation: is it okay to left -1 to BSENGBlk for now, converge the BSENGexx while keeping the number of bands for the BSE part fixed (not high values) and lastly converge the bands? Or the BSENGexx and bands should be cross-converged?
I noticed that in the calculation, even if the GW is correctly loaded:
<39s> P1-lm3-w003.cluster: [06] External/Internal QP corrections
<39s> P1-lm3-w003.cluster: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [dE_from_DB-Nearest K] Exact matches : 100.0000 [o/o]
<39s> P1-lm3-w003.cluster: [06.01] FIT on E < gw_ppa_11_300/ndb.QP
<39s> P1-lm3-w003.cluster: [QP_apply] Action to be applied: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [07.01] QP corrections report
<39s> P1-lm3-w003.cluster: [01] Dipoles
after the calculations of the dipoles, there is still the calculation of X:
<39s> P1-lm3-w003.cluster: [06] External/Internal QP corrections
<39s> P1-lm3-w003.cluster: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [dE_from_DB-Nearest K] Exact matches : 100.0000 [o/o]
<39s> P1-lm3-w003.cluster: [06.01] FIT on E < gw_ppa_11_300/ndb.QP
<39s> P1-lm3-w003.cluster: [QP_apply] Action to be applied: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [07.01] QP corrections report
<39s> P1-lm3-w003.cluster: [01] Dipoles
....
is it normal?
Lastly, I've seen that an output for the interpolation of the band is generated (in attachment). How can I read this file to be able to tell if everything is going ok?
Sorry for the long post. Sincerely,
I am doing some BSE calculations starting from previous computed GW corrections and I am trying to generate the input for this. I firstly tried to use 'yambo -o b -k sex -y d -V qp -r' but the calculation stops for ' <05s> [WARNING]Missing all or part of PP/Em1s DB
<05s> [WARNING]Bethe Salpter section skipped. Impossible to build the kernel.'
For this reason, I tried with 'yambo -o b -X s k sex -y d -r -V qp'. I changed the 'em1s' to 'ppa' (I tried with pp as suggested in this forum, but it still doesn't work with the same error), 'NGsBlkXs', 'BndsRnXs' and 'LongDrXs' to 'NGsBlkXp', 'BndsRnXp', 'LongDrXp'. For the Xp inputs, I've used the converged values used withing the GW calculation for the Xs part (is it ok?). For the rest of the inputs, like KfnQP_E, KfnQP_Z etc I haven't changed anything from the automated generated input.
Lastly, I have used the KfnQPdb input to read the GW part. In attachment, I've put the input.
I have some questions:
1. I have found the input 'KfnQP_DbGd_INTERP_mode' which I haven't found in the Yambo manual. I guess it's related to the way the code it's interpolating the bands, should it be modified from how it is in the input?
2. If BSENGBlk variable is set to -1 it should use the maximum number of G-vectors. Should it be converged or it's safer to always use -1?
3. Also for the value BSEQptR I couldn't find much in the manual. Should it be changed?
4. Should XfnQPdb and KfnQPdb both be used? If so, with the same syntax (using always the ndb.QP file)?
5. In the automated input generator, it selects the resonant approximation for bse. Shouldn't it be better to use the retarded option?
6. In the input file, there is also the XTermKind defined at the end of the X part. In the GW part, I've used a certain amount of bands converged with the BG terminator. Should I select the same here by using XTermKind BG?
7. I manually put the parallelization part. Is it okay or should I remove the self-energy part?
8. I noticed no inputs regarding the frequency points considered, am I missing something? Shouldn't it be a parameter to converge?
9. I noticed that the FFTGvecs value is not specified in the automatic generated input, so I tried to include -V RL to see it. Does it automatically select the maximum value? Since my system is quite big, it could be useful to converge it to smaller values (ok even if I used the maximum in GW?). Can I do it after all the other BSE convergences? Is it still safe or it's better to keep it to the maximum?
It's a little confusing to me how to generate automatically the bse input file when having just the GW database with ppa, since I manually modifies some inputs... is there an automatic command to do it?
10. For some systems, I have done in the part some GW calculations but I don't have the database anymore so I need to re-calculate the screening from scratch. In that case, if I want to do the whole BSE calculation without starting from GW, can I stiff use the values converged with the GW calculation, then generate the whole BSE file using 'yambo -o b -X s k sex -y d -r -V qp' and not changing Xs to Xp and not changing em1d to ppa, and use the Xs input found with the GW convergence? And in the final BSE calculation, I guess the parameter converged in GW EXXRLvcs does not play a role.
Basically I'm using this input to do the convergence for the BSE calculation: is it okay to left -1 to BSENGBlk for now, converge the BSENGexx while keeping the number of bands for the BSE part fixed (not high values) and lastly converge the bands? Or the BSENGexx and bands should be cross-converged?
I noticed that in the calculation, even if the GW is correctly loaded:
<39s> P1-lm3-w003.cluster: [06] External/Internal QP corrections
<39s> P1-lm3-w003.cluster: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [dE_from_DB-Nearest K] Exact matches : 100.0000 [o/o]
<39s> P1-lm3-w003.cluster: [06.01] FIT on E < gw_ppa_11_300/ndb.QP
<39s> P1-lm3-w003.cluster: [QP_apply] Action to be applied: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [07.01] QP corrections report
<39s> P1-lm3-w003.cluster: [01] Dipoles
after the calculations of the dipoles, there is still the calculation of X:
<39s> P1-lm3-w003.cluster: [06] External/Internal QP corrections
<39s> P1-lm3-w003.cluster: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [dE_from_DB-Nearest K] Exact matches : 100.0000 [o/o]
<39s> P1-lm3-w003.cluster: [06.01] FIT on E < gw_ppa_11_300/ndb.QP
<39s> P1-lm3-w003.cluster: [QP_apply] Action to be applied: E<gw_ppa_11_300/ndb.QP[ PPA@E 27.21138 = XG 5229 = Xb 1-300 = Scb 1-300]
<39s> P1-lm3-w003.cluster: [07.01] QP corrections report
<39s> P1-lm3-w003.cluster: [01] Dipoles
....
is it normal?
Lastly, I've seen that an output for the interpolation of the band is generated (in attachment). How can I read this file to be able to tell if everything is going ok?
Sorry for the long post. Sincerely,