Exact meaning of Strength from sort_and_report
Moderators: Davide Sangalli, andrea marini, Daniele Varsano
-
- Posts: 16
- Joined: Sat Jul 20, 2019 4:15 am
Re: Exact meaning of Strength from sort_and_report
Dear all,
The dipoles extracted from ndb.dip_R with the unit of length (Bohr) or chargr*length?
And since the unit of residuals is energy, then the |BS_R|^2 should be energy*length. But why BS_R/q0_def_norm are in length unit as Palummo posted in the previous reply?
Thanks!
Xiangtian
The dipoles extracted from ndb.dip_R with the unit of length (Bohr) or chargr*length?
And since the unit of residuals is energy, then the |BS_R|^2 should be energy*length. But why BS_R/q0_def_norm are in length unit as Palummo posted in the previous reply?
Thanks!
Xiangtian
X. T. Bu
Beijing Institute of Technology, China
Beijing Institute of Technology, China
- Daniele Varsano
- Posts: 4209
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: Exact meaning of Strength from sort_and_report
Dear Xiangtan,
Here we use Hartree atomic units. The dipoles have charge*lenght units (e=1).
BS_R is defined as <c|e^iq.r|v> which for q=0 is then treated as q0.<c|r|v> where q0 is a small momentum (10^-5).
Thus BS_R/qo has length unit.
The dielectric permittivity in atomic units has e^2/(ao*Eh) units, or equivalently 4*pi*eps_0.
Best,
Daniele
Here we use Hartree atomic units. The dipoles have charge*lenght units (e=1).
BS_R is defined as <c|e^iq.r|v> which for q=0 is then treated as q0.<c|r|v> where q0 is a small momentum (10^-5).
Thus BS_R/qo has length unit.
The dielectric permittivity in atomic units has e^2/(ao*Eh) units, or equivalently 4*pi*eps_0.
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/
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/
-
- Posts: 16
- Joined: Sat Jul 20, 2019 4:15 am
Re: Exact meaning of Strength from sort_and_report
Thanks, Daniele. I got the point!
Xiangtian
Xiangtian
X. T. Bu
Beijing Institute of Technology, China
Beijing Institute of Technology, China
-
- Posts: 5
- Joined: Sat Aug 15, 2020 2:01 pm
Re: Exact meaning of Strength from sort_and_report
Dear Robert,
Could you tell me how were you able to print |BS_R|^2 in ypp?
Thanks a lot.
Regards,
Sethi
Could you tell me how were you able to print |BS_R|^2 in ypp?
Thanks a lot.
Regards,
Sethi
rbw wrote: ↑Wed Apr 22, 2020 6:32 pm I used GaAs as a test system, where I get |BS_R|^2 about 1e-7 (a_0^2 ?) (I modified the code to print it directly in ypp) , which yields about 4e-28 (m^2 ?), which is far too small (should be about 1e-20 m^2) for the transition dipole matrix element of the that specific exciton.
Gurjyot Singh Sethi
PhD candidate
Materials Science and Engineering
University of Utah, SLC, UT
PhD candidate
Materials Science and Engineering
University of Utah, SLC, UT
-
- Posts: 4
- Joined: Wed Jan 29, 2020 5:36 pm
Re: Exact meaning of Strength from sort_and_report
Good morning Sethi,
no problem.
In ypp/excitons/excitions_sort_and_report.F is a line
Residuals(:) = real(BS_R(:)*conjg(BS_R(:)),SP)
I think currently it's line 126.
There, Residuals(:) = q^2 |BS_R|^2, with q=1e-5 bohr
Personally I added
+ ! matrix element times 1/q^2 * bohr2meter^2
+ Residuals_mod(:) = Residuals(:) * 1e10 * (5.29177e-11)**2
Residuals_mod now hold the matrix elements in units of m^2, which is what I needed.
I modded the output a bit, but easiest would probably to change this line (currently 167)
rv(:3)=(/real(BS_E(j2),SP)*HA2EV,Residuals(j2),real(j2,SP)/)
to use the changed residuals variable.
(The rv array is printed out by ypp as part of its standard output).
I hope this helps.
Cheers,
Robert
no problem.
In ypp/excitons/excitions_sort_and_report.F is a line
Residuals(:) = real(BS_R(:)*conjg(BS_R(:)),SP)
I think currently it's line 126.
There, Residuals(:) = q^2 |BS_R|^2, with q=1e-5 bohr
Personally I added
+ ! matrix element times 1/q^2 * bohr2meter^2
+ Residuals_mod(:) = Residuals(:) * 1e10 * (5.29177e-11)**2
Residuals_mod now hold the matrix elements in units of m^2, which is what I needed.
I modded the output a bit, but easiest would probably to change this line (currently 167)
rv(:3)=(/real(BS_E(j2),SP)*HA2EV,Residuals(j2),real(j2,SP)/)
to use the changed residuals variable.
(The rv array is printed out by ypp as part of its standard output).
I hope this helps.
Cheers,
Robert
Robert Warmbier
Senior Lecturer
Department of Physics
University of Johannesburg
Senior Lecturer
Department of Physics
University of Johannesburg
-
- Posts: 169
- Joined: Sat Aug 17, 2019 2:48 pm
Re: Exact meaning of Strength from sort_and_report
Dear Yamboers,
Can you suggest how one can print the optical transition dipole elements against the K-points of the BZ? as shown in the following Fig (c)

Thanks,
Haseeb
Can you suggest how one can print the optical transition dipole elements against the K-points of the BZ? as shown in the following Fig (c)

Thanks,
Haseeb
Haseeb Ahmad
MS - Physics,
LUMS - Pakistan
MS - Physics,
LUMS - Pakistan
- Daniele Varsano
- Posts: 4209
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: Exact meaning of Strength from sort_and_report
Dear Haseeb,
once you have extracted the transition dipoles (this can be done using e.g. python scripts as here: viewtopic.php?p=7783#p7783), you have the dipoles for c,v bands and the k points and you can represent it as you prefer and build a figure as in the example you post.
Best,
Daniele
once you have extracted the transition dipoles (this can be done using e.g. python scripts as here: viewtopic.php?p=7783#p7783), you have the dipoles for c,v bands and the k points and you can represent it as you prefer and build a figure as in the example you post.
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/
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/
-
- Posts: 56
- Joined: Sun May 24, 2020 1:56 pm
Re: Exact meaning of Strength from sort_and_report
Dear all,
I want to calculate the oscillator strengths of a system by using dipole matrix elements and exciton weights, which for a specific excitation it should be related with |\Sum_{k,k',n,n'} D_{k,k',n,n'} * C_{k,k',n,n'}|^{2}.
D is dipole matrix elements, I am extracting them from 'ndb.dip_iR_and_P' with a python script in full_BZ.
And for C_{k,k',n,n'}^2, I am using 'o-BSE.exc_weights_at_x' files for a specific excitonic weight. (in order to obtain C values in the full_BZ correctly, I turned off all symmetry considerations in the system)
I was expecting the ratio between the oscillator strengths of the excitons I obtained from the 'O-BSE.exc_E_sorted' file and calculated with the above method to be at least similar. But they are different.
Do you have any idea what I am missing?
I want to calculate the oscillator strengths of a system by using dipole matrix elements and exciton weights, which for a specific excitation it should be related with |\Sum_{k,k',n,n'} D_{k,k',n,n'} * C_{k,k',n,n'}|^{2}.
D is dipole matrix elements, I am extracting them from 'ndb.dip_iR_and_P' with a python script in full_BZ.
And for C_{k,k',n,n'}^2, I am using 'o-BSE.exc_weights_at_x' files for a specific excitonic weight. (in order to obtain C values in the full_BZ correctly, I turned off all symmetry considerations in the system)
I was expecting the ratio between the oscillator strengths of the excitons I obtained from the 'O-BSE.exc_E_sorted' file and calculated with the above method to be at least similar. But they are different.
Do you have any idea what I am missing?
Dr. Fadıl İYİKANAT
ICFO-The Institute of Photonic Sciences
Barcelona-SPAIN
ICFO-The Institute of Photonic Sciences
Barcelona-SPAIN
- Daniele Varsano
- Posts: 4209
- Joined: Tue Mar 17, 2009 2:23 pm
- Contact:
Re: Exact meaning of Strength from sort_and_report
Dear Fadil,
please sign your post with your name and affiliation, this is a rule of the forum and you can do once for all by filling the signature in your user profile.
Beside prefactor you need to check accurately here I can see a problem due to the fact that the strength reported in 'O-BSE.exc_E_sorted', are normalised to the maximum value:
you can check in:
ypp/excitons/excitons_sort_and_report.F
the normalisation factor is written in the output as " Maximum Residual Value " and you need to rescale the strength to that value.
Best,
Daniele
please sign your post with your name and affiliation, this is a rule of the forum and you can do once for all by filling the signature in your user profile.
Beside prefactor you need to check accurately here I can see a problem due to the fact that the strength reported in 'O-BSE.exc_E_sorted', are normalised to the maximum value:
you can check in:
ypp/excitons/excitons_sort_and_report.F
Code: Select all
130 if (trim(R_normalize)=='yes') then
131 Rmax = maxval(Residuals)
132 Residuals=Residuals/Rmax
133 write(dump_ch,'(a,1e10.5)') " Maximum Residual Value = ",Rmax
134 endif
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/
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/
-
- Posts: 56
- Joined: Sun May 24, 2020 1:56 pm
Re: Exact meaning of Strength from sort_and_report
Dear Daniele,
Thank you, I found it under 'o-BSE.exc_qpt1_E_sorted'.
However, it does not solve my problem as I need to rescale each excitation with the same normalization factor.
The ratio of oscillator strength between the different excitons that I obtained by summing the dipole matrix elements
and weights is still not compatible with the result of the yambo.
Is there a way to write the residuals for a particular exciton before summing over the k-points and bands?
Best
Thank you, I found it under 'o-BSE.exc_qpt1_E_sorted'.
However, it does not solve my problem as I need to rescale each excitation with the same normalization factor.
The ratio of oscillator strength between the different excitons that I obtained by summing the dipole matrix elements
and weights is still not compatible with the result of the yambo.
Is there a way to write the residuals for a particular exciton before summing over the k-points and bands?
Best
Dr. Fadıl İYİKANAT
ICFO-The Institute of Photonic Sciences
Barcelona-SPAIN
ICFO-The Institute of Photonic Sciences
Barcelona-SPAIN