Skip to content

Commit 3eefe46

Browse files
committed
Merge branch 'master' of github.com:pfloos/QuAcK
2 parents 5613f61 + b177a3d commit 3eefe46

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+3728
-393
lines changed

src/GW/CVSUGW.f90

Lines changed: 0 additions & 126 deletions
This file was deleted.

src/GW/CVS_SRG_UGW_Re_SigC.f90

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
double precision function CVS_SRG_UGW_Re_SigC(p,w,s,nBas,nC,nO,nV,nR,nS,nCVS,nFC,occupations,virtuals,e,Om,rho)
2+
3+
! Compute diagonal of the correlation part of the self-energy
4+
5+
implicit none
6+
include 'parameters.h'
7+
8+
! Input variables
9+
10+
integer,intent(in) :: p
11+
double precision,intent(in) :: w
12+
double precision,intent(in) :: s
13+
integer,intent(in) :: nBas
14+
integer,intent(in) :: nC
15+
integer,intent(in) :: nO
16+
integer,intent(in) :: nV
17+
integer,intent(in) :: nR
18+
integer,intent(in) :: nS
19+
double precision,intent(in) :: e(nBas)
20+
double precision,intent(in) :: Om(nS)
21+
double precision,intent(in) :: rho(nBas,nBas,nS)
22+
integer,intent(in) :: nCVS,nFC
23+
integer,intent(in) :: occupations(nO-nFC)
24+
integer,intent(in) :: virtuals(nBas-nO)
25+
26+
! Local variables
27+
28+
integer :: i,a,m
29+
double precision :: Dpim,Dpam
30+
31+
! Initialize
32+
33+
CVS_SRG_UGW_Re_SigC = 0d0
34+
35+
! Occupied part of the correlation self-energy
36+
37+
do i=1,nO-nFC
38+
do m=1,nS
39+
Dpim = w - e(occupations(i)) + Om(m)
40+
CVS_SRG_UGW_Re_SigC = CVS_SRG_UGW_Re_SigC &
41+
+ rho(p,occupations(i),m)**2*(1d0-exp(-2d0*s*Dpim*Dpim))/Dpim
42+
end do
43+
end do
44+
45+
! Virtual part of the correlation self-energy
46+
47+
do a=nCVS+1,nBas-nO
48+
do m=1,nS
49+
Dpam = w - e(virtuals(a)) - Om(m)
50+
CVS_SRG_UGW_Re_SigC = CVS_SRG_UGW_Re_SigC &
51+
+ rho(p,virtuals(a),m)**2*(1d0-exp(-2d0*s*Dpam*Dpam))/Dpam
52+
end do
53+
end do
54+
55+
end function

src/GW/CVS_SRG_UGW_Re_dSigC.f90

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
double precision function CVS_SRG_UGW_Re_dSigC(p,w,s,nBas,nC,nO,nV,nR,nS,nCVS,nFC,occupations,virtuals,e,Om,rho)
2+
3+
! Compute the derivative of the correlation part of the self-energy
4+
5+
implicit none
6+
include 'parameters.h'
7+
8+
! Input variables
9+
10+
integer,intent(in) :: p
11+
double precision,intent(in) :: w
12+
double precision,intent(in) :: s
13+
integer,intent(in) :: nBas
14+
integer,intent(in) :: nC
15+
integer,intent(in) :: nO
16+
integer,intent(in) :: nV
17+
integer,intent(in) :: nR
18+
integer,intent(in) :: nS
19+
double precision,intent(in) :: e(nBas)
20+
double precision,intent(in) :: Om(nS)
21+
double precision,intent(in) :: rho(nBas,nBas,nS)
22+
integer,intent(in) :: nCVS,nFC
23+
integer,intent(in) :: occupations(nO-nFC)
24+
integer,intent(in) :: virtuals(nBas-nO)
25+
26+
! Local variables
27+
28+
integer :: i,a,m
29+
double precision :: Dpim,Dpam
30+
31+
! Initialize
32+
33+
CVS_SRG_UGW_Re_dSigC = 0d0
34+
35+
! Occupied part of the correlation self-energy
36+
37+
do i=1,nO-nFC
38+
do m=1,nS
39+
Dpim = w - e(occupations(i)) + Om(m)
40+
CVS_SRG_UGW_Re_dSigC = CVS_SRG_UGW_Re_dSigC &
41+
- rho(p,occupations(i),m)**2*(1d0-exp(-2d0*s*Dpim*Dpim))/Dpim**2
42+
end do
43+
end do
44+
45+
! Virtual part of the correlation self-energy
46+
47+
do a=nCVS+1,nBas-nO
48+
do m=1,nS
49+
Dpam = w - e(virtuals(a)) - Om(m)
50+
CVS_SRG_UGW_Re_dSigC = CVS_SRG_UGW_Re_dSigC &
51+
- rho(p,virtuals(a),m)**2*(1d0-exp(-2d0*s*Dpam*Dpam))/Dpam**2
52+
end do
53+
end do
54+
55+
end function

0 commit comments

Comments
 (0)