thanks a lot for your kind offer. I will provide a suitable collection of inputs this evening, if I fail to find the solution until then.
In the meanwhile, I was looking a bit into the code, in particular into interfaces/p2y/PP_PWscf_comp.F .
Regarding to the two databases I uploaded in the previous post:
The reason, why PP_KB is identically zero for the intel version is that the kb_E variable
Code: Select all
kb_E = psp%d(ibeta)/basis%struct%a_omega*0.5_SP ! 0.5 = Ry2Ha
! psp%d(ibeta) = 1.8086597E-37
! basis%struct%a_omega = 53446.88
For the gfortran version
Code: Select all
kb_E = psp%d(ibeta)/basis%struct%a_omega*0.5_SP ! 0.5 = Ry2Ha
! psp%d(ibeta) = 1.02059998E-37
! basis%struct%a_omega = 53446.8750
! kb_E = 9.55685553E-43
I.e. the difference between the two databases can probably be neglected; the question is whether they are both correct or both incorrect.
The reason why pp_kbd(1)=NaNf in both versions is that KpG_norm(1)=0. The calculation of pp_kbd involves KpG_norm(:npw)**(l-1) and with l=0 this yields infinity for pp_kbd(1).
I need to stress, however, that this NaNf does not lead to problems in the yambo calculations (no NaN for the QP energies). So maybe it can be ignored.
Unfortunately I cannot test gfortran on the machine, where p2y produces the random results. I will try to go on a third machine, where I can also test both intel and gfortran.
Is there a reference that could help me to understand the pp_kb and pp_kbd terms?
Best,
Leo