diff --git a/input/methods b/input/methods index 183bcf4..aabfa18 100644 --- a/input/methods +++ b/input/methods @@ -1,5 +1,5 @@ # RHF UHF GHF ROHF - F F T F + T F F F # MP2 MP3 F F # CCD pCCD DCD CCSD CCSD(T) @@ -13,6 +13,6 @@ # G0F2 evGF2 qsGF2 G0F3 evGF3 F F F F F # G0W0 evGW qsGW SRG-qsGW ufG0W0 ufGW - F F T F F F + F T F F F F # G0T0pp evGTpp qsGTpp G0T0eh evGTeh qsGTeh F F F F F F diff --git a/src/GW/RG0W0.f90 b/src/GW/RG0W0.f90 index 77fb3ba..4d18979 100644 --- a/src/GW/RG0W0.f90 +++ b/src/GW/RG0W0.f90 @@ -62,9 +62,9 @@ subroutine RG0W0(doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA,dBSE,d ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'| One-shot G0W0 calculation |' - write(*,*)'************************************************' + write(*,*)'*******************************' + write(*,*)'* Restricted G0W0 Calculation *' + write(*,*)'*******************************' write(*,*) ! Initialization @@ -104,7 +104,7 @@ subroutine RG0W0(doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA,dBSE,d call phLR(TDA_W,nS,Aph,Bph,EcRPA,Om,XpY,XmY) - if(print_W) call print_excitation_energies('phRPA@HF',ispin,nS,Om) + if(print_W) call print_excitation_energies('phRPA@RHF',ispin,nS,Om) !--------------------------! ! Compute spectral weights ! diff --git a/src/GW/evRGW.f90 b/src/GW/evRGW.f90 index cbea673..b8a2eed 100644 --- a/src/GW/evRGW.f90 +++ b/src/GW/evRGW.f90 @@ -68,9 +68,9 @@ subroutine evRGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dophBSE,do ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'| Self-consistent evGW calculation |' - write(*,*)'************************************************' + write(*,*)'*******************************' + write(*,*)'* Restricted evGW Calculation *' + write(*,*)'*******************************' write(*,*) ! TDA for W diff --git a/src/GW/print_evRGW.f90 b/src/GW/print_evRGW.f90 index 05ee754..7c0ea8d 100644 --- a/src/GW/print_evRGW.f90 +++ b/src/GW/print_evRGW.f90 @@ -28,7 +28,13 @@ subroutine print_evRGW(nBas,nO,nSCF,Conv,eHF,ENuc,ERHF,SigC,Z,eGW,EcRPA,EcGM) ! Dump results write(*,*)'-------------------------------------------------------------------------------' - write(*,'(1X,A21,I3,A1,I3,A12)')' Self-consistent evRG',nSCF,'W',nSCF,' calculation' + if(nSCF < 10) then + write(*,'(1X,A21,I1,A1,I1,A12)')' Self-consistent evRG',nSCF,'W',nSCF,' calculation' + elseif(nSCF < 100) then + write(*,'(1X,A21,I2,A1,I2,A12)')' Self-consistent evRG',nSCF,'W',nSCF,' calculation' + else + write(*,'(1X,A21,I3,A1,I3,A12)')' Self-consistent evRG',nSCF,'W',nSCF,' calculation' + end if write(*,*)'-------------------------------------------------------------------------------' write(*,'(1X,A1,1X,A3,1X,A1,1X,A15,1X,A1,1X,A15,1X,A1,1X,A15,1X,A1,1X,A15,1X,A1,1X)') & '|','#','|','e_HF (eV)','|','Sig_GW (eV)','|','Z','|','e_GW (eV)','|' @@ -43,14 +49,14 @@ subroutine print_evRGW(nBas,nO,nSCF,Conv,eHF,ENuc,ERHF,SigC,Z,eGW,EcRPA,EcGM) write(*,'(2X,A10,I3)') 'Iteration ',nSCF write(*,'(2X,A14,F15.5)')'Convergence = ',Conv write(*,*)'-------------------------------------------------------------------------------' - write(*,'(2X,A60,F15.6,A3)') 'evRGW HOMO energy =',eGW(HOMO)*HaToeV,' eV' - write(*,'(2X,A60,F15.6,A3)') 'evRGW LUMO energy =',eGW(LUMO)*HaToeV,' eV' - write(*,'(2X,A60,F15.6,A3)') 'evRGW HOMO-LUMO gap =',Gap*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'evRGW HOMO energy = ',eGW(HOMO)*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'evRGW LUMO energy = ',eGW(LUMO)*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'evRGW HOMO-LUMO gap = ',Gap*HaToeV,' eV' write(*,*)'-------------------------------------------------------------------------------' - write(*,'(2X,A60,F15.6,A3)') 'phRPA@evRGW total energy =',ENuc + ERHF + EcRPA,' au' - write(*,'(2X,A60,F15.6,A3)') 'phRPA@evRGW correlation energy =',EcRPA,' au' - write(*,'(2X,A60,F15.6,A3)') ' GM@evRGW total energy =',ENuc + ERHF + EcGM,' au' - write(*,'(2X,A60,F15.6,A3)') ' GM@evRGW correlation energy =',EcGM,' au' + write(*,'(2X,A60,F15.6,A3)') 'phRPA@evRGW total energy = ',ENuc + ERHF + EcRPA,' au' + write(*,'(2X,A60,F15.6,A3)') 'phRPA@evRGW correlation energy = ',EcRPA,' au' + write(*,'(2X,A60,F15.6,A3)') ' GM@evRGW total energy = ',ENuc + ERHF + EcGM,' au' + write(*,'(2X,A60,F15.6,A3)') ' GM@evRGW correlation energy = ',EcGM,' au' write(*,*)'-------------------------------------------------------------------------------' write(*,*) diff --git a/src/GW/print_qsRGW.f90 b/src/GW/print_qsRGW.f90 index 7f1bd62..a3b3ab9 100644 --- a/src/GW/print_qsRGW.f90 +++ b/src/GW/print_qsRGW.f90 @@ -68,14 +68,14 @@ subroutine print_qsRGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,c,SigC,Z,ENuc,ET,EV,EJ,E write(*,'(2X,A10,I3)') 'Iteration ',nSCF write(*,'(2X,A14,F15.5)')'Convergence = ',Conv write(*,*)'-------------------------------------------------------------------------------' - write(*,'(2X,A60,F15.6,A3)') 'qsRGW HOMO energy =',eGW(HOMO)*HaToeV,' eV' - write(*,'(2X,A60,F15.6,A3)') 'qsRGW LUMO energy =',eGW(LUMO)*HaToeV,' eV' - write(*,'(2X,A60,F15.6,A3)') 'qsRGW HOMO-LUMO gap =',Gap*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'qsRGW HOMO energy = ',eGW(HOMO)*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'qsRGW LUMO energy = ',eGW(LUMO)*HaToeV,' eV' + write(*,'(2X,A60,F15.6,A3)') 'qsRGW HOMO-LUMO gap = ',Gap*HaToeV,' eV' write(*,*)'-------------------------------------------------------------------------------' - write(*,'(2X,A60,F15.6,A3)') ' qsRGW total energy =',ENuc + EqsGW,' au' - write(*,'(2X,A60,F15.6,A3)') ' qsRGW exchange energy =',EK,' au' - write(*,'(2X,A60,F15.6,A3)') ' GM@qsRGW correlation energy =',EcGM,' au' - write(*,'(2X,A60,F15.6,A3)') 'phRPA@qsRGW correlation energy =',EcRPA,' au' + write(*,'(2X,A60,F15.6,A3)') ' qsRGW total energy = ',ENuc + EqsGW,' au' + write(*,'(2X,A60,F15.6,A3)') ' qsRGW exchange energy = ',EK,' au' + write(*,'(2X,A60,F15.6,A3)') ' GM@qsRGW correlation energy = ',EcGM,' au' + write(*,'(2X,A60,F15.6,A3)') 'phRPA@qsRGW correlation energy = ',EcRPA,' au' write(*,*)'-------------------------------------------------------------------------------' write(*,*) diff --git a/src/GW/qsRGW.f90 b/src/GW/qsRGW.f90 index e4b54a9..f1d1bc7 100644 --- a/src/GW/qsRGW.f90 +++ b/src/GW/qsRGW.f90 @@ -99,7 +99,7 @@ subroutine qsRGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dophBSE,do write(*,*) write(*,*)'*******************************' - write(*,*)'| Restricted qsGW Calculation |' + write(*,*)'* Restricted qsGW Calculation *' write(*,*)'*******************************' write(*,*) diff --git a/src/HF/RHF.f90 b/src/HF/RHF.f90 index 499a144..8a9e096 100644 --- a/src/HF/RHF.f90 +++ b/src/HF/RHF.f90 @@ -62,9 +62,9 @@ subroutine RHF(maxSCF,thresh,max_diis,guess_type,level_shift,nNuc,ZNuc,rNuc,ENuc ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'| Restricted Hartree-Fock calculation |' - write(*,*)'************************************************' + write(*,*)'*****************************' + write(*,*)'* Restricted HF Calculation *' + write(*,*)'*****************************' write(*,*) ! Useful quantities diff --git a/src/HF/UHF.f90 b/src/HF/UHF.f90 index 058f662..9cee38a 100644 --- a/src/HF/UHF.f90 +++ b/src/HF/UHF.f90 @@ -65,9 +65,9 @@ subroutine UHF(maxSCF,thresh,max_diis,guess_type,mix,level_shift,nNuc,ZNuc,rNuc, ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'* Unrestricted Hartree-Fock calculation *' - write(*,*)'************************************************' + write(*,*)'*******************************' + write(*,*)'* Unrestricted HF Calculation *' + write(*,*)'*******************************' write(*,*) ! Useful stuff diff --git a/src/HF/print_RHF.f90 b/src/HF/print_RHF.f90 index dd7e9a9..51ff774 100644 --- a/src/HF/print_RHF.f90 +++ b/src/HF/print_RHF.f90 @@ -41,45 +41,45 @@ subroutine print_RHF(nBas,nO,eHF,cHF,ENuc,ET,EV,EJ,EK,ERHF,dipole) ! Dump results write(*,*) - write(*,'(A50)') '-----------------------------------------' - write(*,'(A32)') ' Summary ' - write(*,'(A50)') '-----------------------------------------' - write(*,'(A32,1X,F16.10,A3)') ' One-electron energy: ',ET + EV,' au' - write(*,'(A32,1X,F16.10,A3)') ' Kinetic energy: ',ET,' au' - write(*,'(A32,1X,F16.10,A3)') ' Potential energy: ',EV,' au' - write(*,'(A50)') '-----------------------------------------' - write(*,'(A32,1X,F16.10,A3)') ' Two-electron energy: ',EJ + EK,' au' - write(*,'(A32,1X,F16.10,A3)') ' Hartree energy: ',EJ,' au' - write(*,'(A32,1X,F16.10,A3)') ' Exchange energy: ',EK,' au' - write(*,'(A50)') '-----------------------------------------' - write(*,'(A32,1X,F16.10,A3)') ' Electronic energy: ',ERHF,' au' - write(*,'(A32,1X,F16.10,A3)') ' Nuclear repulsion: ',ENuc,' au' - write(*,'(A32,1X,F16.10,A3)') ' RHF energy: ',ERHF + ENuc,' au' - write(*,'(A50)') '-----------------------------------------' - write(*,'(A32,1X,F16.6,A3)') ' HF HOMO energy: ',eHF(HOMO)*HaToeV,' eV' - write(*,'(A32,1X,F16.6,A3)') ' HF LUMO energy: ',eHF(LUMO)*HaToeV,' eV' - write(*,'(A32,1X,F16.6,A3)') ' HF HOMO-LUMO gap : ',Gap*HaToeV,' eV' - write(*,'(A50)') '-----------------------------------------' - write(*,'(A32,1X,F16.6)') ' S :',2d0*S+ 1d0 - write(*,'(A32,1X,F16.6)') ' :',S2 - write(*,'(A50)') '-----------------------------------------' - write(*,'(A35)') ' Dipole moment (Debye) ' + write(*,'(A50)') '---------------------------------------' + write(*,'(A33)') ' Summary ' + write(*,'(A50)') '---------------------------------------' + write(*,'(A33,1X,F16.10,A3)') ' One-electron energy = ',ET + EV,' au' + write(*,'(A33,1X,F16.10,A3)') ' Kinetic energy = ',ET,' au' + write(*,'(A33,1X,F16.10,A3)') ' Potential energy = ',EV,' au' + write(*,'(A50)') '---------------------------------------' + write(*,'(A33,1X,F16.10,A3)') ' Two-electron energy = ',EJ + EK,' au' + write(*,'(A33,1X,F16.10,A3)') ' Hartree energy = ',EJ,' au' + write(*,'(A33,1X,F16.10,A3)') ' Exchange energy = ',EK,' au' + write(*,'(A50)') '---------------------------------------' + write(*,'(A33,1X,F16.10,A3)') ' Electronic energy = ',ERHF,' au' + write(*,'(A33,1X,F16.10,A3)') ' Nuclear repulsion = ',ENuc,' au' + write(*,'(A33,1X,F16.10,A3)') ' RHF energy = ',ERHF + ENuc,' au' + write(*,'(A50)') '---------------------------------------' + write(*,'(A33,1X,F16.6,A3)') ' HF HOMO energy = ',eHF(HOMO)*HaToeV,' eV' + write(*,'(A33,1X,F16.6,A3)') ' HF LUMO energy = ',eHF(LUMO)*HaToeV,' eV' + write(*,'(A33,1X,F16.6,A3)') ' HF HOMO-LUMO gap = ',Gap*HaToeV,' eV' + write(*,'(A50)') '---------------------------------------' + write(*,'(A33,1X,F16.6)') ' S = ',2d0*S+ 1d0 + write(*,'(A33,1X,F16.6)') ' = ',S2 + write(*,'(A50)') '---------------------------------------' + write(*,'(A36)') ' Dipole moment (Debye) ' write(*,'(10X,4A10)') 'X','Y','Z','Tot.' write(*,'(10X,4F10.4)') (dipole(ixyz)*auToD,ixyz=1,ncart),norm2(dipole)*auToD - write(*,'(A50)') '-----------------------------------------' + write(*,'(A50)') '---------------------------------------' write(*,*) ! Print results if(dump_orb) then write(*,'(A50)') '---------------------------------------' - write(*,'(A32)') ' RHF orbital coefficients' + write(*,'(A50)') ' RHF orbital coefficients' write(*,'(A50)') '---------------------------------------' call matout(nBas,nBas,cHF) write(*,*) end if write(*,'(A50)') '---------------------------------------' - write(*,'(A32)') ' RHF orbital energies' + write(*,'(A50)') ' RHF orbital energies (au) ' write(*,'(A50)') '---------------------------------------' call matout(nBas,1,eHF) write(*,*)