Page 1 of 1

The d3k_factor in the ypp/exciton

Posted: Tue Apr 11, 2023 10:16 am
by Quxiao
Dear palful:
I have obtained many answers to previous questions with your help,when I read the code in the ypp/exciton/excitons_sort_and_report.F, I want to konw something about yambo more.For example,how could I find the d3k_factor which at the 136 line?That "use R_lattice, ONLY:d3k_factor,q0_def_norm",where I could find the R_lattice?I doubts that the d3k_factor/(2*\pi)^3=\Omega,which I think the \Omega is the Volumn of the material,is that true?
Thanks for your help!
Best wishes!
Quxiao

Re: The d3k_factor in the ypp/exciton

Posted: Tue Apr 11, 2023 11:22 am
by Daniele Varsano
Dear Quixiao,

d3k_factor is defined in:
src/bz_ops/k_lattice.F

d3k_factor=RL_vol/real(Xk%nbz)

RL_vol is the volume of the reciprocal lattice, Xk%nbz is the number of k points.

Best,

Daniele

Re: The d3k_factor in the ypp/exciton

Posted: Tue Apr 11, 2023 2:07 pm
by Quxiao
Dear Daniele:
Thanks for your help!I have know that I could get the |BS_R|^2 from the code,which I could get the |<G|r|S>|^2,and I noticed the q0_def_norm,but let me confused is that:
If I changed the Gauge= "length" to "velocity" in yambo.in, if the |BS_R|^2 would be the |<G|p|S>|^2?or maybe something others changed,is it?

I could get the exciton transition dipole exactly from the ypp,and the unit of that is |bohr|^2,how could I get the P_S^2 from the \mu_S^2?
According to the P_S^2=m^2*\mu_S^2*E_s^2/\hbar^2,in atomic units,Could I just get the P_S^2=\mu_S^2*E_S^2 ,which from that:viewtopic.php?t=2393?

For example the E_s=2.1eV=0.0774(Hatree),mu_S^2=1314(bohr)^2,so the P_S^2=(0.0774)^2(Hartree)^2*1314(bohr)^2=7.87(a.u.)?Is that true?
With your help, I have gained a better understanding of the use of yambo. Thank you very much!
Best wishes!
Quxiao

Re: The d3k_factor in the ypp/exciton

Posted: Wed Apr 12, 2023 6:05 pm
by Quxiao
Dear Daniele:
Thanks for your help again!
I find some code in the src/bse/K_diago_hermitian_residuals.F:

Code: Select all

 BS_R_left(i_lambda) =V_dot_V_omp(BS_K_dim(i_BS_mat),tmp_res,conjg(BS_mat(:,i_lambda)))
           if (trim(global_gauge)=="velocity") &
              & BS_R_left(i_lambda) = BS_R_left(i_lambda)*BS_E_real(i_lambda)
              BS_R_right(i_lambda)=conjg(BS_R_left(i_lambda))
I think when I set the Guage=velocity,that the |BS_R|^2 should be the |BS_R|^2(|<G|r|S>|^2)*E_S^2=|<G|p|S>|^2,the unit of the |<G|r|S>|^2 should be the |bohr|^2,the unit of the|<G|p|S>|^2 should be the |bohr|^2\cdot |hartree|^2,is that ture?
Best wishes!
Quxiao
BIT