BSresKmod and BScplKmod

Deals with issues related to computation of optical spectra in reciprocal space: RPA, TDDFT, local field effects.

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano, Conor Hogan

leommj
Posts: 5
Joined: Mon Sep 19, 2011 11:07 pm

BSresKmod and BScplKmod

Post by leommj » Tue Oct 11, 2011 4:12 pm

Hi,
I've being using yambo to obtain the excitations of some small organic molecules, but I need some clarifications on the use of these two variables, BSresKmod and BScplKmod.

In the BSS documentation, the resonant part is divided in three: "diag,res", "exch,res" and "coul,res". Are these the same three possible options "x,c,d" for the BSresKmod variable?
I ask this because looking at the documentation for the variable, the descriptions don't match. There they are described as "exchange", "coupling" and "diagonal terms only". But isn't coupling determined by the other variable? And "diagonal only" means that only the diagonal terms of the xc are used?

And now to the Coupling part, in the BSS documentation it is divided in two parts: "exch,coupling" and "coul,coupling" (at least in the first equation; on the second and third I think the names were misspelled).
But the BScplKmod variable accepts 4 options, "x,c,d,u". The "c" is described on the documentation as "coupling part" of the "Coupling term", is that right? And the other two options, "d" and "u", what are they? (the "u" option isn't even cited on the variable description).

And, in the end, for these variables is "the more the better", i.e., is the physics better described by adding more terms?

Many thanks for the help,
Leonardo Jorge
PhD Student - Nanomol Group
Universidade de São Paulo - Brazil

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: BSresKmod and BScplKmod

Post by Daniele Varsano » Tue Oct 11, 2011 5:28 pm

Dear Leonardo,
x,c,d stands for exchange, coulomb and diagonal respectively. You can select with terms including in the BSE kernel,
both in the resonant part (Tamm-Dancoff) or in the full matrix (adding coupling). I think you made confusion between
coupling and Coulomb.

The more the better: the BSE equation has all the terms, anyway the Tamm-Dancoff approximations works in several
cases, and it is much more fast to compute and solve. If you doing calculation for molecules, anyway I think
that it is important to include the coupling, or at least to check if you can use the Tamm-Dancoff approximation.
Note that if you do not add the coulomb term or the exchange term in the resonant part, essentially you are not
doing calculation at BSE level.

In the documentation there is mispelling: Coul,res instead of Coul,coupling, thanks for noticing it, we will correct it soon.

Hope it helps,

Cheers,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

leommj
Posts: 5
Joined: Mon Sep 19, 2011 11:07 pm

Re: BSresKmod and BScplKmod

Post by leommj » Tue Oct 11, 2011 5:59 pm

Hi Daniele, thanks for the explanation!

The confusion between coupling and Coulomb started because the "c" is written as coupling at http://www.yambo-code.org/doc/vars/var_BSresKmod.php and http://www.yambo-code.org/doc/vars/var_BScplKmod.php.

From the tests I have made I can say that for my systems the Tamm-Dancoff approximation isn't very good, the results are quite different.

In the Coupling part, the "d" stands as diagonal there too? What does this term represents?
And what is the option "u"? (from the input file: "BScplKmod # (BSK) Coupling Kernel mode. (`x`;`c`;`d`;`u`)").

In terms of computational time, in my tests I have seen that adding the exchange to the coupling term gives almost no change in the total time, whereas adding the coulomb doubles it.
But what I found strange is that adding the "d" to the resonant term, the calculation time decreased to a sixth of its previous value. Is it really adding a new term to the resonant equation (one that should have been always there!), or is it simplifying it by using just the diagonal values of the "x" and "c" terms?

Thanks,
Leonardo Jorge
PhD Student - Nanomol Group
Universidade de São Paulo - Brazil

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: BSresKmod and BScplKmod

Post by Daniele Varsano » Wed Oct 12, 2011 3:20 pm

Dear Loenardo,
The confusion between coupling and Coulomb started because the "c" is written as coupling at http://www.yambo-code.org/doc/vars/var_BSresKmod.php and http://www.yambo-code.org/doc/vars/var_BScplKmod.php.
thanks again to notice it!! we have to correct this part of documentation, and hopefully do it more clear.
In the Coupling part, the "d" stands as diagonal there too? What does this term represents?
And what is the option "u"? (from the input file: "BScplKmod # (BSK) Coupling Kernel mode. (`x`;`c`;`d`;`u`)").
Well, I think that there is some mess in the documentation again, the variable of interest are "x" , "c" and "d".
The "d" option, is not adding a new term, but just considering a diagonal approximation for the screened coulomb potential,
W(g1,g2)--> W(g,g). That's why you noticed the dramatic decrease of computation time. Of course, it is a brutal approximation when you
have a non-homogeneous system.
I have seen that adding the exchange to the coupling term gives almost no change in the total time, whereas adding the coulomb doubles it.
You do not observe change in the total time, as the exchange part is the faster part to evaluate.
Anyway to summarize, if you want to do a Bethe Salpeter calculation you have to set BSresKmod='xc' and eventually BScplKmod='xc' if you need to go beyond the Tamm-Dancoff approximation (and it looks the case).

Hope now it's more clear.

Best,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

leommj
Posts: 5
Joined: Mon Sep 19, 2011 11:07 pm

Re: BSresKmod and BScplKmod

Post by leommj » Thu Oct 13, 2011 9:24 pm

Hi Daniele,
Now I think I understood, thanks for the explanation.

Just one last question:
I'm doing these tests on C2H2, just to get a feeling for the calculation parameters before going to bigger molecules. I'm doing BSE calculations using static dielectric matrix, and using the diagonalization solver.

Whenever I use "cpl" other than "none" and "res" non-diagonal, on the o.exc_E_sorted file created by ypp I have some excitons at near zero energy (0.1E-6 to 0.1E-4), some of them with strenght 1.0, and all of them with W (fourth column of the file) 10^6 times larger than the other excitons.
When I look at the transition's weights for these excitons, all of them are transitions of the kind
A -> B (positive energy)
B -> A (negative energy)
C -> D (positive energy)
D -> C (negative energy)
What do they represent?

Thanks again,
Leonardo Jorge
PhD Student - Nanomol Group
Universidade de São Paulo - Brazil

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: BSresKmod and BScplKmod

Post by Daniele Varsano » Thu Oct 13, 2011 10:01 pm

Dear Leonardo,
your results sound quite strange, anyway:
A -> B (positive energy)
B -> A (negative energy)
C -> D (positive energy)
D -> C (negative energy)
What do they represent?
this means that you have valence-conduction transition participating to the excitations,
as well conduction--> valence transition. The KS energy difference (Ef - Ei) in this case is negative.
This happen because you added the coupling, that it is indeed the matrix elements involving (v,c)(c,v) states.
Of course, if you do not include the coupling, i.e. resonant calculation that cannot happen.
In the case of the coupling, the matrix it is not hermitian anymore and the eigenvalues can be complex (this is
because you have a width). Anyway, the values you are reporting are quite strange to me.

Cheers,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

leommj
Posts: 5
Joined: Mon Sep 19, 2011 11:07 pm

Re: BSresKmod and BScplKmod

Post by leommj » Thu Oct 13, 2011 10:19 pm

I have atached below my BSE report and o.exc_E_sorted files; if you could look at them I would be very grateful.

Best,
You do not have the required permissions to view the files attached to this post.
Leonardo Jorge
PhD Student - Nanomol Group
Universidade de São Paulo - Brazil

User avatar
Daniele Varsano
Posts: 4198
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: BSresKmod and BScplKmod

Post by Daniele Varsano » Fri Oct 14, 2011 9:36 am

Dear Leonardo,
I had a look to the report file, and it looks you did not include any Quasiparticle corrections,
neither scissor operator in your calculations for the constructions of BS matrix.
Bethe-Salpeter equation have to be constructed on top of a quasiparticle calculations.
You can have a look to the lecture notes.
In order to do that,you will have to perform GW calculation first, than the BS runlevel will read
the QP database by using:
KfnQPdb variable, or alternatively add a scissor
operator corrections when it is allowed (it just shift up your unoccupied level by an amount of energy, (opening the gap)
mimicking the effect of GW, in the case that the net effect of GW correction is a rigid shift). In the case of a molecule I suspect that it is not
correct, but you can use it for testing purpose. You can activate it by using the
KfnQP_E variable in the Bethe Salpeter calculation.
Of course, if you want to do TDDFT calculations this does not have to be done, and you have to use
the KS eigenvalues.
Hope it helps,
Cheers,

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

leommj
Posts: 5
Joined: Mon Sep 19, 2011 11:07 pm

Re: BSresKmod and BScplKmod

Post by leommj » Fri Oct 14, 2011 7:35 pm

Hi Daniele,

Yes, I know that you have correct the electrical gap (using either a scissor operator or quasiparticle corrections) before applying the BSE; in fact that would be by next calculation.
I already know (a little) how to do GW, and when I have a doubt I can ask Marcelo Santos (do you remember him?) here at the next room. My interest now was learning how to choose the parameters for a BSE calculation so I went straight to it, but maybe that was the origin of these strange values I obtained.

(In fact, I don't have much interest on this molecule, I have chosen it just because it's the smallest organic molecule with pi-bonds; I was more worried in getting results that "made sense" than results comparable to experiments - qualitative but not quantitative).

Cheers,
Leonardo Jorge
PhD Student - Nanomol Group
Universidade de São Paulo - Brazil

sdwang
Posts: 299
Joined: Fri Apr 09, 2010 12:30 pm

Re: BSresKmod and BScplKmod

Post by sdwang » Thu Jan 30, 2014 6:04 pm

Dear all,
In Yambo 3.4.0, if I want to get the singlet and triplet excitonic states through BSE, how should I set the corresponding parameters in input file? I know how to do in old version that just omitting x part,but I am confused about 3.4.0.
Or it can be solved by following items?

BSEmod # "causal" # BSE resonant/causal/coupling
BSKmod # "" # BSE IP/Hartree/HF/ALDA/SEX/BSfxc

Thanks in advance!
S. D. Wang
IMU,HOHHOT,CHINA
E-mail: sdwang@imu.edu.cn

Post Reply