10
1
mirror of https://github.com/pfloos/quack synced 2024-12-22 20:34:46 +01:00

options for CC

This commit is contained in:
Pierre-Francois Loos 2019-03-16 22:40:54 +01:00
parent c4578a902e
commit 60ffffcb6b
3 changed files with 29 additions and 2 deletions

View File

@ -2,6 +2,8 @@
64 0.0000001 T 5 1 1 64 0.0000001 T 5 1 1
# MP: # MP:
# CC: maxSCF thresh DIIS n_diis
64 0.00001 F 1
# CIS/TDHF: singlet triplet # CIS/TDHF: singlet triplet
T F T F
# GF: maxSCF thresh DIIS n_diis renormalization # GF: maxSCF thresh DIIS n_diis renormalization

View File

@ -51,6 +51,10 @@ program MCQC
double precision :: thresh_HF double precision :: thresh_HF
logical :: DIIS_HF,guess_type,ortho_type logical :: DIIS_HF,guess_type,ortho_type
integer :: maxSCF_CC,n_diis_CC
double precision :: thresh_CC
logical :: DIIS_CC
logical :: singlet_manifold,triplet_manifold logical :: singlet_manifold,triplet_manifold
integer :: maxSCF_GF,n_diis_GF,renormalization integer :: maxSCF_GF,n_diis_GF,renormalization
@ -90,6 +94,7 @@ program MCQC
! Read options for methods ! Read options for methods
call read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, & call read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, &
maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, &
singlet_manifold,triplet_manifold, & singlet_manifold,triplet_manifold, &
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, & maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,COHSEX,SOSEX,BSE,TDA,G0W,GW0,linearize, & maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,COHSEX,SOSEX,BSE,TDA,G0W,GW0,linearize, &
@ -262,7 +267,7 @@ program MCQC
if(doCCD) then if(doCCD) then
call cpu_time(start_CCD) call cpu_time(start_CCD)
call CCD(nBas,nEl,ERI_MO_basis,ENuc,ERHF,eHF) call CCD(maxSCF_CC,thresh_CC,n_diis_CC,nBas,nEl,ERI_MO_basis,ENuc,ERHF,eHF)
call cpu_time(end_CCD) call cpu_time(end_CCD)
t_CCD = end_CCD - start_CCD t_CCD = end_CCD - start_CCD
@ -278,7 +283,7 @@ program MCQC
if(doCCSD) then if(doCCSD) then
call cpu_time(start_CCSD) call cpu_time(start_CCSD)
call CCSD(doCCSDT,nBas,nEl,ERI_MO_basis,ENuc,ERHF,eHF) call CCSD(maxSCF_CC,thresh_CC,n_diis_CC,doCCSDT,nBas,nEl,ERI_MO_basis,ENuc,ERHF,eHF)
call cpu_time(end_CCSD) call cpu_time(end_CCSD)
t_CCSD = end_CCSD - start_CCSD t_CCSD = end_CCSD - start_CCSD

View File

@ -1,4 +1,5 @@
subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, & subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_type, &
maxSCF_CC,thresh_CC,DIIS_CC,n_diis_CC, &
singlet_manifold,triplet_manifold, & singlet_manifold,triplet_manifold, &
maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, & maxSCF_GF,thresh_GF,DIIS_GF,n_diis_GF,renormalization, &
maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,COHSEX,SOSEX,BSE,TDA,G0W,GW0,linearize, & maxSCF_GW,thresh_GW,DIIS_GW,n_diis_GW,COHSEX,SOSEX,BSE,TDA,G0W,GW0,linearize, &
@ -17,6 +18,11 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
integer,intent(out) :: guess_type integer,intent(out) :: guess_type
integer,intent(out) :: ortho_type integer,intent(out) :: ortho_type
integer,intent(out) :: maxSCF_CC
double precision,intent(out) :: thresh_CC
logical,intent(out) :: DIIS_CC
integer,intent(out) :: n_diis_CC
logical,intent(out) :: singlet_manifold logical,intent(out) :: singlet_manifold
logical,intent(out) :: triplet_manifold logical,intent(out) :: triplet_manifold
@ -75,6 +81,20 @@ subroutine read_options(maxSCF_HF,thresh_HF,DIIS_HF,n_diis_HF,guess_type,ortho_t
read(1,*) read(1,*)
read(1,*) read(1,*)
! Read CC options
maxSCF_CC = 64
thresh_CC = 1d-5
DIIS_CC = .false.
n_diis_CC = 5
read(1,*)
read(1,*) maxSCF_CC,thresh_CC,answer1,n_diis_CC
if(answer1 == 'T') DIIS_CC = .true.
if(.not.DIIS_CC) n_diis_CC = 1
! Read excited state options ! Read excited state options
singlet_manifold = .false. singlet_manifold = .false.