mirror of
https://github.com/pfloos/quack
synced 2024-12-23 12:55:25 +01:00
RPAx AC vs Tr
This commit is contained in:
parent
8dfd69db80
commit
e01a34d6ba
@ -2,4 +2,4 @@
|
|||||||
2 7 7 0 0
|
2 7 7 0 0
|
||||||
# Znuc x y z
|
# Znuc x y z
|
||||||
N 0. 0. 0.
|
N 0. 0. 0.
|
||||||
N 0. 0. 2.0
|
N 0. 0. 1.8
|
||||||
|
84
input/basis
84
input/basis
@ -1,26 +1,58 @@
|
|||||||
1 3
|
1 6
|
||||||
S 3 1.00
|
S 8 1.00
|
||||||
0.9910616896D+02 0.1543289673D+00
|
9046.0000000 0.0007000
|
||||||
0.1805231239D+02 0.5353281423D+00
|
1357.0000000 0.0053890
|
||||||
0.4885660238D+01 0.4446345422D+00
|
309.3000000 0.0274060
|
||||||
S 3 1.00
|
87.7300000 0.1032070
|
||||||
0.3780455879D+01 -0.9996722919D-01
|
28.5600000 0.2787230
|
||||||
0.8784966449D+00 0.3995128261D+00
|
10.2100000 0.4485400
|
||||||
0.2857143744D+00 0.7001154689D+00
|
3.8380000 0.2782380
|
||||||
P 3 1.00
|
0.7466000 0.0154400
|
||||||
0.3780455879D+01 0.1559162750D+00
|
S 8 1.00
|
||||||
0.8784966449D+00 0.6076837186D+00
|
9046.0000000 -0.0001530
|
||||||
0.2857143744D+00 0.3919573931D+00
|
1357.0000000 -0.0012080
|
||||||
2 3
|
309.3000000 -0.0059920
|
||||||
S 3 1.00
|
87.7300000 -0.0245440
|
||||||
0.9910616896D+02 0.1543289673D+00
|
28.5600000 -0.0674590
|
||||||
0.1805231239D+02 0.5353281423D+00
|
10.2100000 -0.1580780
|
||||||
0.4885660238D+01 0.4446345422D+00
|
3.8380000 -0.1218310
|
||||||
S 3 1.00
|
0.7466000 0.5490030
|
||||||
0.3780455879D+01 -0.9996722919D-01
|
S 1 1.00
|
||||||
0.8784966449D+00 0.3995128261D+00
|
0.2248000 1.0000000
|
||||||
0.2857143744D+00 0.7001154689D+00
|
P 3 1.00
|
||||||
P 3 1.00
|
13.5500000 0.0399190
|
||||||
0.3780455879D+01 0.1559162750D+00
|
2.9170000 0.2171690
|
||||||
0.8784966449D+00 0.6076837186D+00
|
0.7973000 0.5103190
|
||||||
0.2857143744D+00 0.3919573931D+00
|
P 1 1.00
|
||||||
|
0.2185000 1.0000000
|
||||||
|
D 1 1.00
|
||||||
|
0.8170000 1.0000000
|
||||||
|
2 6
|
||||||
|
S 8 1.00
|
||||||
|
9046.0000000 0.0007000
|
||||||
|
1357.0000000 0.0053890
|
||||||
|
309.3000000 0.0274060
|
||||||
|
87.7300000 0.1032070
|
||||||
|
28.5600000 0.2787230
|
||||||
|
10.2100000 0.4485400
|
||||||
|
3.8380000 0.2782380
|
||||||
|
0.7466000 0.0154400
|
||||||
|
S 8 1.00
|
||||||
|
9046.0000000 -0.0001530
|
||||||
|
1357.0000000 -0.0012080
|
||||||
|
309.3000000 -0.0059920
|
||||||
|
87.7300000 -0.0245440
|
||||||
|
28.5600000 -0.0674590
|
||||||
|
10.2100000 -0.1580780
|
||||||
|
3.8380000 -0.1218310
|
||||||
|
0.7466000 0.5490030
|
||||||
|
S 1 1.00
|
||||||
|
0.2248000 1.0000000
|
||||||
|
P 3 1.00
|
||||||
|
13.5500000 0.0399190
|
||||||
|
2.9170000 0.2171690
|
||||||
|
0.7973000 0.5103190
|
||||||
|
P 1 1.00
|
||||||
|
0.2185000 1.0000000
|
||||||
|
D 1 1.00
|
||||||
|
0.8170000 1.0000000
|
||||||
|
@ -5,11 +5,11 @@
|
|||||||
# CCD CCSD CCSD(T) ringCCD ladderCCD
|
# CCD CCSD CCSD(T) ringCCD ladderCCD
|
||||||
F F F F F
|
F F F F F
|
||||||
# CIS RPA RPAx ppRPA ADC
|
# CIS RPA RPAx ppRPA ADC
|
||||||
F T T F F
|
T T T F F
|
||||||
# GF2 GF3
|
# GF2 GF3
|
||||||
F F
|
F F
|
||||||
# G0W0 evGW qsGW
|
# G0W0 evGW qsGW
|
||||||
F F F
|
T F F
|
||||||
# G0T0 evGT qsGT
|
# G0T0 evGT qsGT
|
||||||
F F F
|
F F F
|
||||||
# MCMP2
|
# MCMP2
|
||||||
|
@ -2,4 +2,4 @@
|
|||||||
2 7 7 0 0
|
2 7 7 0 0
|
||||||
# Znuc x y z
|
# Znuc x y z
|
||||||
N 0. 0. 0.
|
N 0. 0. 0.
|
||||||
N 0. 0. 2.0
|
N 0. 0. 1.8
|
||||||
|
@ -11,6 +11,6 @@
|
|||||||
# GW: maxSCF thresh DIIS n_diis COHSEX SOSEX BSE TDA G0W GW0 lin eta
|
# GW: maxSCF thresh DIIS n_diis COHSEX SOSEX BSE TDA G0W GW0 lin eta
|
||||||
64 0.00001 T 5 F F T F F F F 0.000
|
64 0.00001 T 5 F F T F F F F 0.000
|
||||||
# ACFDT: AC Kx XBS
|
# ACFDT: AC Kx XBS
|
||||||
T T T
|
T F F
|
||||||
# MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift
|
# MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift
|
||||||
1000000 100000 10 0.3 10000 1234 T
|
1000000 100000 10 0.3 10000 1234 T
|
||||||
|
84
input/weight
84
input/weight
@ -1,26 +1,58 @@
|
|||||||
1 3
|
1 6
|
||||||
S 3 1.00
|
S 8 1.00
|
||||||
0.9910616896D+02 0.1543289673D+00
|
9046.0000000 0.0007000
|
||||||
0.1805231239D+02 0.5353281423D+00
|
1357.0000000 0.0053890
|
||||||
0.4885660238D+01 0.4446345422D+00
|
309.3000000 0.0274060
|
||||||
S 3 1.00
|
87.7300000 0.1032070
|
||||||
0.3780455879D+01 -0.9996722919D-01
|
28.5600000 0.2787230
|
||||||
0.8784966449D+00 0.3995128261D+00
|
10.2100000 0.4485400
|
||||||
0.2857143744D+00 0.7001154689D+00
|
3.8380000 0.2782380
|
||||||
P 3 1.00
|
0.7466000 0.0154400
|
||||||
0.3780455879D+01 0.1559162750D+00
|
S 8 1.00
|
||||||
0.8784966449D+00 0.6076837186D+00
|
9046.0000000 -0.0001530
|
||||||
0.2857143744D+00 0.3919573931D+00
|
1357.0000000 -0.0012080
|
||||||
2 3
|
309.3000000 -0.0059920
|
||||||
S 3 1.00
|
87.7300000 -0.0245440
|
||||||
0.9910616896D+02 0.1543289673D+00
|
28.5600000 -0.0674590
|
||||||
0.1805231239D+02 0.5353281423D+00
|
10.2100000 -0.1580780
|
||||||
0.4885660238D+01 0.4446345422D+00
|
3.8380000 -0.1218310
|
||||||
S 3 1.00
|
0.7466000 0.5490030
|
||||||
0.3780455879D+01 -0.9996722919D-01
|
S 1 1.00
|
||||||
0.8784966449D+00 0.3995128261D+00
|
0.2248000 1.0000000
|
||||||
0.2857143744D+00 0.7001154689D+00
|
P 3 1.00
|
||||||
P 3 1.00
|
13.5500000 0.0399190
|
||||||
0.3780455879D+01 0.1559162750D+00
|
2.9170000 0.2171690
|
||||||
0.8784966449D+00 0.6076837186D+00
|
0.7973000 0.5103190
|
||||||
0.2857143744D+00 0.3919573931D+00
|
P 1 1.00
|
||||||
|
0.2185000 1.0000000
|
||||||
|
D 1 1.00
|
||||||
|
0.8170000 1.0000000
|
||||||
|
2 6
|
||||||
|
S 8 1.00
|
||||||
|
9046.0000000 0.0007000
|
||||||
|
1357.0000000 0.0053890
|
||||||
|
309.3000000 0.0274060
|
||||||
|
87.7300000 0.1032070
|
||||||
|
28.5600000 0.2787230
|
||||||
|
10.2100000 0.4485400
|
||||||
|
3.8380000 0.2782380
|
||||||
|
0.7466000 0.0154400
|
||||||
|
S 8 1.00
|
||||||
|
9046.0000000 -0.0001530
|
||||||
|
1357.0000000 -0.0012080
|
||||||
|
309.3000000 -0.0059920
|
||||||
|
87.7300000 -0.0245440
|
||||||
|
28.5600000 -0.0674590
|
||||||
|
10.2100000 -0.1580780
|
||||||
|
3.8380000 -0.1218310
|
||||||
|
0.7466000 0.5490030
|
||||||
|
S 1 1.00
|
||||||
|
0.2248000 1.0000000
|
||||||
|
P 3 1.00
|
||||||
|
13.5500000 0.0399190
|
||||||
|
2.9170000 0.2171690
|
||||||
|
0.7973000 0.5103190
|
||||||
|
P 1 1.00
|
||||||
|
0.2185000 1.0000000
|
||||||
|
D 1 1.00
|
||||||
|
0.8170000 1.0000000
|
||||||
|
@ -18,7 +18,13 @@ subroutine linear_response(ispin,dRPA,TDA,BSE,nBas,nC,nO,nV,nR,nS,lambda,e,ERI,r
|
|||||||
|
|
||||||
integer :: ia
|
integer :: ia
|
||||||
double precision :: trace_matrix
|
double precision :: trace_matrix
|
||||||
double precision,allocatable :: A(:,:),B(:,:),ApB(:,:),AmB(:,:),AmBSq(:,:),Z(:,:)
|
double precision,allocatable :: A(:,:)
|
||||||
|
double precision,allocatable :: B(:,:)
|
||||||
|
double precision,allocatable :: ApB(:,:)
|
||||||
|
double precision,allocatable :: AmB(:,:)
|
||||||
|
double precision,allocatable :: AmBSq(:,:)
|
||||||
|
double precision,allocatable :: AmBIv(:,:)
|
||||||
|
double precision,allocatable :: Z(:,:)
|
||||||
|
|
||||||
! Output variables
|
! Output variables
|
||||||
|
|
||||||
@ -27,10 +33,9 @@ subroutine linear_response(ispin,dRPA,TDA,BSE,nBas,nC,nO,nV,nR,nS,lambda,e,ERI,r
|
|||||||
double precision,intent(out) :: XpY(nS,nS)
|
double precision,intent(out) :: XpY(nS,nS)
|
||||||
double precision,intent(out) :: XmY(nS,nS)
|
double precision,intent(out) :: XmY(nS,nS)
|
||||||
|
|
||||||
|
|
||||||
! Memory allocation
|
! Memory allocation
|
||||||
|
|
||||||
allocate(A(nS,nS),B(nS,nS),ApB(nS,nS),AmB(nS,nS),AmBSq(nS,nS),Z(nS,nS))
|
allocate(A(nS,nS),B(nS,nS),ApB(nS,nS),AmB(nS,nS),AmBSq(nS,nS),AmBIv(nS,nS),Z(nS,nS))
|
||||||
|
|
||||||
! Build A and B matrices
|
! Build A and B matrices
|
||||||
|
|
||||||
@ -57,32 +62,33 @@ subroutine linear_response(ispin,dRPA,TDA,BSE,nBas,nC,nO,nV,nR,nS,lambda,e,ERI,r
|
|||||||
call diagonalize_matrix(nS,AmB,Omega)
|
call diagonalize_matrix(nS,AmB,Omega)
|
||||||
|
|
||||||
if(minval(Omega) < 0d0) &
|
if(minval(Omega) < 0d0) &
|
||||||
call print_warning('You may have instabilities in linear response!!')
|
call print_warning('You may have instabilities in linear response: A-B is not positive definite!!')
|
||||||
|
|
||||||
do ia=1,nS
|
do ia=1,nS
|
||||||
if(Omega(ia) < 0d0) Omega(ia) = 0d0
|
if(Omega(ia) < 0d0) Omega(ia) = 0d0
|
||||||
end do
|
end do
|
||||||
|
|
||||||
call ADAt(nS,AmB,sqrt(Omega),AmBSq)
|
call ADAt(nS,AmB,1d0*sqrt(Omega),AmBSq)
|
||||||
|
call ADAt(nS,AmB,1d0/sqrt(Omega),AmBIv)
|
||||||
|
|
||||||
Z = matmul(AmBSq,matmul(ApB,AmBSq))
|
Z = matmul(AmBSq,matmul(ApB,AmBSq))
|
||||||
|
|
||||||
call diagonalize_matrix(nS,Z,Omega)
|
call diagonalize_matrix(nS,Z,Omega)
|
||||||
|
|
||||||
if(minval(Omega) < 0d0) &
|
if(minval(Omega) < 0d0) &
|
||||||
call print_warning('You may have instabilities in linear response!!')
|
call print_warning('You may have instabilities in linear response: negative excitations!!')
|
||||||
|
|
||||||
do ia=1,nS
|
do ia=1,nS
|
||||||
if(Omega(ia) < 0d0) Omega(ia) = 0d0
|
if(Omega(ia) < 0d0) Omega(ia) = 0d0
|
||||||
end do
|
end do
|
||||||
|
|
||||||
Omega = sqrt(Omega)
|
Omega = sqrt(Omega)
|
||||||
|
|
||||||
XpY = matmul(transpose(Z),AmBSq)
|
XpY = matmul(transpose(Z),AmBSq)
|
||||||
call DA(nS,1d0/sqrt(Omega),XpY)
|
call DA(nS,1d0/sqrt(Omega),XpY)
|
||||||
|
|
||||||
call ADAt(nS,AmB,1d0/sqrt(Omega),AmBSq)
|
XmY = matmul(transpose(Z),AmBIv)
|
||||||
XmY = matmul(transpose(Z),AmBSq)
|
call DA(nS,1d0*sqrt(Omega),XmY)
|
||||||
call DA(nS,sqrt(Omega),XmY)
|
|
||||||
|
|
||||||
! Compute the RPA correlation energy
|
! Compute the RPA correlation energy
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user