From 51920c0ada9f1f55449546d8b413c56120e1ada4 Mon Sep 17 00:00:00 2001 From: Pierre-Francois Loos Date: Fri, 15 Mar 2019 09:58:53 +0100 Subject: [PATCH] CCD coded --- input/int | 4 ++-- input/methods | 5 +++-- src/MCQC/MCQC.f90 | 18 ++++++++++++++++++ src/MCQC/MP2F12.f90 | 8 ++++---- src/MCQC/read_methods.f90 | 10 ++++++++++ src/xcDFT/.DS_Store | Bin 6148 -> 0 bytes 6 files changed, 37 insertions(+), 8 deletions(-) delete mode 100644 src/xcDFT/.DS_Store diff --git a/input/int b/input/int index 5fe40bc..ed14d90 100644 --- a/input/int +++ b/input/int @@ -7,8 +7,8 @@ # One-electron integrals: Ov Kin Nuc T T T # Two-electron integrals: ERI F12 Yuk Erf - T T T T + T F F F # Three-electron integrals: Type1 Type2 Type3 - T F F + F F F # Four-electron integrals: Type1 Type2 Type3 F F F diff --git a/input/methods b/input/methods index 9eb4c24..3546b71 100644 --- a/input/methods +++ b/input/methods @@ -1,7 +1,9 @@ # HF MOM T F # MP2 MP3 MP2-F12 - T F T + T F F +# CCD CCSD CCSD(T) + T F F # CIS TDHF ADC F F F # GF2 GF3 @@ -10,4 +12,3 @@ F F F # MCMP2 F - diff --git a/src/MCQC/MCQC.f90 b/src/MCQC/MCQC.f90 index 96c00d5..fb3c074 100644 --- a/src/MCQC/MCQC.f90 +++ b/src/MCQC/MCQC.f90 @@ -5,6 +5,7 @@ program MCQC logical :: doHF,doMOM logical :: doMP2,doMP3,doMP2F12 + logical :: doCC logical :: doCIS,doTDHF,doADC logical :: doGF2,doGF3 logical :: doG0W0,doevGW,doqsGW @@ -29,6 +30,7 @@ program MCQC double precision :: start_HF ,end_HF ,t_HF double precision :: start_MOM ,end_MOM ,t_MOM + double precision :: start_CC ,end_CC ,t_CC double precision :: start_CIS ,end_CIS ,t_CIS double precision :: start_TDHF ,end_TDHF ,t_TDHF double precision :: start_ADC ,end_ADC ,t_ADC @@ -78,6 +80,7 @@ program MCQC call read_methods(doHF,doMOM, & doMP2,doMP3,doMP2F12, & + doCC, & doCIS,doTDHF,doADC, & doGF2,doGF3, & doG0W0,doevGW,doqsGW, & @@ -250,6 +253,21 @@ program MCQC write(*,*) endif +!------------------------------------------------------------------------ +! Perform CC calculation +!------------------------------------------------------------------------ + + if(doCC) then + + call cpu_time(start_CC) + call CC(nBas,nEl,ERI_MO_basis,ENuc,ERHF,eHF,cHF) + call cpu_time(end_CC) + + t_CC = end_CC - start_CC + write(*,'(A65,1X,F9.3,A8)') 'Total CPU time for CC = ',t_CC,' seconds' + write(*,*) + + endif !------------------------------------------------------------------------ ! Compute CIS excitations diff --git a/src/MCQC/MP2F12.f90 b/src/MCQC/MP2F12.f90 index 0ca0a1b..f4f9efa 100644 --- a/src/MCQC/MP2F12.f90 +++ b/src/MCQC/MP2F12.f90 @@ -121,11 +121,11 @@ subroutine MP2F12(nBas,nC,nO,nV,ERI,F12,Yuk,FC,EHF,EcMP2,c,EcMP2F12) write(*,'(A32)') ' MP2-F12 calculation ' write(*,'(A32)') '-----------------------' write(*,'(A32,1X,F16.10)') ' MP2 ',EcMP2 - write(*,'(A32,1X,F16.10)') ' MP2-F12 E(2) ',EcMP2F12(1) - write(*,'(A32,1X,F16.10)') ' MP2-F12 E(3) ',EcMP2F12(2) - write(*,'(A32,1X,F16.10)') ' MP2-F12 E(4) ',EcMP2F12(3) + write(*,'(A32,1X,F16.10)') ' MP2-F12 E(2) ',-EcMP2F12(1) + write(*,'(A32,1X,F16.10)') ' MP2-F12 E(3) ',-EcMP2F12(2) + write(*,'(A32,1X,F16.10)') ' MP2-F12 E(4) ',-EcMP2F12(3) write(*,'(A32)') '-----------------------' - write(*,'(A32,1X,F16.10)') ' Total ',EcMP2+EcMP2F12(1)+EcMP2F12(2)+EcMP2F12(3) + write(*,'(A32,1X,F16.10)') ' Total ',EcMP2-EcMP2F12(1)-EcMP2F12(2)-EcMP2F12(3) write(*,'(A32)') '-----------------------' write(*,*) diff --git a/src/MCQC/read_methods.f90 b/src/MCQC/read_methods.f90 index f4389cb..3e2197b 100644 --- a/src/MCQC/read_methods.f90 +++ b/src/MCQC/read_methods.f90 @@ -1,5 +1,6 @@ subroutine read_methods(doHF,doMOM, & doMP2,doMP3,doMP2F12, & + doCC, & doCIS,doTDHF,doADC, & doGF2,doGF3, & doG0W0,doevGW,doqsGW, & @@ -13,6 +14,7 @@ subroutine read_methods(doHF,doMOM, & logical,intent(out) :: doHF,doMOM logical,intent(out) :: doMP2,doMP3,doMP2F12 + logical,intent(out) :: doCC logical,intent(out) :: doCIS,doTDHF,doADC logical,intent(out) :: doGF2,doGF3 logical,intent(out) :: doG0W0,doevGW,doqsGW @@ -35,6 +37,8 @@ subroutine read_methods(doHF,doMOM, & doMP3 = .false. doMP2F12 = .false. + doCC = .false. + doCIS = .false. doTDHF = .false. doADC = .false. @@ -63,6 +67,12 @@ subroutine read_methods(doHF,doMOM, & if(answer2 == 'T') doMP3 = .true. if(answer3 == 'T') doMP2F12 = .true. +! Read CC methods + + read(1,*) + read(1,*) answer1 + if(answer1 == 'T') doCC = .true. + ! Read excited state methods read(1,*) diff --git a/src/xcDFT/.DS_Store b/src/xcDFT/.DS_Store deleted file mode 100644 index 5008ddfcf53c02e82d7eee2e57c38e5672ef89f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0