Page 1 of 1

The option "DipWeight" of ypp

Posted: Sun May 05, 2019 3:12 pm
by xueshanxihua
Dear developers and users:

I'm trying to use the option "DipWeight" in ypp, which, as I understand , will further scale the k-space exciton wavefunction with the strength of dipole transitions. However, I got exactly the same result in exc_weight files with and without "DipWeight". It seems to be because the relevant codes are commented-out in excitons_amplitudes.F :

......
!if(l_weight_with_dipoles) then
! ikbz = BSS_eh_table(neh,1)
! iv = BSS_eh_table(neh,2)
! ic = BSS_eh_table(neh,3)
! i_spin= spin(BSS_eh_table(neh,:))
! dip_factor=conjg(DIP_projected(ic,iv,ikbz,i_spin))*DIP_projected(ic,iv,ikbz,i_spin)
!endif
......
!if(l_weight_with_dipoles.and.norm_>0._SP) A_weight=A_weight/norm_
......

If I uncomment these lines, I need to further declare the function "DIP_projected" and the variable "l_weight_with_dipoles". Can anyone tell me how to invoke the function "DIP_projected" and what type the variable "l_weight_with_dipoles" is?

Thanks very much~

Re: The option "DipWeight" of ypp

Posted: Sun May 05, 2019 3:42 pm
by Daniele Varsano
Dear Zeyu Jiang,
if it has been commented it is probably because there was something not properly debugged.
Anyway if you want to give a try:

DIP_projected can be taken from the module X_m, so you can add to the subroutine:
use X_m, ONLY:DIP_projected

l_weight_with_dipoles need to be defined as a logical:
logical :: l_weight_with_dipoles
and next ,
use parser_m, ONLY:parser
call parser('DipWeight',l_weight_with_dipoles)
to activate it.

Anyway, as I told you before, being a commented source, it is a feature that it is not debugged/tested/validated.

Best,

Daniele