Page 1 of 1

weight of exciton analysis

Posted: Tue Dec 10, 2024 1:08 pm
by sunxl
Dear all,

1、When I analyzed the excitons, I found that the strongest excitons are the 11th and 12th ones.
# E [ev] Strength Index
#
1.83387613 0.991825254E-5 1.00000000
1.83388162 0.989933415E-5 2.00000000
1.90670061 0.268772556E-5 3.00000000
2.02808046 0.390361547 4.00000000
2.02808952 0.438490301 5.00000000
2.05325532 0.743899193E-6 6.00000000
2.07278299 0.214045107 7.00000000
2.07278991 0.190791756 8.00000000
2.12961054 0.110381173E-6 9.00000000
2.15718389 0.698469160E-2 10.0000000
2.15778112 0.999999940 11.0000000
2.15779257 0.894199729 12.0000000
2.19156218 0.852410358E-5 13.0000000
However, when I output the weight of the 11th exciton, I found that the following data lines did not appear:
# Band_V Band_C K ibz Symm. Weight Energy
Could you please confirm whether this is expected, or if an issue has arisen elsewhere?

2、When setting Degen_Step, how is it determined whether two excitons are degenerate? Is it based on their exciton energies? When Degen_Step is set to 0 and 0.01, what impact does this have on the projection of the same exciton wavefunction?

Thank you in advance for your help!

Best,
sunxl

Re: weight of exciton analysis

Posted: Wed Dec 11, 2024 10:26 am
by Daniele Varsano
Dear Sunxl,
when I output the weight of the 11th exciton, I found that the following data lines did not
By default, only weights larger than 5% are displayed, it seems that your exciton has many contributions lower than this threshold.
You can change the threshold by input by setting the variable: Weight_treshold=0.01, e.g. for displaying the weight larger than 1%, or to 0 to print all the weights.
2、When setting Degen_Step, how is it determined whether two excitons are degenerate? Is it based on their exciton energies? When Degen_Step is set to 0 and 0.01, what impact does this have on the projection of the same exciton wavefunction?
Yes, it is based on exciton energies. If it set to 0 a single exciton is analyzed and the weight are normalized as \sum W =1, otherwise if you have degenerate excitons the weights of the excitons are summed, and they are normalized to Ndeg.

Best,

Daniele

Re: weight of exciton analysis

Posted: Wed Mar 12, 2025 5:20 pm
by lorenzo.sponza
Dear Yambo developers,
I'm running some SO-BSE calculations with yambo 5.1.1 on a hBN bilayer system and learning how to analyse excitons with ypp.
I've some questions on the o-*amplitude and o-*weights files.

1) I understood that I can set Weight_treshold to control how many IP transitions are prompted in the *weights* files. However, it is not clear to me how this affects the *amplitude* files. Definitely the number of IP transitions included in the *amplitude* file is affected by the threshold, however it looks like their number is higher than in the *weights* file. It looks like the threshold used in the *amplitude* files is a fraction of Weight_treshold. Is that the case? Is it possible to modify this behaviour without modifying the ypp code itself?

2) The highest peak of the *amplitude* file is normalised to 1. Can this be avoided? Is it possible to have the bare weight of the sum instead? Imagine that more than half of the spectral weight of exciton lambda=1 is given by two IP transitions: IP1 (weight 0.20) and IP4 (weight 0.37) almost degenerate in energy. I would like to "see" in the *amplitude* plot that the main peak has a weight of about 0.57.

3) The *amplitude* file has clearly a sort of broadening. Can this be modified or even removed?

4) Two excitons are considered degenerate when their energies fall into an interval smaller than Degen_Step, is it correct? In this case, is the list of IP transitions in their *weight* files identical? If I set Degen_Step=0.0, I expect the IP transitions that before were listed in one single *weights* file to be now split into two files. However, this is not the case in my tests. Why? Regarding this point, I can provide additional data if required.

Many thanks for your answers :)
Cheers

Re: weight of exciton analysis

Posted: Thu Mar 13, 2025 10:15 am
by Daniele Varsano
Ciao Lorenzo,
with yambo 5.1.1
Achhh :o that's very old, not maintained anymore, and also I suspect some names of the variables you are mentioning had a different name :(
Please update to a newer version e.g. 5.3. Heartfelt recommendation! A lot of water passed beneath bridge since that version.

1) The threshold should be the same in selecting the transition. Then an energy range including all the transitions is established. A fixed damping related to the energy range then is assigned. The amplitude is essentially the density of transition building the exciton independently of their intensity, represented with a sum of Lorentzian curves. If you want to modify the behaviour, my suggestion is to reconstruct it externally by reading the weight file, as all the information are there (the Ec-Ev are reported in the last column). Important note, the energies there, are the KS ones, i.e. without GW correction.

2) I'm afraid is not possible, it is hard-coded. Again I suggest you to refer to the weight file and extract information from there, building what you need by an external script.

3) When two excitons are recognised degenerate, all the contributions are summed up in a single file. If you set Degen_Step=0.0 and select in the input file to analyze two degenerate excitons, you will have them in two separate file (weight normalized to one). If the threshold is larger, and they are recognized degenerate, you still have two files, but they will be identical containing the linear combination of their contribution (normalized to 2).

Best,

Daniele