mirror of
https://github.com/pfloos/quack
synced 2024-12-22 20:35:36 +01:00
CIS(D) sligntly faster
This commit is contained in:
parent
69a0b5193d
commit
c15ea00351
@ -11,8 +11,8 @@
|
||||
# GW/GT: maxSCF thresh DIIS n_diis lin eta COHSEX SOSEX TDA_W G0W GW0
|
||||
256 0.00001 T 5 T 0.0 F F F F F
|
||||
# ACFDT: AC Kx XBS
|
||||
F F T
|
||||
T F T
|
||||
# BSE: BSE dBSE dTDA evDyn
|
||||
T T T F
|
||||
T F T F
|
||||
# MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift
|
||||
1000000 100000 10 0.3 10000 1234 T
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=ADC.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=AOtoMO.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=BasCor.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=CC.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -42,6 +42,9 @@ subroutine D_correction(ispin,nBasin,nCin,nOin,nVin,nRin,nSin,maxS,eHF,ERI,w,X)
|
||||
double precision,allocatable :: OOOV(:,:,:,:)
|
||||
double precision,allocatable :: OOVV(:,:,:,:)
|
||||
double precision,allocatable :: OVVV(:,:,:,:)
|
||||
double precision,allocatable :: X1(:,:)
|
||||
double precision,allocatable :: X2(:,:)
|
||||
double precision,allocatable :: X3(:,:)
|
||||
|
||||
double precision,allocatable :: u(:,:,:,:)
|
||||
double precision,allocatable :: v(:,:)
|
||||
@ -98,6 +101,8 @@ subroutine D_correction(ispin,nBasin,nCin,nOin,nVin,nRin,nSin,maxS,eHF,ERI,w,X)
|
||||
|
||||
allocate(t(nO,nO,nV,nV),r(nO,nV),u(nO,nO,nV,nV),v(nO,nV))
|
||||
|
||||
allocate(X1(nV,nV),X2(nO,nO),X3(nO,nV))
|
||||
|
||||
! MP2 guess amplitudes
|
||||
|
||||
t(:,:,:,:) = -OOVV(:,:,:,:)/delta(:,:,:,:)
|
||||
@ -173,21 +178,69 @@ subroutine D_correction(ispin,nBasin,nCin,nOin,nVin,nRin,nSin,maxS,eHF,ERI,w,X)
|
||||
end do
|
||||
end do
|
||||
|
||||
! Compute intermediate arrays
|
||||
|
||||
X1(:,:) = 0d0
|
||||
|
||||
do j=nC+1,nO
|
||||
do k=nC+1,nO
|
||||
do a=1,nV-nR
|
||||
do b=1,nV-nR
|
||||
do c=1,nV-nR
|
||||
X1(a,b) = X1(a,b) + OOVV(j,k,b,c)*t(j,k,c,a)
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
|
||||
X2(:,:) = 0d0
|
||||
|
||||
do i=nC+1,nO
|
||||
do j=nC+1,nO
|
||||
do k=nC+1,nO
|
||||
do b=1,nV-nR
|
||||
do c=1,nV-nR
|
||||
X2(i,j) = X2(i,j) + OOVV(j,k,b,c)*t(i,k,c,b)
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
|
||||
X3(:,:) = 0d0
|
||||
|
||||
do j=nC+1,nO
|
||||
do k=nC+1,nO
|
||||
do b=1,nV-nR
|
||||
do c=1,nV-nR
|
||||
X3(k,c) = X3(k,c) + 2d0*OOVV(j,k,b,c)*r(j,b)
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
end do
|
||||
|
||||
! Compute v array
|
||||
|
||||
v(:,:) = 0d0
|
||||
|
||||
do i=nC+1,nO
|
||||
do j=nC+1,nO
|
||||
do a=1,nV-nR
|
||||
|
||||
do b=1,nV-nR
|
||||
v(i,a) = v(i,a) + r(i,b)*X1(a,b)
|
||||
end do
|
||||
|
||||
do j=nC+1,nO
|
||||
v(i,a) = v(i,a) + r(j,a)*X2(i,j)
|
||||
end do
|
||||
|
||||
do k=nC+1,nO
|
||||
do a=1,nV-nR
|
||||
do b=1,nV-nR
|
||||
do c=1,nV-nR
|
||||
v(i,a) = v(i,a) + OOVV(j,k,b,c)*(r(i,b)*t(j,k,c,a) + r(j,a)*t(i,k,c,b) + 2d0*r(j,b)*t(i,k,a,c))
|
||||
end do
|
||||
end do
|
||||
do c=1,nV-nR
|
||||
v(i,a) = v(i,a) + X3(k,c)*t(i,k,a,c)
|
||||
end do
|
||||
end do
|
||||
|
||||
end do
|
||||
end do
|
||||
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=CI.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=HF.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=MBPT.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=MC.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=MP.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -19,7 +19,9 @@ LIB_DIRS=$(filter-out $(MAIN_DIRS), $(ALL_DIRS))
|
||||
FORCE:
|
||||
|
||||
$(SDIR)/%/Makefile: FORCE
|
||||
@(echo TARGET=$*.a > $*/Makefile && echo include $$QUACK_ROOT/src/Makefile.include >> $@)
|
||||
@(echo QUACK_ROOT=$(QUACK_ROOT) > $@)
|
||||
@(echo TARGET=$*.a >> $@)
|
||||
@(echo 'include $$(QUACK_ROOT)/src/Makefile.include' >> $@)
|
||||
|
||||
$(LDIR)/%.a: FORCE $(SDIR)/%/Makefile $(MOD_DIRS)
|
||||
$(MAKE) -C $(SDIR)/$* lib
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=QuAcK.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=RPA.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=eDFT.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
@ -1,2 +1,3 @@
|
||||
QUACK_ROOT=/Users/loos/Dropbox/quack
|
||||
TARGET=utils.a
|
||||
include /Users/loos/Dropbox/quack/src/Makefile.include
|
||||
include $(QUACK_ROOT)/src/Makefile.include
|
||||
|
Loading…
Reference in New Issue
Block a user