mirror of
https://github.com/pfloos/quack
synced 2024-12-22 20:34:46 +01:00
static screening
This commit is contained in:
parent
013fff95b6
commit
cecaf03c57
@ -1,5 +1,5 @@
|
|||||||
# RHF UHF KS MOM
|
# RHF UHF KS MOM
|
||||||
F T F F
|
T F F F
|
||||||
# MP2* MP3 MP2-F12
|
# MP2* MP3 MP2-F12
|
||||||
F F F
|
F F F
|
||||||
# CCD DCD CCSD CCSD(T)
|
# CCD DCD CCSD CCSD(T)
|
||||||
@ -9,11 +9,11 @@
|
|||||||
# CIS* CIS(D) CID CISD
|
# CIS* CIS(D) CID CISD
|
||||||
F F F F
|
F F F F
|
||||||
# RPA* RPAx* ppRPA
|
# RPA* RPAx* ppRPA
|
||||||
F F F
|
T F F
|
||||||
# G0F2 evGF2 G0F3 evGF3
|
# G0F2 evGF2 G0F3 evGF3
|
||||||
F F F F
|
F F F F
|
||||||
# G0W0* evGW* qsGW*
|
# G0W0* evGW* qsGW*
|
||||||
F F F
|
F F T
|
||||||
# G0T0 evGT qsGT
|
# G0T0 evGT qsGT
|
||||||
F F F
|
F F F
|
||||||
# MCMP2
|
# MCMP2
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# HF: maxSCF thresh DIIS n_diis guess_type ortho_type mix_guess stability
|
# HF: maxSCF thresh DIIS n_diis guess_type ortho_type mix_guess stability
|
||||||
128 0.0000001 T 5 1 1 T T
|
128 0.0000001 T 5 1 1 F F
|
||||||
# MP:
|
# MP:
|
||||||
|
|
||||||
# CC: maxSCF thresh DIIS n_diis
|
# CC: maxSCF thresh DIIS n_diis
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
2
|
2
|
||||||
|
|
||||||
H 0.0 0.0 0.0
|
H 0.0 0.0 0.0
|
||||||
H 0.0 0.0 1.4
|
H 0.0 0.0 0.741
|
||||||
|
53
src/MBPT/static_screening_WA.f90
Normal file
53
src/MBPT/static_screening_WA.f90
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
subroutine static_screening_WA(eta,nBas,nC,nO,nV,nR,nS,lambda,ERI,Omega,rho,WA)
|
||||||
|
|
||||||
|
! Compute the OOVV block of the static screening W for the resonant block
|
||||||
|
|
||||||
|
implicit none
|
||||||
|
include 'parameters.h'
|
||||||
|
|
||||||
|
! Input variables
|
||||||
|
|
||||||
|
integer,intent(in) :: nBas,nC,nO,nV,nR,nS
|
||||||
|
double precision,intent(in) :: eta
|
||||||
|
double precision,intent(in) :: lambda
|
||||||
|
double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas)
|
||||||
|
double precision,intent(in) :: Omega(nS)
|
||||||
|
double precision,intent(in) :: rho(nBas,nBas,nS)
|
||||||
|
|
||||||
|
! Local variables
|
||||||
|
|
||||||
|
double precision :: chi
|
||||||
|
double precision :: eps
|
||||||
|
integer :: i,j,a,b,ia,jb,kc
|
||||||
|
|
||||||
|
! Output variables
|
||||||
|
|
||||||
|
double precision,intent(out) :: WA(nS,nS)
|
||||||
|
|
||||||
|
! Initialize
|
||||||
|
|
||||||
|
WA(:,:) = 0d0
|
||||||
|
|
||||||
|
ia = 0
|
||||||
|
do i=nC+1,nO
|
||||||
|
do a=nO+1,nBas-nR
|
||||||
|
ia = ia + 1
|
||||||
|
jb = 0
|
||||||
|
do j=nC+1,nO
|
||||||
|
do b=nO+1,nBas-nR
|
||||||
|
jb = jb + 1
|
||||||
|
|
||||||
|
chi = 0d0
|
||||||
|
do kc=1,nS
|
||||||
|
eps = Omega(kc)**2 + eta**2
|
||||||
|
chi = chi + rho(i,j,kc)*rho(a,b,kc)*Omega(kc)/eps
|
||||||
|
enddo
|
||||||
|
|
||||||
|
WA(ia,jb) = WA(ia,jb) + lambda*ERI(i,b,j,a) - 4d0*lambda*chi
|
||||||
|
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
end subroutine static_screening_WA
|
53
src/MBPT/static_screening_WB.f90
Normal file
53
src/MBPT/static_screening_WB.f90
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
subroutine static_screening_WB(eta,nBas,nC,nO,nV,nR,nS,lambda,ERI,Omega,rho,WB)
|
||||||
|
|
||||||
|
! Compute the static screening W for the coupling block
|
||||||
|
|
||||||
|
implicit none
|
||||||
|
include 'parameters.h'
|
||||||
|
|
||||||
|
! Input variables
|
||||||
|
|
||||||
|
integer,intent(in) :: nBas,nC,nO,nV,nR,nS
|
||||||
|
double precision,intent(in) :: eta
|
||||||
|
double precision,intent(in) :: lambda
|
||||||
|
double precision,intent(in) :: ERI(nBas,nBas,nBas,nBas)
|
||||||
|
double precision,intent(in) :: Omega(nS)
|
||||||
|
double precision,intent(in) :: rho(nBas,nBas,nS)
|
||||||
|
|
||||||
|
! Local variables
|
||||||
|
|
||||||
|
double precision :: chi
|
||||||
|
double precision :: eps
|
||||||
|
integer :: i,j,a,b,ia,jb,kc
|
||||||
|
|
||||||
|
! Output variables
|
||||||
|
|
||||||
|
double precision,intent(out) :: WB(nS,nS)
|
||||||
|
|
||||||
|
! Initialize
|
||||||
|
|
||||||
|
WB(:,:) = 0d0
|
||||||
|
|
||||||
|
ia = 0
|
||||||
|
do i=nC+1,nO
|
||||||
|
do a=nO+1,nBas-nR
|
||||||
|
ia = ia + 1
|
||||||
|
jb = 0
|
||||||
|
do j=nC+1,nO
|
||||||
|
do b=nO+1,nBas-nR
|
||||||
|
jb = jb + 1
|
||||||
|
|
||||||
|
chi = 0d0
|
||||||
|
do kc=1,nS
|
||||||
|
eps = Omega(kc)**2 + eta**2
|
||||||
|
chi = chi + rho(i,b,kc)*rho(a,j,kc)*Omega(kc)/eps
|
||||||
|
enddo
|
||||||
|
|
||||||
|
WB(ia,jb) = WB(ia,jb) + lambda*ERI(i,j,b,a) - 4d0*lambda*chi
|
||||||
|
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
enddo
|
||||||
|
|
||||||
|
end subroutine static_screening_WB
|
Loading…
Reference in New Issue
Block a user