diff --git a/src/QuAcK/BQuAcK.f90 b/src/QuAcK/BQuAcK.f90 new file mode 100644 index 0000000..889b518 --- /dev/null +++ b/src/QuAcK/BQuAcK.f90 @@ -0,0 +1,44 @@ +subroutine BQuAcK(working_dir,dotest,doHFB) + +! Restricted branch of QuAcK + + implicit none + include 'parameters.h' + + character(len=256),intent(in) :: working_dir + + logical,intent(in) :: dotest + + logical,intent(in) :: doHFB + +! Local variables + + double precision :: start_HF ,end_HF ,t_HF + + write(*,*) + write(*,*) '******************************' + write(*,*) '* Bogoliubov Branch of QuAcK *' + write(*,*) '******************************' + write(*,*) + +!-------------------! +! Memory allocation ! +!-------------------! + +!---------------------! +! Hartree-Fock module ! +!---------------------! + + if(doHFB) then + + call wall_time(start_HF) +! call HFB(dotest) + call wall_time(end_HF) + + t_HF = end_HF - start_HF + write(*,'(A65,1X,F9.3,A8)') 'Total wall time for HFB = ',t_HF,' seconds' + write(*,*) + + end if + +end subroutine diff --git a/src/QuAcK/QuAcK.f90 b/src/QuAcK/QuAcK.f90 index a376a38..0954b00 100644 --- a/src/QuAcK/QuAcK.f90 +++ b/src/QuAcK/QuAcK.f90 @@ -3,8 +3,8 @@ program QuAcK implicit none include 'parameters.h' - logical :: doRQuAcK,doUQuAcK,doGQuAcK - logical :: doRHF,doUHF,doGHF,doROHF + logical :: doRQuAcK,doUQuAcK,doGQuAcK,doBQuAcK + logical :: doRHF,doUHF,doGHF,doROHF,doHFB logical :: dostab,dosearch logical :: doMP2,doMP3 logical :: doCCD,dopCCD,doDCD,doCCSD,doCCSDT @@ -212,6 +212,9 @@ program QuAcK doGQuAcK = .false. if(doGHF) doGQuAcK = .true. + doBQuAcK = .false. + if(doHFB) doBQuAcK = .true. + !-----------------! ! Initialize Test ! !-----------------! @@ -281,6 +284,13 @@ program QuAcK maxSCF_GT,max_diis_GT,thresh_GT,TDA_T,lin_GT,reg_GT,eta_GT, & dophBSE,dophBSE2,doppBSE,dBSE,dTDA,doACFDT,exchange_kernel,doXBS) + +!--------------------------! +! Bogoliubov QuAcK branch ! +!--------------------------! + if(doBQuAcK) & + call BQuAcK(working_dir,doGtest,doHFB) + !-----------! ! Stop Test ! !-----------!