10
1
mirror of https://github.com/pfloos/quack synced 2024-12-22 20:34:46 +01:00
This commit is contained in:
Pierre-Francois Loos 2020-06-14 15:09:33 +02:00
parent b823bbcac7
commit f227247f42
4 changed files with 72 additions and 69 deletions

View File

@ -1,64 +1,71 @@
1 6 1 9
S 9 S 8
1 9.046000E+03 7.000000E-04 1 9046.0000000 0.0007000
2 1.357000E+03 5.389000E-03 2 1357.0000000 0.0053890
3 3.093000E+02 2.740600E-02 3 309.3000000 0.0274060
4 8.773000E+01 1.032070E-01 4 87.7300000 0.1032070
5 2.856000E+01 2.787230E-01 5 28.5600000 0.2787230
6 1.021000E+01 4.485400E-01 6 10.2100000 0.4485400
7 3.838000E+00 2.782380E-01 7 3.8380000 0.2782380
8 7.466000E-01 1.544000E-02 8 0.7466000 0.0154400
9 2.248000E-01 -2.864000E-03 S 8
S 9 1 9046.0000000 -0.0001530
1 9.046000E+03 -1.530000E-04 2 1357.0000000 -0.0012080
2 1.357000E+03 -1.208000E-03 3 309.3000000 -0.0059920
3 3.093000E+02 -5.992000E-03 4 87.7300000 -0.0245440
4 8.773000E+01 -2.454400E-02 5 28.5600000 -0.0674590
5 2.856000E+01 -6.745900E-02 6 10.2100000 -0.1580780
6 1.021000E+01 -1.580780E-01 7 3.8380000 -0.1218310
7 3.838000E+00 -1.218310E-01 8 0.7466000 0.5490030
8 7.466000E-01 5.490030E-01
9 2.248000E-01 5.788150E-01
S 1 S 1
1 2.248000E-01 1.000000E+00 1 0.2248000 1.0000000
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 S 1
1 2.248000E-01 1.000000E+00 1 0.0612400 1.0000000
P 4 P 3
1 1.355000E+01 3.991900E-02 1 13.5500000 0.0399190
2 2.917000E+00 2.171690E-01 2 2.9170000 0.2171690
3 7.973000E-01 5.103190E-01 3 0.7973000 0.5103190
4 2.185000E-01 4.622140E-01
P 1 P 1
1 2.185000E-01 1.000000E+00 1 0.2185000 1.0000000
P 1
1 0.0561100 1.0000000
D 1 D 1
1 8.170000E-01 1.0000000 1 0.8170000 1.0000000
D 1
1 0.2300000 1.0000000
2 9
S 8
1 9046.0000000 0.0007000
2 1357.0000000 0.0053890
3 309.3000000 0.0274060
4 87.7300000 0.1032070
5 28.5600000 0.2787230
6 10.2100000 0.4485400
7 3.8380000 0.2782380
8 0.7466000 0.0154400
S 8
1 9046.0000000 -0.0001530
2 1357.0000000 -0.0012080
3 309.3000000 -0.0059920
4 87.7300000 -0.0245440
5 28.5600000 -0.0674590
6 10.2100000 -0.1580780
7 3.8380000 -0.1218310
8 0.7466000 0.5490030
S 1
1 0.2248000 1.0000000
S 1
1 0.0612400 1.0000000
P 3
1 13.5500000 0.0399190
2 2.9170000 0.2171690
3 0.7973000 0.5103190
P 1
1 0.2185000 1.0000000
P 1
1 0.0561100 1.0000000
D 1
1 0.8170000 1.0000000
D 1
1 0.2300000 1.0000000

View File

@ -27,7 +27,7 @@ subroutine Bethe_Salpeter(TDA_W,TDA,dTDA,singlet_manifold,triplet_manifold,eta,
! Local variables ! Local variables
logical :: evDyn = .false. logical :: evDyn = .true.
logical :: W_BSE = .false. logical :: W_BSE = .false.
integer :: ispin integer :: ispin
integer :: isp_W integer :: isp_W

View File

@ -79,9 +79,6 @@ subroutine Bethe_Salpeter_dynamic_perturbation(TDA,dTDA,eta,nBas,nC,nO,nV,nR,nS,
X(:) = 0.5d0*(XpY(ia,:) + XmY(ia,:)) X(:) = 0.5d0*(XpY(ia,:) + XmY(ia,:))
Y(:) = 0.5d0*(XpY(ia,:) - XmY(ia,:)) Y(:) = 0.5d0*(XpY(ia,:) - XmY(ia,:))
! call matout(nS,1,X)
! call matout(nS,1,Y)
! First-order correction ! First-order correction
if(dTDA) then if(dTDA) then

View File

@ -73,6 +73,7 @@ subroutine Bethe_Salpeter_dynamic_perturbation_iterative(TDA,dTDA,eta,nBas,nC,nO
write(*,*) ' First-order dynamical correction to static Bethe-Salpeter excitation energies ' write(*,*) ' First-order dynamical correction to static Bethe-Salpeter excitation energies '
write(*,*) '---------------------------------------------------------------------------------------------------' write(*,*) '---------------------------------------------------------------------------------------------------'
write(*,'(A57,F10.6,A3)') ' BSE neutral excitation must be lower than the GW gap = ',gapGW*HaToeV,' eV' write(*,'(A57,F10.6,A3)') ' BSE neutral excitation must be lower than the GW gap = ',gapGW*HaToeV,' eV'
write(*,*) '---------------------------------------------------------------------------------------------------'
write(*,*) write(*,*)
do while(Conv > thresh .and. nSCF < maxSCF) do while(Conv > thresh .and. nSCF < maxSCF)
@ -82,7 +83,7 @@ subroutine Bethe_Salpeter_dynamic_perturbation_iterative(TDA,dTDA,eta,nBas,nC,nO
write(*,*) '---------------------------------------------------------------------------------------------------' write(*,*) '---------------------------------------------------------------------------------------------------'
write(*,'(2X,A15,I3)') 'Iteration n.',nSCF write(*,'(2X,A15,I3)') 'Iteration n.',nSCF
write(*,*) '---------------------------------------------------------------------------------------------------' write(*,*) '---------------------------------------------------------------------------------------------------'
write(*,'(2X,A5,1X,A20,1X,A20,1X,A20)') '#','Static (eV)','Dynamic (eV)','Correction (eV)' write(*,'(2X,A5,1X,A20,1X,A20,1X,A20,A20)') '#','Static (eV)','Dynamic (eV)','Correction (eV)','Convergence (eV)'
write(*,*) '---------------------------------------------------------------------------------------------------' write(*,*) '---------------------------------------------------------------------------------------------------'
do ia=1,min(nS,maxS) do ia=1,min(nS,maxS)
@ -116,10 +117,8 @@ subroutine Bethe_Salpeter_dynamic_perturbation_iterative(TDA,dTDA,eta,nBas,nC,nO
end if end if
write(*,'(2X,I5,5X,F15.6,5X,F15.6,5X,F15.6)') & write(*,'(2X,I5,5X,F15.6,5X,F15.6,5X,F15.6,5X,F15.6)') &
ia,OmBSE(ia)*HaToeV,(OmBSE(ia)+OmDyn(ia))*HaToeV,OmDyn(ia)*HaToeV ia,OmBSE(ia)*HaToeV,(OmBSE(ia)+OmDyn(ia))*HaToeV,OmDyn(ia)*HaToeV,(OmBSE(ia) + OmDyn(ia) - OmOld(ia))*HaToeV
if(OmBSE(ia) > gapGW) write(*,*) ' !!! BSE neutral excitation larger than the GW gap !!! '
end do end do