From 193b99a856aa8de516b8b81be58af72283881e06 Mon Sep 17 00:00:00 2001 From: pfloos Date: Thu, 9 Nov 2023 17:22:01 +0100 Subject: [PATCH] more cleanup prints --- input/methods | 4 +- src/GW/GG0W0.f90 | 6 +-- src/GW/UG0W0.f90 | 7 ++-- src/GW/evGGW.f90 | 6 +-- src/GW/evUGW.f90 | 6 +-- src/GW/print_UG0W0.f90 | 16 ++++---- src/GW/print_evUGW.f90 | 24 +++++++----- src/GW/print_qsUGW.f90 | 84 ++++++++++++++++++++++-------------------- src/GW/qsGGW.f90 | 2 +- src/GW/qsUGW.f90 | 6 +-- 10 files changed, 86 insertions(+), 75 deletions(-) diff --git a/input/methods b/input/methods index aabfa18..97c42d5 100644 --- a/input/methods +++ b/input/methods @@ -1,5 +1,5 @@ # RHF UHF GHF ROHF - T F F F + F T 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 T F F F F + F F T F F F # G0T0pp evGTpp qsGTpp G0T0eh evGTeh qsGTeh F F F F F F diff --git a/src/GW/GG0W0.f90 b/src/GW/GG0W0.f90 index f1b574f..baf499b 100644 --- a/src/GW/GG0W0.f90 +++ b/src/GW/GG0W0.f90 @@ -59,9 +59,9 @@ subroutine GG0W0(doACFDT,exchange_kernel,doXBS,dophBSE,dophBSE2,TDA_W,TDA,dBSE,d ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'| One-shot G0W0 calculation |' - write(*,*)'************************************************' + write(*,*)'********************************' + write(*,*)'* Generalized G0W0 Calculation *' + write(*,*)'********************************' write(*,*) ! Initialization diff --git a/src/GW/UG0W0.f90 b/src/GW/UG0W0.f90 index 75463f6..f4d0258 100644 --- a/src/GW/UG0W0.f90 +++ b/src/GW/UG0W0.f90 @@ -65,10 +65,9 @@ subroutine UG0W0(doACFDT,exchange_kernel,doXBS,BSE,TDA_W,TDA,dBSE,dTDA,spin_cons ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'| One-shot G0W0 calculation |' - write(*,*)'| *** Unrestricted version *** |' - write(*,*)'************************************************' + write(*,*)'*********************************' + write(*,*)'* Unrestricted G0W0 Calculation *' + write(*,*)'*********************************' write(*,*) ! Initialization diff --git a/src/GW/evGGW.f90 b/src/GW/evGGW.f90 index 9655791..f1d3312 100644 --- a/src/GW/evGGW.f90 +++ b/src/GW/evGGW.f90 @@ -66,9 +66,9 @@ subroutine evGGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dophBSE,do ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'| Self-consistent evGW calculation |' - write(*,*)'************************************************' + write(*,*)'********************************' + write(*,*)'* Generalized evGW Calculation *' + write(*,*)'********************************' write(*,*) ! TDA for W diff --git a/src/GW/evUGW.f90 b/src/GW/evUGW.f90 index e5ab829..6e8b14d 100644 --- a/src/GW/evUGW.f90 +++ b/src/GW/evUGW.f90 @@ -73,9 +73,9 @@ subroutine evUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,BSE,TDA_W, ! Hello world write(*,*) - write(*,*)'************************************************' - write(*,*)'| Self-consistent evGW calculation |' - write(*,*)'************************************************' + write(*,*)'*********************************' + write(*,*)'| Unrestricted evGW Calculation *' + write(*,*)'*********************************' write(*,*) ! TDA for W diff --git a/src/GW/print_UG0W0.f90 b/src/GW/print_UG0W0.f90 index bc61be4..53ccc63 100644 --- a/src/GW/print_UG0W0.f90 +++ b/src/GW/print_UG0W0.f90 @@ -44,7 +44,7 @@ subroutine print_UG0W0(nBas,nO,eHF,ENuc,EUHF,SigC,Z,eGW,EcRPA,EcGM) write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' write(*,'(A1,A3,A1,A30,A1,A30,A1,A30,A1,A30,A1)') & - '|',' ','|','e_HF ','|','Sig_c ','|','Z ','|','e_QP ','|' + '|',' ','|','e_HF ','|','Sig_GW ','|','Z ','|','e_GW ','|' write(*,'(A1,A3,A1,2A15,A1,2A15,A1,2A15,A1,2A15,A1)') & '|','#','|','up ','dw ','|','up ','dw ','|','up ','dw ','|','up ','dw ','|' write(*,*)'-------------------------------------------------------------------------------& @@ -58,15 +58,15 @@ subroutine print_UG0W0(nBas,nO,eHF,ENuc,EUHF,SigC,Z,eGW,EcRPA,EcGM) write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' - write(*,'(2X,A50,F15.6,A3)') 'UG0W0 HOMO energy:',maxval(HOMO(:))*HaToeV,' eV' - write(*,'(2X,A50,F15.6,A3)') 'UG0W0 LUMO energy:',minval(LUMO(:))*HaToeV,' eV' - write(*,'(2X,A50,F15.6,A3)') 'UG0W0 HOMO-LUMO gap :',(minval(LUMO(:))-maxval(HOMO(:)))*HaToeV,' eV' + write(*,'(2X,A50,F15.6,A3)') 'UG0W0 HOMO energy = ',maxval(HOMO(:))*HaToeV,' eV' + write(*,'(2X,A50,F15.6,A3)') 'UG0W0 LUMO energy = ',minval(LUMO(:))*HaToeV,' eV' + write(*,'(2X,A50,F15.6,A3)') 'UG0W0 HOMO-LUMO gap = ',(minval(LUMO(:))-maxval(HOMO(:)))*HaToeV,' eV' write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' - write(*,'(2X,A50,F15.6,A3)') 'phRPA@UG0W0 total energy :',ENuc + EUHF + EcRPA,' au' - write(*,'(2X,A50,F15.6,A3)') 'phRPA@UG0W0 correlation energy:',EcRPA,' au' - write(*,'(2X,A50,F15.6,A3)') ' GM@UG0W0 total energy :',ENuc + EUHF + sum(EcGM(:)),' au' - write(*,'(2X,A50,F15.6,A3)') ' GM@UG0W0 correlation energy:',sum(EcGM(:)),' au' + write(*,'(2X,A50,F15.6,A3)') 'phRPA@UG0W0 total energy = ',ENuc + EUHF + EcRPA,' au' + write(*,'(2X,A50,F15.6,A3)') 'phRPA@UG0W0 correlation energy = ',EcRPA,' au' + write(*,'(2X,A50,F15.6,A3)') ' GM@UG0W0 total energy = ',ENuc + EUHF + sum(EcGM(:)),' au' + write(*,'(2X,A50,F15.6,A3)') ' GM@UG0W0 correlation energy = ',sum(EcGM(:)),' au' write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' write(*,*) diff --git a/src/GW/print_evUGW.f90 b/src/GW/print_evUGW.f90 index 8130faa..4070408 100644 --- a/src/GW/print_evUGW.f90 +++ b/src/GW/print_evUGW.f90 @@ -42,11 +42,17 @@ subroutine print_evUGW(nBas,nO,nSCF,Conv,eHF,ENuc,EUHF,SigC,Z,eGW,EcRPA,EcGM) write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' - write(*,'(1X,A21,I3,A1,I3,A12)')' Self-consistent evUG',nSCF,'W',nSCF,' calculation' + if(nSCF < 10) then + write(*,'(1X,A22,I1,A1,I1,A12)')' Self-consistent evUG',nSCF,'W',nSCF,' calculation' + elseif(nSCF < 100) then + write(*,'(1X,A22,I2,A1,I2,A12)')' Self-consistent evUG',nSCF,'W',nSCF,' calculation' + else + write(*,'(1X,A22,I3,A1,I3,A12)')' Self-consistent evUG',nSCF,'W',nSCF,' calculation' + end if write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' write(*,'(A1,A3,A1,A30,A1,A30,A1,A30,A1,A30,A1)') & - '|',' ','|','e_HF ','|','Sig_c ','|','Z ','|','e_QP ','|' + '|',' ','|','e_HF ','|','Sig_GW ','|','Z ','|','e_GW ','|' write(*,'(A1,A3,A1,2A15,A1,2A15,A1,2A15,A1,2A15,A1)') & '|','#','|','up ','dw ','|','up ','dw ','|','up ','dw ','|','up ','dw ','|' write(*,*)'-------------------------------------------------------------------------------& @@ -64,15 +70,15 @@ subroutine print_evUGW(nBas,nO,nSCF,Conv,eHF,ENuc,EUHF,SigC,Z,eGW,EcRPA,EcGM) write(*,'(2X,A14,F15.5)')'Convergence = ',Conv write(*,*)'-------------------------------------------------------------------------------& -------------------------------------------------' - write(*,'(2X,A30,F15.6,A3)') 'evUGW HOMO energy:',maxval(HOMO(:))*HaToeV,' eV' - write(*,'(2X,A30,F15.6,A3)') 'evUGW LUMO energy:',minval(LUMO(:))*HaToeV,' eV' - write(*,'(2X,A30,F15.6,A3)') 'evUGW HOMO-LUMO gap :',(minval(LUMO(:))-maxval(HOMO(:)))*HaToeV,' eV' + write(*,'(2X,A30,F15.6,A3)') 'evUGW HOMO energy = ',maxval(HOMO(:))*HaToeV,' eV' + write(*,'(2X,A30,F15.6,A3)') 'evUGW LUMO energy = ',minval(LUMO(:))*HaToeV,' eV' + write(*,'(2X,A30,F15.6,A3)') 'evUGW HOMO-LUMO gap = ',(minval(LUMO(:))-maxval(HOMO(:)))*HaToeV,' eV' write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' - write(*,'(2X,A30,F15.6,A3)') 'RPA@evUGW total energy :',ENuc + EUHF + EcRPA,' au' - write(*,'(2X,A30,F15.6,A3)') 'RPA@evUGW correlation energy:',EcRPA,' au' - write(*,'(2X,A30,F15.6,A3)') ' GM@evUGW total energy :',ENuc + EUHF + sum(EcGM(:)),' au' - write(*,'(2X,A30,F15.6,A3)') ' GM@evUGW correlation energy:',sum(EcGM(:)),' au' + write(*,'(2X,A30,F15.6,A3)') 'RPA@evUGW total energy = ',ENuc + EUHF + EcRPA,' au' + write(*,'(2X,A30,F15.6,A3)') 'RPA@evUGW correlation energy = ',EcRPA,' au' + write(*,'(2X,A30,F15.6,A3)') ' GM@evUGW total energy = ',ENuc + EUHF + sum(EcGM(:)),' au' + write(*,'(2X,A30,F15.6,A3)') ' GM@evUGW correlation energy = ',sum(EcGM(:)),' au' write(*,*)'-------------------------------------------------------------------------------& -------------------------------------------------' write(*,*) diff --git a/src/GW/print_qsUGW.f90 b/src/GW/print_qsUGW.f90 index 0ad207a..11a85c8 100644 --- a/src/GW/print_qsUGW.f90 +++ b/src/GW/print_qsUGW.f90 @@ -65,11 +65,17 @@ subroutine print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,cGW,Ov, & write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' - write(*,'(1X,A21,I3,A1,I3,A12)')' Self-consistent qsUG',nSCF,'W',nSCF,' calculation' + if(nSCF < 10) then + write(*,'(1X,A22,I1,A1,I1,A12)')' Self-consistent qsUG',nSCF,'W',nSCF,' calculation' + elseif(nSCF < 100) then + write(*,'(1X,A22,I2,A1,I2,A12)')' Self-consistent qsUG',nSCF,'W',nSCF,' calculation' + else + write(*,'(1X,A22,I3,A1,I3,A12)')' Self-consistent qsUG',nSCF,'W',nSCF,' calculation' + end if write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' write(*,'(A1,A3,A1,A30,A1,A30,A1,A30,A1,A30,A1)') & - '|',' ','|','e_HF ','|','Sig_c ','|','Z ','|','e_QP ','|' + '|',' ','|','e_HF ','|','Sig_GW ','|','Z ','|','e_GW ','|' write(*,'(A1,A3,A1,2A15,A1,2A15,A1,2A15,A1,2A15,A1)') & '|','#','|','up ','dw ','|','up ','dw ','|','up ','dw ','|','up ','dw ','|' write(*,*)'-------------------------------------------------------------------------------& @@ -87,15 +93,15 @@ subroutine print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,cGW,Ov, & write(*,'(2X,A14,F15.5)')'Convergence = ',Conv write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' - write(*,'(2X,A30,F15.6,A3)') 'qsUGW HOMO energy:',maxval(HOMO(:))*HaToeV,' eV' - write(*,'(2X,A30,F15.6,A3)') 'qsUGW LUMO energy:',minval(LUMO(:))*HaToeV,' eV' - write(*,'(2X,A30,F15.6,A3)') 'qsUGW HOMO-LUMO gap :',(minval(LUMO(:))-maxval(HOMO(:)))*HaToeV,' eV' + write(*,'(2X,A30,F15.6,A3)') 'qsUGW HOMO energy = ',maxval(HOMO(:))*HaToeV,' eV' + write(*,'(2X,A30,F15.6,A3)') 'qsUGW LUMO energy = ',minval(LUMO(:))*HaToeV,' eV' + write(*,'(2X,A30,F15.6,A3)') 'qsUGW HOMO-LUMO gap = ',(minval(LUMO(:))-maxval(HOMO(:)))*HaToeV,' eV' write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' - write(*,'(2X,A30,F15.6,A3)') ' qsUGW total energy:',ENuc + EqsGW,' au' - write(*,'(2X,A30,F15.6,A3)') ' qsUGW exchange energy:',sum(Ex(:)),' au' - write(*,'(2X,A30,F15.6,A3)') ' GM@qsUGW correlation energy:',sum(EcGM(:)),' au' - write(*,'(2X,A30,F15.6,A3)') 'RPA@qsUGW correlation energy:',EcRPA,' au' + write(*,'(2X,A30,F15.6,A3)') ' qsUGW total energy = ',ENuc + EqsGW,' au' + write(*,'(2X,A30,F15.6,A3)') ' qsUGW exchange energy = ',sum(Ex(:)),' au' + write(*,'(2X,A30,F15.6,A3)') ' GM@qsUGW correlation energy = ',sum(EcGM(:)),' au' + write(*,'(2X,A30,F15.6,A3)') 'RPA@qsUGW correlation energy = ',EcRPA,' au' write(*,*)'-------------------------------------------------------------------------------& ------------------------------------------------' write(*,*) @@ -108,44 +114,44 @@ subroutine print_qsUGW(nBas,nO,nSCF,Conv,thresh,eHF,eGW,cGW,Ov, & write(*,'(A60)') '-------------------------------------------------' write(*,'(A40)') ' Summary ' write(*,'(A60)') '-------------------------------------------------' - write(*,'(A40,1X,F16.10,A3)') ' One-electron energy: ',sum(ET(:)) + sum(EV(:)),' au' - write(*,'(A40,1X,F16.10,A3)') ' One-electron a energy: ',ET(1) + EV(1),' au' - write(*,'(A40,1X,F16.10,A3)') ' One-electron b energy: ',ET(2) + EV(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' One-electron energy = ',sum(ET(:)) + sum(EV(:)),' au' + write(*,'(A40,1X,F16.10,A3)') ' One-electron a energy = ',ET(1) + EV(1),' au' + write(*,'(A40,1X,F16.10,A3)') ' One-electron b energy = ',ET(2) + EV(2),' au' write(*,*) - write(*,'(A40,1X,F16.10,A3)') ' Kinetic energy: ',sum(ET(:)),' au' - write(*,'(A40,1X,F16.10,A3)') ' Kinetic a energy: ',ET(1),' au' - write(*,'(A40,1X,F16.10,A3)') ' Kinetic b energy: ',ET(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' Kinetic energy = ',sum(ET(:)),' au' + write(*,'(A40,1X,F16.10,A3)') ' Kinetic a energy = ',ET(1),' au' + write(*,'(A40,1X,F16.10,A3)') ' Kinetic b energy = ',ET(2),' au' write(*,*) - write(*,'(A40,1X,F16.10,A3)') ' Potential energy: ',sum(EV(:)),' au' - write(*,'(A40,1X,F16.10,A3)') ' Potential a energy: ',EV(1),' au' - write(*,'(A40,1X,F16.10,A3)') ' Potential b energy: ',EV(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' Potential energy = ',sum(EV(:)),' au' + write(*,'(A40,1X,F16.10,A3)') ' Potential a energy = ',EV(1),' au' + write(*,'(A40,1X,F16.10,A3)') ' Potential b energy = ',EV(2),' au' write(*,'(A60)') '-------------------------------------------------' - write(*,'(A40,1X,F16.10,A3)') ' Two-electron energy: ',sum(EJ(:)) + sum(Ex(:)),' au' - write(*,'(A40,1X,F16.10,A3)') ' Two-electron aa energy: ',EJ(1) + Ex(1),' au' - write(*,'(A40,1X,F16.10,A3)') ' Two-electron ab energy: ',EJ(2),' au' - write(*,'(A40,1X,F16.10,A3)') ' Two-electron bb energy: ',EJ(3) + Ex(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' Two-electron energy = ',sum(EJ(:)) + sum(Ex(:)),' au' + write(*,'(A40,1X,F16.10,A3)') ' Two-electron aa energy = ',EJ(1) + Ex(1),' au' + write(*,'(A40,1X,F16.10,A3)') ' Two-electron ab energy = ',EJ(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' Two-electron bb energy = ',EJ(3) + Ex(2),' au' write(*,*) - write(*,'(A40,1X,F16.10,A3)') ' Hartree energy: ',sum(EJ(:)),' au' - write(*,'(A40,1X,F16.10,A3)') ' Hartree aa energy: ',EJ(1),' au' - write(*,'(A40,1X,F16.10,A3)') ' Hartree ab energy: ',EJ(2),' au' - write(*,'(A40,1X,F16.10,A3)') ' Hartree bb energy: ',EJ(3),' au' + write(*,'(A40,1X,F16.10,A3)') ' Hartree energy = ',sum(EJ(:)),' au' + write(*,'(A40,1X,F16.10,A3)') ' Hartree aa energy = ',EJ(1),' au' + write(*,'(A40,1X,F16.10,A3)') ' Hartree ab energy = ',EJ(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' Hartree bb energy = ',EJ(3),' au' write(*,*) - write(*,'(A40,1X,F16.10,A3)') ' Exchange energy: ',sum(Ex(:)),' au' - write(*,'(A40,1X,F16.10,A3)') ' Exchange a energy: ',Ex(1),' au' - write(*,'(A40,1X,F16.10,A3)') ' Exchange b energy: ',Ex(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' Exchange energy = ',sum(Ex(:)),' au' + write(*,'(A40,1X,F16.10,A3)') ' Exchange a energy = ',Ex(1),' au' + write(*,'(A40,1X,F16.10,A3)') ' Exchange b energy = ',Ex(2),' au' write(*,*) - write(*,'(A40,1X,F16.10,A3)') ' Correlation energy: ',sum(EcGM(:)),' au' - write(*,'(A40,1X,F16.10,A3)') ' Correlation aa energy: ',EcGM(1),' au' - write(*,'(A40,1X,F16.10,A3)') ' Correlation bb energy: ',EcGM(2),' au' + write(*,'(A40,1X,F16.10,A3)') ' Correlation energy = ',sum(EcGM(:)),' au' + write(*,'(A40,1X,F16.10,A3)') ' Correlation aa energy = ',EcGM(1),' au' + write(*,'(A40,1X,F16.10,A3)') ' Correlation bb energy = ',EcGM(2),' au' write(*,'(A60)') '-------------------------------------------------' - write(*,'(A40,1X,F16.10,A3)') ' Electronic energy: ',EqsGW,' au' - write(*,'(A40,1X,F16.10,A3)') ' Nuclear repulsion: ',ENuc,' au' - write(*,'(A40,1X,F16.10,A3)') ' qsUGW energy: ',ENuc + EqsGW,' au' + write(*,'(A40,1X,F16.10,A3)') ' Electronic energy = ',EqsGW,' au' + write(*,'(A40,1X,F16.10,A3)') ' Nuclear repulsion = ',ENuc,' au' + write(*,'(A40,1X,F16.10,A3)') ' qsUGW energy = ',ENuc + EqsGW,' au' write(*,'(A60)') '-------------------------------------------------' - write(*,'(A40,F13.6)') ' S (exact) :',2d0*S_exact + 1d0 - write(*,'(A40,F13.6)') ' S :',2d0*S + 1d0 - write(*,'(A40,F13.6)') ' (exact) :',S2_exact - write(*,'(A40,F13.6)') ' :',S2 + write(*,'(A40,F13.6)') ' S (exact) = ',2d0*S_exact + 1d0 + write(*,'(A40,F13.6)') ' S = ',2d0*S + 1d0 + write(*,'(A40,F13.6)') ' (exact) = ',S2_exact + write(*,'(A40,F13.6)') ' = ',S2 write(*,'(A60)') '-------------------------------------------------' write(*,'(A45)') ' Dipole moment (Debye) ' write(*,'(19X,4A10)') 'X','Y','Z','Tot.' diff --git a/src/GW/qsGGW.f90 b/src/GW/qsGGW.f90 index 2404dd2..7849ce0 100644 --- a/src/GW/qsGGW.f90 +++ b/src/GW/qsGGW.f90 @@ -108,7 +108,7 @@ subroutine qsGGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,dophBSE,do write(*,*) write(*,*)'********************************' - write(*,*)'| Generalized qsGW Calculation |' + write(*,*)'* Generalized qsGW Calculation *' write(*,*)'********************************' write(*,*) diff --git a/src/GW/qsUGW.f90 b/src/GW/qsUGW.f90 index 8b53e7c..2c4b901 100644 --- a/src/GW/qsUGW.f90 +++ b/src/GW/qsUGW.f90 @@ -101,9 +101,9 @@ subroutine qsUGW(maxSCF,thresh,max_diis,doACFDT,exchange_kernel,doXBS,BSE,TDA_W, ! Hello world write(*,*) - write(*,*)'*************************************************' - write(*,*)'| Self-consistent unrestricted qsGW calculation |' - write(*,*)'*************************************************' + write(*,*)'*********************************' + write(*,*)'* Unrestricted qsGW Calculation *' + write(*,*)'*********************************' write(*,*) ! Warning