mirror of
https://github.com/pfloos/quack
synced 2025-01-03 10:05:49 +01:00
remove GIC print
This commit is contained in:
parent
4587d3ff5c
commit
ca2186bc6f
48
input/basis
48
input/basis
@ -1,27 +1,43 @@
|
|||||||
1 5
|
1 9
|
||||||
S 3
|
S 3
|
||||||
1 13.0100000 0.0196850
|
1 33.8700000 0.0060680
|
||||||
2 1.9620000 0.1379770
|
2 5.0950000 0.0453080
|
||||||
3 0.4446000 0.4781480
|
3 1.1590000 0.2028220
|
||||||
S 1
|
S 1
|
||||||
1 0.1220000 1.0000000
|
1 0.3258000 1.0000000
|
||||||
S 1
|
S 1
|
||||||
1 0.0297400 1.0000000
|
1 0.1027000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.0252600 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.7270000 1.0000000
|
1 1.4070000 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.1410000 1.0000000
|
1 0.3880000 1.0000000
|
||||||
2 5
|
P 1
|
||||||
|
1 0.1020000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 1.0570000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 0.2470000 1.0000000
|
||||||
|
2 9
|
||||||
S 3
|
S 3
|
||||||
1 13.0100000 0.0196850
|
1 33.8700000 0.0060680
|
||||||
2 1.9620000 0.1379770
|
2 5.0950000 0.0453080
|
||||||
3 0.4446000 0.4781480
|
3 1.1590000 0.2028220
|
||||||
S 1
|
S 1
|
||||||
1 0.1220000 1.0000000
|
1 0.3258000 1.0000000
|
||||||
S 1
|
S 1
|
||||||
1 0.0297400 1.0000000
|
1 0.1027000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.0252600 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.7270000 1.0000000
|
1 1.4070000 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.1410000 1.0000000
|
1 0.3880000 1.0000000
|
||||||
|
P 1
|
||||||
|
1 0.1020000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 1.0570000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 0.2470000 1.0000000
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
# GGA = 2: RB88
|
# GGA = 2: RB88
|
||||||
# Hybrid = 4
|
# Hybrid = 4
|
||||||
# Hartree-Fock = 666
|
# Hartree-Fock = 666
|
||||||
1 RGIC
|
666 HF
|
||||||
# correlation rung:
|
# correlation rung:
|
||||||
# Hartree = 0
|
# Hartree = 0
|
||||||
# LDA = 1: RVWN5,RMFL20
|
# LDA = 1: RVWN5,RMFL20
|
||||||
@ -19,6 +19,6 @@
|
|||||||
# Number of states in ensemble (nEns)
|
# Number of states in ensemble (nEns)
|
||||||
2
|
2
|
||||||
# Ensemble weights: wEns(1),...,wEns(nEns-1)
|
# Ensemble weights: wEns(1),...,wEns(nEns-1)
|
||||||
0.5
|
1.0
|
||||||
# GOK-DFT: maxSCF thresh DIIS n_diis guess_type ortho_type
|
# GOK-DFT: maxSCF thresh DIIS n_diis guess_type ortho_type
|
||||||
32 0.00001 T 5 1 1
|
32 0.00001 T 5 1 1
|
||||||
|
48
input/weight
48
input/weight
@ -1,27 +1,43 @@
|
|||||||
1 5
|
1 9
|
||||||
S 3
|
S 3
|
||||||
1 13.0100000 0.0196850
|
1 33.8700000 0.0060680
|
||||||
2 1.9620000 0.1379770
|
2 5.0950000 0.0453080
|
||||||
3 0.4446000 0.4781480
|
3 1.1590000 0.2028220
|
||||||
S 1
|
S 1
|
||||||
1 0.1220000 1.0000000
|
1 0.3258000 1.0000000
|
||||||
S 1
|
S 1
|
||||||
1 0.0297400 1.0000000
|
1 0.1027000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.0252600 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.7270000 1.0000000
|
1 1.4070000 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.1410000 1.0000000
|
1 0.3880000 1.0000000
|
||||||
2 5
|
P 1
|
||||||
|
1 0.1020000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 1.0570000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 0.2470000 1.0000000
|
||||||
|
2 9
|
||||||
S 3
|
S 3
|
||||||
1 13.0100000 0.0196850
|
1 33.8700000 0.0060680
|
||||||
2 1.9620000 0.1379770
|
2 5.0950000 0.0453080
|
||||||
3 0.4446000 0.4781480
|
3 1.1590000 0.2028220
|
||||||
S 1
|
S 1
|
||||||
1 0.1220000 1.0000000
|
1 0.3258000 1.0000000
|
||||||
S 1
|
S 1
|
||||||
1 0.0297400 1.0000000
|
1 0.1027000 1.0000000
|
||||||
|
S 1
|
||||||
|
1 0.0252600 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.7270000 1.0000000
|
1 1.4070000 1.0000000
|
||||||
P 1
|
P 1
|
||||||
1 0.1410000 1.0000000
|
1 0.3880000 1.0000000
|
||||||
|
P 1
|
||||||
|
1 0.1020000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 1.0570000 1.0000000
|
||||||
|
D 1
|
||||||
|
1 0.2470000 1.0000000
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine GOK_RKS(restart,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight,maxSCF,thresh, &
|
subroutine GOK_RKS(restart,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight,maxSCF,thresh, &
|
||||||
max_diis,guess_type,nBas,AO,dAO,nO,nV,S,T,V,Hc,ERI,X,ENuc,Ew,EwGIC,c)
|
max_diis,guess_type,nBas,AO,dAO,nO,nV,S,T,V,Hc,ERI,X,ENuc,Ew,c)
|
||||||
|
|
||||||
! Perform restricted Kohn-Sham calculation for ensembles
|
! Perform restricted Kohn-Sham calculation for ensembles
|
||||||
|
|
||||||
@ -80,7 +80,6 @@ subroutine GOK_RKS(restart,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGri
|
|||||||
! Output variables
|
! Output variables
|
||||||
|
|
||||||
double precision,intent(out) :: Ew
|
double precision,intent(out) :: Ew
|
||||||
double precision,intent(out) :: EwGIC
|
|
||||||
|
|
||||||
! Hello world
|
! Hello world
|
||||||
|
|
||||||
@ -343,6 +342,6 @@ subroutine GOK_RKS(restart,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGri
|
|||||||
|
|
||||||
call restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns(:),nGrid,weight(:), &
|
call restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns(:),nGrid,weight(:), &
|
||||||
nBas,nO,nV,T(:,:),V(:,:),ERI(:,:,:,:),ENuc,eps(:),Pw(:,:),rhow(:),drhow(:,:), &
|
nBas,nO,nV,T(:,:),V(:,:),ERI(:,:,:,:),ENuc,eps(:),Pw(:,:),rhow(:),drhow(:,:), &
|
||||||
J(:,:),P(:,:,:),rho(:,:),drho(:,:,:),Ew,EwGIC,E(:),Om(:))
|
J(:,:),P(:,:,:),rho(:,:),drho(:,:,:),Ew,E(:),Om(:))
|
||||||
|
|
||||||
end subroutine GOK_RKS
|
end subroutine GOK_RKS
|
||||||
|
@ -35,10 +35,10 @@ subroutine LIM_RKS(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight
|
|||||||
! Local variables
|
! Local variables
|
||||||
|
|
||||||
integer :: iEns
|
integer :: iEns
|
||||||
double precision :: EwZW,EwGICZW
|
double precision :: EwZW
|
||||||
double precision :: EwEW,EwGICEW
|
double precision :: EwEW
|
||||||
double precision :: wLIM(nEns)
|
double precision :: wLIM(nEns)
|
||||||
double precision :: Om(nEns),OmGIC(nEns)
|
double precision :: Om(nEns)
|
||||||
|
|
||||||
! Hello world
|
! Hello world
|
||||||
|
|
||||||
@ -67,7 +67,7 @@ subroutine LIM_RKS(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight
|
|||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
call GOK_RKS(.false.,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wLIM,nGrid,weight,maxSCF,thresh, &
|
call GOK_RKS(.false.,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wLIM,nGrid,weight,maxSCF,thresh, &
|
||||||
max_diis,guess_type,nBas,AO,dAO,nO,nV,S,T,V,Hc,ERI,X,ENuc,EwZW,EwGICZW,c)
|
max_diis,guess_type,nBas,AO,dAO,nO,nV,S,T,V,Hc,ERI,X,ENuc,EwZW,c)
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Equiensemble calculation
|
! Equiensemble calculation
|
||||||
@ -84,20 +84,15 @@ subroutine LIM_RKS(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight
|
|||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
call GOK_RKS(.true.,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight,maxSCF,thresh, &
|
call GOK_RKS(.true.,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight,maxSCF,thresh, &
|
||||||
max_diis,guess_type,nBas,AO,dAO,nO,nV,S,T,V,Hc,ERI,X,ENuc,EwEW,EwGICEW,c)
|
max_diis,guess_type,nBas,AO,dAO,nO,nV,S,T,V,Hc,ERI,X,ENuc,EwEW,c)
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! LIM excitation energies
|
! LIM excitation energies
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
|
|
||||||
Om(1) = 0d0
|
Om(:) = 0d0
|
||||||
OmGIC(1) = 0d0
|
|
||||||
|
|
||||||
Om(2) = 0d0
|
|
||||||
OmGIC(2) = 0d0
|
|
||||||
if(wEns(2) > 10d-3) then
|
if(wEns(2) > 10d-3) then
|
||||||
Om(2) = (EwEW - EwZW)/wEns(2)
|
Om(2) = (EwEW - EwZW)/wEns(2)
|
||||||
OmGIC(2) = (EwGICEW - EwGICZW)/wEns(2)
|
|
||||||
end if
|
end if
|
||||||
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
@ -105,20 +100,12 @@ subroutine LIM_RKS(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight
|
|||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
|
|
||||||
write(*,'(A44,F16.10,A3)') ' Zero-weight ensemble energy',EwZW, ' au'
|
write(*,'(A44,F16.10,A3)') ' Zero-weight ensemble energy',EwZW, ' au'
|
||||||
write(*,'(A44,F16.10,A3)') ' Zero-weight GIC ensemble energy',EwGICZW,' au'
|
|
||||||
write(*,*)
|
|
||||||
write(*,'(A44,F16.10,A3)') ' Equi-weight ensemble energy',EwEW, ' au'
|
write(*,'(A44,F16.10,A3)') ' Equi-weight ensemble energy',EwEW, ' au'
|
||||||
write(*,'(A44,F16.10,A3)') ' Equi-weight GIC ensemble energy',EwGICEW, ' au'
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
do iEns=2,nEns
|
do iEns=2,nEns
|
||||||
write(*,'(A40,I2,A2,F16.10,A3)') ' Excitation energy 1 ->',iEns,': ',Om(iEns), ' au'
|
write(*,'(A40,I2,A2,F16.10,A3)') ' Excitation energy 1 ->',iEns,': ',Om(iEns), ' au'
|
||||||
write(*,'(A40,I2,A2,F16.10,A3)') ' Excitation energy 1 ->',iEns,': ',Om(iEns)*HaToeV,' eV'
|
write(*,'(A40,I2,A2,F16.10,A3)') ' Excitation energy 1 ->',iEns,': ',Om(iEns)*HaToeV,' eV'
|
||||||
end do
|
end do
|
||||||
write(*,*)
|
|
||||||
do iEns=2,nEns
|
|
||||||
write(*,'(A40,I2,A2,F16.10,A3)') ' GIC Excitation energy 1 ->',iEns,': ',OmGIC(iEns), ' au'
|
|
||||||
write(*,'(A40,I2,A2,F16.10,A3)') ' GIC Excitation energy 1 ->',iEns,': ',OmGIC(iEns)*HaToeV,' eV'
|
|
||||||
end do
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,15 +43,15 @@ subroutine RGIC_lda_exchange_derivative_discontinuity(nEns,wEns,nGrid,weight,rho
|
|||||||
|
|
||||||
! Parameters for stretch H2
|
! Parameters for stretch H2
|
||||||
|
|
||||||
a = + 0.01922622507087411d0
|
! a = + 0.01922622507087411d0
|
||||||
b = - 0.01799647558018601d0
|
! b = - 0.01799647558018601d0
|
||||||
c = - 0.022945430666782573d0
|
! c = - 0.022945430666782573d0
|
||||||
|
|
||||||
! Parameters for He
|
! Parameters for He
|
||||||
|
|
||||||
! a = 1.9125735895875828d0
|
a = 1.9125735895875828d0
|
||||||
! b = 2.715266992840757d0
|
b = 2.715266992840757d0
|
||||||
! c = 2.1634223380633086d0
|
c = 2.1634223380633086d0
|
||||||
|
|
||||||
w = wEns(2)
|
w = wEns(2)
|
||||||
dCxGICdw = (0.5d0*b + (2d0*a + 0.5d0*c)*(w - 0.5d0) - (1d0 - w)*w*(3d0*b + 4d0*c*(w - 0.5d0)))
|
dCxGICdw = (0.5d0*b + (2d0*a + 0.5d0*c)*(w - 0.5d0) - (1d0 - w)*w*(3d0*b + 4d0*c*(w - 0.5d0)))
|
||||||
|
@ -35,15 +35,15 @@ subroutine RGIC_lda_exchange_energy(nEns,wEns,nGrid,weight,rho,Ex)
|
|||||||
|
|
||||||
! Parameters for stretch H2
|
! Parameters for stretch H2
|
||||||
|
|
||||||
a = + 0.01922622507087411d0
|
! a = + 0.01922622507087411d0
|
||||||
b = - 0.01799647558018601d0
|
! b = - 0.01799647558018601d0
|
||||||
c = - 0.022945430666782573d0
|
! c = - 0.022945430666782573d0
|
||||||
|
|
||||||
! Parameters for He
|
! Parameters for He
|
||||||
|
|
||||||
! a = 1.9125735895875828d0
|
a = 1.9125735895875828d0
|
||||||
! b = 2.715266992840757d0
|
b = 2.715266992840757d0
|
||||||
! c = 2.1634223380633086d0
|
c = 2.1634223380633086d0
|
||||||
|
|
||||||
w = wEns(2)
|
w = wEns(2)
|
||||||
CxGIC = 1d0 - w*(1d0 - w)*(a + b*(w - 0.5d0) + c*(w - 0.5d0)**2)
|
CxGIC = 1d0 - w*(1d0 - w)*(a + b*(w - 0.5d0) + c*(w - 0.5d0)**2)
|
||||||
|
@ -38,15 +38,15 @@ subroutine RGIC_lda_exchange_individual_energy(nEns,wEns,nGrid,weight,rhow,rho,E
|
|||||||
|
|
||||||
! Parameters for stretch H2
|
! Parameters for stretch H2
|
||||||
|
|
||||||
a = + 0.01922622507087411d0
|
! a = + 0.01922622507087411d0
|
||||||
b = - 0.01799647558018601d0
|
! b = - 0.01799647558018601d0
|
||||||
c = - 0.022945430666782573d0
|
! c = - 0.022945430666782573d0
|
||||||
|
|
||||||
! Parameters for He
|
! Parameters for He
|
||||||
|
|
||||||
! a = 1.9125735895875828d0
|
a = 1.9125735895875828d0
|
||||||
! b = 2.715266992840757d0
|
b = 2.715266992840757d0
|
||||||
! c = 2.1634223380633086d0
|
c = 2.1634223380633086d0
|
||||||
|
|
||||||
w = wEns(2)
|
w = wEns(2)
|
||||||
CxGIC = 1d0 - w*(1d0 - w)*(a + b*(w - 0.5d0) + c*(w - 0.5d0)**2)
|
CxGIC = 1d0 - w*(1d0 - w)*(a + b*(w - 0.5d0) + c*(w - 0.5d0)**2)
|
||||||
|
@ -38,15 +38,15 @@ subroutine RGIC_lda_exchange_potential(nEns,wEns,nGrid,weight,nBas,AO,rho,Fx)
|
|||||||
|
|
||||||
! Parameters for stretch H2
|
! Parameters for stretch H2
|
||||||
|
|
||||||
a = + 0.01922622507087411d0
|
! a = + 0.01922622507087411d0
|
||||||
b = - 0.01799647558018601d0
|
! b = - 0.01799647558018601d0
|
||||||
c = - 0.022945430666782573d0
|
! c = - 0.022945430666782573d0
|
||||||
|
|
||||||
! Parameters for He
|
! Parameters for He
|
||||||
|
|
||||||
! a = 1.9125735895875828d0
|
a = 1.9125735895875828d0
|
||||||
! b = 2.715266992840757d0
|
b = 2.715266992840757d0
|
||||||
! c = 2.1634223380633086d0
|
c = 2.1634223380633086d0
|
||||||
|
|
||||||
w = wEns(2)
|
w = wEns(2)
|
||||||
CxGIC = 1d0 - w*(1d0 - w)*(a + b*(w - 0.5d0) + c*(w - 0.5d0)**2)
|
CxGIC = 1d0 - w*(1d0 - w)*(a + b*(w - 0.5d0) + c*(w - 0.5d0)**2)
|
||||||
|
@ -7,7 +7,7 @@ program eDFT
|
|||||||
|
|
||||||
integer :: nNuc,nBas
|
integer :: nNuc,nBas
|
||||||
integer :: nEl(nspin),nC(nspin),nO(nspin),nV(nspin),nR(nspin)
|
integer :: nEl(nspin),nC(nspin),nO(nspin),nV(nspin),nR(nspin)
|
||||||
double precision :: ENuc,Ew,EwGIC
|
double precision :: ENuc,Ew
|
||||||
|
|
||||||
double precision,allocatable :: ZNuc(:),rNuc(:,:)
|
double precision,allocatable :: ZNuc(:),rNuc(:,:)
|
||||||
|
|
||||||
@ -164,7 +164,7 @@ program eDFT
|
|||||||
call cpu_time(start_KS)
|
call cpu_time(start_KS)
|
||||||
call GOK_RKS(.false.,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns(:),nGrid,weight(:), &
|
call GOK_RKS(.false.,x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns(:),nGrid,weight(:), &
|
||||||
maxSCF,thresh,max_diis,guess_type,nBas,AO(:,:),dAO(:,:,:),nO(1),nV(1), &
|
maxSCF,thresh,max_diis,guess_type,nBas,AO(:,:),dAO(:,:,:),nO(1),nV(1), &
|
||||||
S(:,:),T(:,:),V(:,:),Hc(:,:),ERI(:,:,:,:),X(:,:),ENuc,Ew,EwGIC,c(:,:))
|
S(:,:),T(:,:),V(:,:),Hc(:,:),ERI(:,:,:,:),X(:,:),ENuc,Ew,c(:,:))
|
||||||
call cpu_time(end_KS)
|
call cpu_time(end_KS)
|
||||||
|
|
||||||
t_KS = end_KS - start_KS
|
t_KS = end_KS - start_KS
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
subroutine print_restricted_individual_energy(nEns,ENuc,Ew,EwGIC,ET,EV,EJ,Ex,Ec,Exc,Eaux,ExDD,EcDD,ExcDD,E, &
|
subroutine print_restricted_individual_energy(nEns,ENuc,Ew,ET,EV,EJ,Ex,Ec,Exc,Eaux,ExDD,EcDD,ExcDD,E, &
|
||||||
Om,Omx,Omc,Omxc,Omaux,OmxDD,OmcDD,OmxcDD)
|
Om,Omx,Omc,Omxc,Omaux,OmxDD,OmcDD,OmxcDD)
|
||||||
|
|
||||||
! Print individual energies for eDFT calculation
|
! Print individual energies for eDFT calculation
|
||||||
@ -11,7 +11,6 @@ subroutine print_restricted_individual_energy(nEns,ENuc,Ew,EwGIC,ET,EV,EJ,Ex,Ec,
|
|||||||
integer,intent(in) :: nEns
|
integer,intent(in) :: nEns
|
||||||
double precision,intent(in) :: ENuc
|
double precision,intent(in) :: ENuc
|
||||||
double precision,intent(in) :: Ew
|
double precision,intent(in) :: Ew
|
||||||
double precision,intent(in) :: EwGIC
|
|
||||||
double precision,intent(in) :: ET(nEns)
|
double precision,intent(in) :: ET(nEns)
|
||||||
double precision,intent(in) :: EV(nEns)
|
double precision,intent(in) :: EV(nEns)
|
||||||
double precision,intent(in) :: EJ(nEns)
|
double precision,intent(in) :: EJ(nEns)
|
||||||
@ -36,7 +35,6 @@ subroutine print_restricted_individual_energy(nEns,ENuc,Ew,EwGIC,ET,EV,EJ,Ex,Ec,
|
|||||||
write(*,'(A60)') ' ENSEMBLE ENERGIES'
|
write(*,'(A60)') ' ENSEMBLE ENERGIES'
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
write(*,'(A44,F16.10,A3)') ' Ensemble energy: ',Ew + ENuc,' au'
|
write(*,'(A44,F16.10,A3)') ' Ensemble energy: ',Ew + ENuc,' au'
|
||||||
write(*,'(A44,F16.10,A3)') ' GIC Ensemble energy: ',EwGIC + ENuc,' au'
|
|
||||||
write(*,'(A60)') '-------------------------------------------------'
|
write(*,'(A60)') '-------------------------------------------------'
|
||||||
write(*,*)
|
write(*,*)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
subroutine restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight,nBas, &
|
subroutine restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight,nBas, &
|
||||||
nO,nV,T,V,ERI,ENuc,eps,Pw,rhow,drhow,J,P,rho,drho,Ew,EwGIC,E,Om)
|
nO,nV,T,V,ERI,ENuc,eps,Pw,rhow,drhow,J,P,rho,drho,Ew,E,Om)
|
||||||
|
|
||||||
! Compute individual energies as well as excitation energies
|
! Compute individual energies as well as excitation energies
|
||||||
|
|
||||||
@ -55,7 +55,6 @@ subroutine restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,n
|
|||||||
|
|
||||||
! Output variables
|
! Output variables
|
||||||
|
|
||||||
double precision,intent(out) :: EwGIC
|
|
||||||
double precision,intent(out) :: E(nEns)
|
double precision,intent(out) :: E(nEns)
|
||||||
double precision,intent(out) :: Om(nEns)
|
double precision,intent(out) :: Om(nEns)
|
||||||
|
|
||||||
@ -129,15 +128,6 @@ subroutine restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,n
|
|||||||
+ Ex(iEns) + Ec(iEns) + ExcDD(iEns)
|
+ Ex(iEns) + Ec(iEns) + ExcDD(iEns)
|
||||||
end do
|
end do
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
|
||||||
! Total energy with ghost-interaction correction
|
|
||||||
!------------------------------------------------------------------------
|
|
||||||
|
|
||||||
EwGIC = 0d0
|
|
||||||
do iEns=1,nEns
|
|
||||||
EwGIC = EwGIC + wEns(iEns)*E(iEns)
|
|
||||||
end do
|
|
||||||
|
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
! Excitation energies
|
! Excitation energies
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
@ -162,7 +152,7 @@ subroutine restricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered,n
|
|||||||
! Dump results
|
! Dump results
|
||||||
!------------------------------------------------------------------------
|
!------------------------------------------------------------------------
|
||||||
|
|
||||||
call print_restricted_individual_energy(nEns,ENuc,Ew,EwGIC,ET(:),EV(:),EJ(:),Ex(:),Ec(:),Exc(:), &
|
call print_restricted_individual_energy(nEns,ENuc,Ew,ET(:),EV(:),EJ(:),Ex(:),Ec(:),Exc(:), &
|
||||||
Eaux(:),ExDD(:),EcDD(:),ExcDD(:),E(:), &
|
Eaux(:),ExDD(:),EcDD(:),ExcDD(:),E(:), &
|
||||||
Om(:),Omx(:),Omc(:),Omxc(:),Omaux,OmxDD(:),OmcDD(:),OmxcDD(:))
|
Om(:),Omx(:),Omc(:),Omxc(:),Omaux,OmxDD(:),OmcDD(:),OmxcDD(:))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user