4
1
mirror of https://github.com/pfloos/quack synced 2024-06-30 00:44:31 +02:00
quack/src/eDFT/lda_exchange_individual_energy.f90

50 lines
1.4 KiB
Fortran
Raw Normal View History

2022-01-07 09:13:38 +01:00
subroutine lda_exchange_individual_energy(DFA,LDA_centered,nEns,wEns,nCC,aCC,nGrid,weight,rhow,&
2021-12-06 15:27:39 +01:00
rho,Cx_choice,doNcentered,LZx,Ex)
2020-03-16 22:08:04 +01:00
! Compute LDA exchange energy for individual states
implicit none
include 'parameters.h'
! Input variables
logical,intent(in) :: LDA_centered
2021-10-25 12:20:25 +02:00
integer,intent(in) :: DFA
2020-03-16 22:08:04 +01:00
integer,intent(in) :: nEns
double precision,intent(in) :: wEns(nEns)
2021-11-29 13:21:45 +01:00
integer,intent(in) :: nCC
double precision,intent(in) :: aCC(nCC,nEns-1)
2020-03-16 22:08:04 +01:00
integer,intent(in) :: nGrid
double precision,intent(in) :: weight(nGrid)
2021-12-01 10:54:51 +01:00
double precision,intent(in) :: rhow(nGrid,nspin)
double precision,intent(in) :: rho(nGrid,nspin,nEns)
integer,intent(in) :: Cx_choice
2020-09-29 11:47:18 +02:00
logical,intent(in) :: doNcentered
2020-03-16 22:08:04 +01:00
! Output variables
2021-12-06 15:27:39 +01:00
double precision :: LZx(nspin)
2021-12-01 10:54:51 +01:00
double precision :: Ex(nspin,nEns)
2020-03-16 22:08:04 +01:00
! Select correlation functional
select case (DFA)
2021-10-25 12:20:25 +02:00
case (1)
2020-07-02 14:27:38 +02:00
2022-01-07 09:13:38 +01:00
call S51_lda_exchange_individual_energy(nEns,nGrid,weight,rhow,rho,LZx,Ex)
2020-07-02 14:27:38 +02:00
2021-10-25 12:20:25 +02:00
case (2)
2020-07-02 14:27:38 +02:00
2022-01-07 09:13:38 +01:00
call CC_lda_exchange_individual_energy(nEns,wEns,nCC,aCC,nGrid,weight,rhow,rho, &
2021-12-06 15:27:39 +01:00
Cx_choice,doNcentered,LZx,Ex)
2020-07-02 14:27:38 +02:00
2020-03-16 22:08:04 +01:00
case default
call print_warning('!!! LDA exchange individual energy not available !!!')
2020-03-16 22:08:04 +01:00
stop
end select
2022-01-07 09:13:38 +01:00
end subroutine lda_exchange_individual_energy