mirror of
https://github.com/pfloos/quack
synced 2024-12-22 20:35:36 +01:00
UG0T0
This commit is contained in:
parent
907bb2aa78
commit
a878fc6e3b
@ -1,5 +1,5 @@
|
||||
# RHF UHF KS MOM
|
||||
T F F F
|
||||
F T F F
|
||||
# MP2* MP3 MP2-F12
|
||||
F F F
|
||||
# CCD pCCD DCD CCSD CCSD(T)
|
||||
@ -15,7 +15,7 @@
|
||||
# G0W0* evGW* qsGW* ufG0W0 ufGW
|
||||
F F F F F
|
||||
# G0T0 evGT qsGT
|
||||
T F F
|
||||
F T F
|
||||
# MCMP2
|
||||
F
|
||||
# * unrestricted version available
|
||||
|
@ -5,7 +5,7 @@
|
||||
# CC: maxSCF thresh DIIS n_diis
|
||||
64 0.00001 T 5
|
||||
# spin: TDA singlet triplet spin_conserved spin_flip
|
||||
T T T T T
|
||||
F T T T T
|
||||
# GF: maxSCF thresh DIIS n_diis lin eta renorm reg
|
||||
256 0.00001 T 5 T 0.0 3 F
|
||||
# GW: maxSCF thresh DIIS n_diis lin eta COHSEX SOSEX TDA_W G0W GW0 reg
|
||||
@ -15,6 +15,6 @@
|
||||
# ACFDT: AC Kx XBS
|
||||
F F T
|
||||
# BSE: BSE dBSE dTDA evDyn
|
||||
T T T F
|
||||
F T T F
|
||||
# MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift
|
||||
1000000 100000 10 0.3 10000 1234 T
|
||||
|
@ -1,4 +1,4 @@
|
||||
2
|
||||
|
||||
H 0. 0. 0.
|
||||
H 0. 0. 1.0
|
||||
H 0. 0. 0.65
|
||||
|
@ -95,7 +95,6 @@ subroutine UG0T0(doACFDT,exchange_kernel,doXBS,BSE,TDA_T,TDA,dBSE,dTDA,evDyn, &
|
||||
|
||||
nP_sf = nPaa + nPbb
|
||||
nH_sf = nHaa + nHbb
|
||||
|
||||
|
||||
! Memory allocation
|
||||
|
||||
@ -124,12 +123,12 @@ subroutine UG0T0(doACFDT,exchange_kernel,doXBS,BSE,TDA_T,TDA,dBSE,dTDA,evDyn, &
|
||||
nPab,nHaa,nHab,nHbb,nHab,1d0,eHF,ERI_aaaa, &
|
||||
ERI_aabb,ERI_bbbb,Omega1ab,X1ab,Y1ab, &
|
||||
Omega2ab,X2ab,Y2ab,EcRPA(ispin))
|
||||
|
||||
call matout(nHab,nPab,Y1ab)
|
||||
! EcRPA(ispin) = 1d0*EcRPA(ispin)
|
||||
|
||||
call print_excitation('pp-RPA (N+2)',iblock,nPab,Omega1ab(:))
|
||||
call print_excitation('pp-RPA (N-2)',iblock,nHab,Omega2ab(:))
|
||||
|
||||
|
||||
!----------------------------------------------
|
||||
! alpha-alpha block
|
||||
!----------------------------------------------
|
||||
@ -222,7 +221,7 @@ subroutine UG0T0(doACFDT,exchange_kernel,doXBS,BSE,TDA_T,TDA,dBSE,dTDA,evDyn, &
|
||||
do is=1,nspin
|
||||
call self_energy_exchange_diag(nBas,cHF(:,:,is),PHF(:,:,is),ERI,SigX(:,is))
|
||||
end do
|
||||
|
||||
!call matout(nBas,nspin,SigX)
|
||||
!----------------------------------------------
|
||||
! Solve the quasi-particle equation
|
||||
!----------------------------------------------
|
||||
@ -231,10 +230,11 @@ subroutine UG0T0(doACFDT,exchange_kernel,doXBS,BSE,TDA_T,TDA,dBSE,dTDA,evDyn, &
|
||||
|
||||
! eG0T0(:) = eHF(:) + Z(:)*SigT(:)
|
||||
eG0T0(:,:) = eHF(:,:) + Z(:,:)*(SigX(:,:) + SigT(:,:) - Vxc(:,:))
|
||||
|
||||
|
||||
! call matout(nBas,1,SigX)
|
||||
! call matout(nBas,1,Vxc)
|
||||
! call matout(nBas,1,eG0T0(:,1))
|
||||
! call matout(nBas,1,eG0T0(:,1)*HaToeV)
|
||||
! call matout(nBas,nspin,SigT*HaToeV)
|
||||
else
|
||||
|
||||
eG0T0(:,:) = eHF(:,:) + SigX(:,:) + SigT(:,:) - Vxc(:,:)
|
||||
|
@ -45,7 +45,7 @@ subroutine unrestricted_excitation_density_Tmatrix(ispin,nBas,nC,nO,nV,nR,nH,nP,
|
||||
! alpha-beta block
|
||||
!----------------------------------------------
|
||||
|
||||
if(ispin == 1) then
|
||||
if(ispin == 3) then
|
||||
|
||||
do p=nC(1)+1,nBas-nR(1)
|
||||
do q=nC(2)+1,nBas-nR(2)
|
||||
@ -111,7 +111,7 @@ subroutine unrestricted_excitation_density_Tmatrix(ispin,nBas,nC,nO,nV,nR,nH,nP,
|
||||
! alpha-alpha block
|
||||
!----------------------------------------------
|
||||
|
||||
if(ispin == 2) then
|
||||
if(ispin == 4) then
|
||||
|
||||
do p=nC(1)+1,nBas-nR(1)
|
||||
do q=nC(1)+1,nBas-nR(1)
|
||||
@ -169,7 +169,7 @@ subroutine unrestricted_excitation_density_Tmatrix(ispin,nBas,nC,nO,nV,nR,nH,nP,
|
||||
! beta-beta block
|
||||
!----------------------------------------------
|
||||
|
||||
if(ispin == 3) then
|
||||
if(ispin == 7) then
|
||||
|
||||
do p=nC(2)+1,nBas-nR(2)
|
||||
do q=nC(2)+1,nBas-nR(2)
|
||||
|
@ -34,7 +34,7 @@ subroutine ufG0W0(nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF)
|
||||
double precision,allocatable :: Z(:)
|
||||
|
||||
logical :: verbose = .true.
|
||||
double precision,parameter :: cutoff1 = 0.01d0
|
||||
double precision,parameter :: cutoff1 = 0.0d0
|
||||
double precision,parameter :: cutoff2 = 0.01d0
|
||||
|
||||
! Output variables
|
||||
|
Loading…
Reference in New Issue
Block a user