4
1
mirror of https://github.com/pfloos/quack synced 2024-07-05 10:56:01 +02:00

remove MP2F12

This commit is contained in:
Pierre-Francois Loos 2022-12-01 09:42:23 +01:00
parent 196e4c917a
commit bdbd201d6c
3 changed files with 8 additions and 36 deletions

View File

@ -1,7 +1,7 @@
# RHF UHF KS MOM # RHF UHF KS MOM
T F F F T F F F
# MP2* MP3 MP2-F12 # MP2* MP3
T F F T F
# CCD pCCD DCD CCSD CCSD(T) # CCD pCCD DCD CCSD CCSD(T)
F F F F F F F F F F
# drCCD rCCD crCCD lCCD # drCCD rCCD crCCD lCCD

View File

@ -8,7 +8,7 @@ program QuAcK
logical :: doRHF,doUHF,doMOM logical :: doRHF,doUHF,doMOM
logical :: dostab logical :: dostab
logical :: doKS logical :: doKS
logical :: doMP2,doMP3,doMP2F12 logical :: doMP2,doMP3
logical :: doCCD,dopCCD,doDCD,doCCSD,doCCSDT logical :: doCCD,dopCCD,doDCD,doCCSD,doCCSDT
logical :: do_drCCD,do_rCCD,do_crCCD,do_lCCD logical :: do_drCCD,do_rCCD,do_crCCD,do_lCCD
logical :: doCIS,doCIS_D,doCID,doCISD,doFCI logical :: doCIS,doCIS_D,doCID,doCISD,doFCI
@ -26,7 +26,7 @@ program QuAcK
integer :: nR(nspin) integer :: nR(nspin)
integer :: nS(nspin) integer :: nS(nspin)
double precision :: ENuc,ERHF,EUHF,Norm double precision :: ENuc,ERHF,EUHF,Norm
double precision :: EcMP2(3),EcMP3,EcMP2F12(3) double precision :: EcMP2(3),EcMP3
double precision,allocatable :: ZNuc(:),rNuc(:,:) double precision,allocatable :: ZNuc(:),rNuc(:,:)
double precision,allocatable :: cHF(:,:,:),eHF(:,:),PHF(:,:,:) double precision,allocatable :: cHF(:,:,:),eHF(:,:),PHF(:,:,:)
@ -73,7 +73,6 @@ program QuAcK
double precision,allocatable :: ERI_MO_bbbb(:,:,:,:) double precision,allocatable :: ERI_MO_bbbb(:,:,:,:)
double precision,allocatable :: ERI_ERF_AO(:,:,:,:) double precision,allocatable :: ERI_ERF_AO(:,:,:,:)
double precision,allocatable :: ERI_ERF_MO(:,:,:,:) double precision,allocatable :: ERI_ERF_MO(:,:,:,:)
double precision,allocatable :: F12(:,:,:,:),Yuk(:,:,:,:),FC(:,:,:,:,:,:)
double precision :: start_QuAcK ,end_QuAcK ,t_QuAcK double precision :: start_QuAcK ,end_QuAcK ,t_QuAcK
double precision :: start_int ,end_int ,t_int double precision :: start_int ,end_int ,t_int
@ -102,7 +101,6 @@ program QuAcK
double precision :: start_qsGT ,end_qsGT ,t_qsGT double precision :: start_qsGT ,end_qsGT ,t_qsGT
double precision :: start_MP2 ,end_MP2 ,t_MP2 double precision :: start_MP2 ,end_MP2 ,t_MP2
double precision :: start_MP3 ,end_MP3 ,t_MP3 double precision :: start_MP3 ,end_MP3 ,t_MP3
double precision :: start_MP2F12 ,end_MP2F12 ,t_MP2F12
integer :: maxSCF_HF,n_diis_HF integer :: maxSCF_HF,n_diis_HF
double precision :: thresh_HF,level_shift double precision :: thresh_HF,level_shift
@ -162,7 +160,7 @@ program QuAcK
! Which calculations do you want to do? ! Which calculations do you want to do?
call read_methods(doRHF,doUHF,doKS,doMOM, & call read_methods(doRHF,doUHF,doKS,doMOM, &
doMP2,doMP3,doMP2F12, & doMP2,doMP3, &
doCCD,dopCCD,doDCD,doCCSD,doCCSDT, & doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
do_drCCD,do_rCCD,do_crCCD,do_lCCD, & do_drCCD,do_rCCD,do_crCCD,do_lCCD, &
doCIS,doCIS_D,doCID,doCISD,doFCI, & doCIS,doCIS_D,doCID,doCISD,doFCI, &
@ -521,30 +519,6 @@ program QuAcK
end if end if
!------------------------------------------------------------------------
! Compute MP2-F12 energy
!------------------------------------------------------------------------
if(doMP2F12) then
call cpu_time(start_MP2F12)
! Memory allocation for one- and two-electron integrals
allocate(F12(nBas,nBas,nBas,nBas),Yuk(nBas,nBas,nBas,nBas),FC(nBas,nBas,nBas,nBas,nBas,nBas))
! Read integrals
call read_F12_integrals(nBas,S,ERI_AO,F12,Yuk,FC)
call MP2F12(nBas,nC,nO,nV,ERI_AO,F12,Yuk,FC,ERHF,eHF,cHF)
call cpu_time(end_MP2F12)
t_MP2F12 = end_MP2F12 - start_MP2F12
write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for MP2-F12 = ',t_MP2F12,' seconds'
write(*,*)
end if
!------------------------------------------------------------------------ !------------------------------------------------------------------------
! Perform CCD calculation ! Perform CCD calculation
!------------------------------------------------------------------------ !------------------------------------------------------------------------

View File

@ -1,5 +1,5 @@
subroutine read_methods(doRHF,doUHF,doKS,doMOM, & subroutine read_methods(doRHF,doUHF,doKS,doMOM, &
doMP2,doMP3,doMP2F12, & doMP2,doMP3, &
doCCD,dopCCD,doDCD,doCCSD,doCCSDT, & doCCD,dopCCD,doDCD,doCCSD,doCCSDT, &
do_drCCD,do_rCCD,do_crCCD,do_lCCD, & do_drCCD,do_rCCD,do_crCCD,do_lCCD, &
doCIS,doCIS_D,doCID,doCISD,doFCI, & doCIS,doCIS_D,doCID,doCISD,doFCI, &
@ -17,7 +17,7 @@ subroutine read_methods(doRHF,doUHF,doKS,doMOM, &
! Input variables ! Input variables
logical,intent(out) :: doRHF,doUHF,doKS,doMOM logical,intent(out) :: doRHF,doUHF,doKS,doMOM
logical,intent(out) :: doMP2,doMP3,doMP2F12 logical,intent(out) :: doMP2,doMP3
logical,intent(out) :: doCCD,dopCCD,doDCD,doCCSD,doCCSDT logical,intent(out) :: doCCD,dopCCD,doDCD,doCCSD,doCCSDT
logical,intent(out) :: do_drCCD,do_rCCD,do_crCCD,do_lCCD logical,intent(out) :: do_drCCD,do_rCCD,do_crCCD,do_lCCD
logical,intent(out) :: doCIS,doCIS_D,doCID,doCISD,doFCI logical,intent(out) :: doCIS,doCIS_D,doCID,doCISD,doFCI
@ -43,7 +43,6 @@ subroutine read_methods(doRHF,doUHF,doKS,doMOM, &
doMP2 = .false. doMP2 = .false.
doMP3 = .false. doMP3 = .false.
doMP2F12 = .false.
doCCD = .false. doCCD = .false.
dopCCD = .false. dopCCD = .false.
@ -96,10 +95,9 @@ subroutine read_methods(doRHF,doUHF,doKS,doMOM, &
! Read MPn methods ! Read MPn methods
read(1,*) read(1,*)
read(1,*) answer1,answer2,answer3 read(1,*) answer1,answer2
if(answer1 == 'T') doMP2 = .true. if(answer1 == 'T') doMP2 = .true.
if(answer2 == 'T') doMP3 = .true. if(answer2 == 'T') doMP3 = .true.
if(answer3 == 'T') doMP2F12 = .true.
! Read CC methods ! Read CC methods