diff --git a/Libs_ness/welph.f90 b/Libs_ness/welph.f90 index f9b6bb55dc102718abc1596f658084af563c0abd..040e47b395097115cb23c772a4c59e61c0dd1157 100644 --- a/Libs_ness/welph.f90 +++ b/Libs_ness/welph.f90 @@ -1,7 +1,7 @@ !^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ! electron-phonon self-energy (Start) !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -subroutine elph(context,nps,npw,wm,vw,v,lnegl,lnegg,d0l,d0g,d0r,desc,lsl,lsg,lsr) +subroutine elph(context,nps,npw,wm,vw,v,g,lnegl,lnegg,d0l,d0g,d0r,desc,lsl,lsg,lsr) use mpi implicit none !Useful numerical parameters @@ -11,7 +11,7 @@ subroutine elph(context,nps,npw,wm,vw,v,lnegl,lnegg,d0l,d0g,d0r,desc,lsl,lsg,lsr double complex, parameter :: zero = (0.0d0,0.0d0) ! Complex zero !Input variables integer :: nps,npw - double precision :: wm + double precision :: wm, g integer, dimension (:) :: vw,desc double precision, dimension (:,:) :: v double complex, dimension(:,:) :: lnegl @@ -33,6 +33,7 @@ subroutine elph(context,nps,npw,wm,vw,v,lnegl,lnegg,d0l,d0g,d0r,desc,lsl,lsg,lsr double complex, dimension(nps,nps) :: intg, tmp,pol double complex, dimension(:,:), allocatable :: ltmpl, ltmpg, ltmp + call blacs_gridinfo(context,nprow,npcol,myrow,mycol) nprocs=nprow*npcol @@ -51,27 +52,23 @@ call fourierwt(context,nps,npw,wm,1,lnegl,desc,ltmpl) call fourierwt(context,nps,npw,wm,1,lnegg,desc,ltmpg) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!LESSER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - +lsl=zero do lw=1, lldwc liw=(lw-1)*nps+1 !Self energy - lsl(:,liw:liw+nps-1)=lsl(:,liw:liw+nps-1)+ci*ltmpl(:,liw:liw+nps-1)*ld0l(:,liw:liw+nps-1) + lsl(:,liw:liw+nps-1)=ci*ltmpl(:,liw:liw+nps-1)*ld0l(:,liw:liw+nps-1)*(g**2) end do !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!GREATER!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - +lsg=zero do lw=1, lldwc liw=(lw-1)*nps+1 !Self energy - lsg(:,liw:liw+nps-1)=lsg(:,liw:liw+nps-1)+ci*ltmpg(:,liw:liw+nps-1)*ld0g(:,liw:liw+nps-1) + lsg(:,liw:liw+nps-1)=ci*ltmpg(:,liw:liw+nps-1)*ld0g(:,liw:liw+nps-1)*(g**2) end do -! WORK IN PROGRESS -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!RETARDED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -ltmp=zero -tm=pi*(npw-1)/(2.d0*wm) -dt=pi/wm +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!RETARDED!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! do lw=1, lldwc liw=(lw-1)*nps+1