diff --git a/input/basis b/input/basis index 80356bb..0a75001 100644 --- a/input/basis +++ b/input/basis @@ -1,64 +1,7 @@ -1 6 -S 9 -1 9.046000E+03 7.000000E-04 -2 1.357000E+03 5.389000E-03 -3 3.093000E+02 2.740600E-02 -4 8.773000E+01 1.032070E-01 -5 2.856000E+01 2.787230E-01 -6 1.021000E+01 4.485400E-01 -7 3.838000E+00 2.782380E-01 -8 7.466000E-01 1.544000E-02 -9 2.248000E-01 -2.864000E-03 -S 9 -1 9.046000E+03 -1.530000E-04 -2 1.357000E+03 -1.208000E-03 -3 3.093000E+02 -5.992000E-03 -4 8.773000E+01 -2.454400E-02 -5 2.856000E+01 -6.745900E-02 -6 1.021000E+01 -1.580780E-01 -7 3.838000E+00 -1.218310E-01 -8 7.466000E-01 5.490030E-01 -9 2.248000E-01 5.788150E-01 +1 2 +S 3 + 1 38.4216340 0.0237660 + 2 5.7780300 0.1546790 + 3 1.2417740 0.4696300 S 1 -1 2.248000E-01 1.000000E+00 -P 4 -1 1.355000E+01 3.991900E-02 -2 2.917000E+00 2.171690E-01 -3 7.973000E-01 5.103190E-01 -4 2.185000E-01 4.622140E-01 -P 1 -1 2.185000E-01 1.000000E+00 -D 1 -1 8.170000E-01 1.0000000 -2 6 -S 9 -1 9.046000E+03 7.000000E-04 -2 1.357000E+03 5.389000E-03 -3 3.093000E+02 2.740600E-02 -4 8.773000E+01 1.032070E-01 -5 2.856000E+01 2.787230E-01 -6 1.021000E+01 4.485400E-01 -7 3.838000E+00 2.782380E-01 -8 7.466000E-01 1.544000E-02 -9 2.248000E-01 -2.864000E-03 -S 9 -1 9.046000E+03 -1.530000E-04 -2 1.357000E+03 -1.208000E-03 -3 3.093000E+02 -5.992000E-03 -4 8.773000E+01 -2.454400E-02 -5 2.856000E+01 -6.745900E-02 -6 1.021000E+01 -1.580780E-01 -7 3.838000E+00 -1.218310E-01 -8 7.466000E-01 5.490030E-01 -9 2.248000E-01 5.788150E-01 -S 1 -1 2.248000E-01 1.000000E+00 -P 4 -1 1.355000E+01 3.991900E-02 -2 2.917000E+00 2.171690E-01 -3 7.973000E-01 5.103190E-01 -4 2.185000E-01 4.622140E-01 -P 1 -1 2.185000E-01 1.000000E+00 -D 1 -1 8.170000E-01 1.0000000 + 1 0.2979640 1.0000000 diff --git a/input/molecule b/input/molecule index 76ebcdf..c78e87e 100644 --- a/input/molecule +++ b/input/molecule @@ -1,5 +1,4 @@ # nAt nEla nElb nCore nRyd - 2 7 7 0 0 + 1 1 1 0 0 # Znuc x y z - N 0. 0. -1.04008632 - N 0. 0. +1.04008632 + He 0.0 0.0 0.0 diff --git a/input/molecule.xyz b/input/molecule.xyz index e1773f0..797b5fc 100644 --- a/input/molecule.xyz +++ b/input/molecule.xyz @@ -1,4 +1,3 @@ - 2 + 1 - N 0.0000000000 0.0000000000 -0.5503900175 - N 0.0000000000 0.0000000000 0.5503900175 + He 0.0000000000 0.0000000000 0.0000000000 diff --git a/input/options b/input/options index 625c9c8..74d21c1 100644 --- a/input/options +++ b/input/options @@ -5,7 +5,7 @@ # CC: maxSCF thresh DIIS n_diis 64 0.0000001 T 5 # spin: singlet triplet TDA - T T F + T T T # GF: maxSCF thresh DIIS n_diis lin eta renorm 256 0.00001 T 5 T 0.00367493 3 # GW/GT: maxSCF thresh DIIS n_diis lin eta COHSEX SOSEX TDA_W G0W GW0 @@ -13,6 +13,6 @@ # ACFDT: AC Kx XBS F F T # BSE: BSE dBSE dTDA evDyn - T T T F + T T F F # MCMP2: nMC nEq nWalk dt nPrint iSeed doDrift 1000000 100000 10 0.3 10000 1234 T diff --git a/src/QuAcK/BSE2.f90 b/src/QuAcK/BSE2.f90 index 6e65a2d..c698e19 100644 --- a/src/QuAcK/BSE2.f90 +++ b/src/QuAcK/BSE2.f90 @@ -1,4 +1,4 @@ -subroutine BSE2(TDA,dBSE,dTDA,singlet_manifold,triplet_manifold, & +subroutine BSE2(TDA,dBSE,dTDA,evDyn,singlet_manifold,triplet_manifold, & eta,nBas,nC,nO,nV,nR,nS,ERI,eHF,eGF,EcBSE) ! Compute the Bethe-Salpeter excitation energies @@ -11,6 +11,7 @@ subroutine BSE2(TDA,dBSE,dTDA,singlet_manifold,triplet_manifold, & logical,intent(in) :: TDA logical,intent(in) :: dBSE logical,intent(in) :: dTDA + logical,intent(in) :: evDyn logical,intent(in) :: singlet_manifold logical,intent(in) :: triplet_manifold diff --git a/src/QuAcK/G0F2.f90 b/src/QuAcK/G0F2.f90 index 8213ea2..88a41ce 100644 --- a/src/QuAcK/G0F2.f90 +++ b/src/QuAcK/G0F2.f90 @@ -1,4 +1,5 @@ -subroutine G0F2(BSE,TDA,dBSE,dTDA,singlet_manifold,triplet_manifold,linearize,eta,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) +subroutine G0F2(BSE,TDA,dBSE,dTDA,evDyn,singlet_manifold,triplet_manifold, & + linearize,eta,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) ! Perform a one-shot second-order Green function calculation @@ -11,6 +12,7 @@ subroutine G0F2(BSE,TDA,dBSE,dTDA,singlet_manifold,triplet_manifold,linearize,et logical,intent(in) :: TDA logical,intent(in) :: dBSE logical,intent(in) :: dTDA + logical,intent(in) :: evDyn logical,intent(in) :: singlet_manifold logical,intent(in) :: triplet_manifold logical,intent(in) :: linearize @@ -113,7 +115,7 @@ subroutine G0F2(BSE,TDA,dBSE,dTDA,singlet_manifold,triplet_manifold,linearize,et if(BSE) then - call BSE2(TDA,dBSE,dTDA,singlet_manifold,triplet_manifold,eta,nBas,nC,nO,nV,nR,nS,ERI,eHF,eGF2,EcBSE) + call BSE2(TDA,dBSE,dTDA,evDyn,singlet_manifold,triplet_manifold,eta,nBas,nC,nO,nV,nR,nS,ERI,eHF,eGF2,EcBSE) end if diff --git a/src/QuAcK/QuAcK.f90 b/src/QuAcK/QuAcK.f90 index bef4d19..cd0fd8a 100644 --- a/src/QuAcK/QuAcK.f90 +++ b/src/QuAcK/QuAcK.f90 @@ -606,7 +606,7 @@ program QuAcK if(doG0F2) then call cpu_time(start_GF2) - call G0F2(BSE,TDA,dBSE,dTDA,singlet_manifold,triplet_manifold,linGF, & + call G0F2(BSE,TDA,dBSE,dTDA,evDyn,singlet_manifold,triplet_manifold,linGF, & eta_GF,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_MO,eHF) call cpu_time(end_GF2) @@ -623,7 +623,7 @@ program QuAcK if(doevGF2) then call cpu_time(start_GF2) - call evGF2(BSE,TDA,dBSE,dTDA,maxSCF_GF,thresh_GF,n_diis_GF, & + call evGF2(BSE,TDA,dBSE,dTDA,evDyn,maxSCF_GF,thresh_GF,n_diis_GF, & singlet_manifold,triplet_manifold,linGF, & eta_GF,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI_MO,eHF) call cpu_time(end_GF2) diff --git a/src/QuAcK/evGF2.f90 b/src/QuAcK/evGF2.f90 index e5e9a97..d8b6411 100644 --- a/src/QuAcK/evGF2.f90 +++ b/src/QuAcK/evGF2.f90 @@ -1,5 +1,5 @@ -subroutine evGF2(BSE,TDA,dBSE,dTDA,maxSCF,thresh,max_diis,singlet_manifold,triplet_manifold,linearize, & - eta,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) +subroutine evGF2(BSE,TDA,dBSE,dTDA,evDyn,maxSCF,thresh,max_diis,singlet_manifold,triplet_manifold, & + linearize,eta,nBas,nC,nO,nV,nR,nS,ENuc,ERHF,ERI,eHF) ! Perform eigenvalue self-consistent second-order Green function calculation @@ -12,6 +12,7 @@ subroutine evGF2(BSE,TDA,dBSE,dTDA,maxSCF,thresh,max_diis,singlet_manifold,tripl logical,intent(in) :: TDA logical,intent(in) :: dBSE logical,intent(in) :: dTDA + logical,intent(in) :: evDyn integer,intent(in) :: maxSCF double precision,intent(in) :: thresh integer,intent(in) :: max_diis @@ -167,7 +168,7 @@ subroutine evGF2(BSE,TDA,dBSE,dTDA,maxSCF,thresh,max_diis,singlet_manifold,tripl if(BSE) then - call BSE2(TDA,dBSE,dTDA,singlet_manifold,triplet_manifold,eta,nBas,nC,nO,nV,nR,nS,ERI,eHF,eGF2,EcBSE) + call BSE2(TDA,dBSE,dTDA,evDyn,singlet_manifold,triplet_manifold,eta,nBas,nC,nO,nV,nR,nS,ERI,eHF,eGF2,EcBSE) end if