diff --git a/input/dft b/input/dft index 796cb10..00e6098 100644 --- a/input/dft +++ b/input/dft @@ -15,7 +15,7 @@ # Hybrid = 4: HF,B3LYP,PBE 1 VWN5 # quadrature grid SG-n - 1 + 0 # Number of states in ensemble (nEns) 4 # occupation numbers @@ -31,7 +31,7 @@ 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # Ensemble weights: wEns(1),...,wEns(nEns-1) - 0.25 0.25 0.25 + 0.00 0.00 0.00 # N-centered? T # Parameters for CC weight-dependent exchange functional diff --git a/input/methods b/input/methods index a05c2f1..4879570 100644 --- a/input/methods +++ b/input/methods @@ -1,5 +1,5 @@ # RHF UHF KS MOM - T F F F + F F T F # MP2* MP3 MP2-F12 F F F # CCD DCD CCSD CCSD(T) @@ -13,7 +13,7 @@ # G0F2* evGF2* qsGF2* G0F3 evGF3 F F F F F # G0W0* evGW* qsGW* ufG0W0 ufGW - T F F F F + F F F F F # G0T0 evGT qsGT F F F # MCMP2 diff --git a/src/eDFT/eDFT.f90 b/src/eDFT/eDFT.f90 index f4a5b40..4133c1d 100644 --- a/src/eDFT/eDFT.f90 +++ b/src/eDFT/eDFT.f90 @@ -52,7 +52,7 @@ subroutine eDFT(maxSCF,thresh,max_diis,guess_type,mix,nNuc,ZNuc,rNuc,ENuc,nBas,n character(len=8) :: method integer :: x_rung,c_rung - character(len=12) :: x_DFA ,c_DFA + integer :: x_DFA,c_DFA logical :: LDA_centered = .true. integer :: SGn @@ -80,6 +80,7 @@ subroutine eDFT(maxSCF,thresh,max_diis,guess_type,mix,nNuc,ZNuc,rNuc,ENuc,nBas,n integer :: i,vmajor,vminor,vmicro integer :: iBas,iEns,ispin + integer :: icart,iGrid ! Output variables @@ -118,14 +119,32 @@ subroutine eDFT(maxSCF,thresh,max_diis,guess_type,mix,nNuc,ZNuc,rNuc,ENuc,nBas,n !------------------------------------------------------------------------ ! Construct quadrature grid !------------------------------------------------------------------------ - call read_grid(SGn,radial_precision,nRad,nAng,nGrid) + if(SGn == -1) then + + write(*,*) '*** Quadrature grid on atomic sites ! ***' + write(*,*) + nGrid = nNuc + allocate(root(ncart,nGrid),weight(nGrid)) - call allocate_grid(nNuc,ZNuc,max_ang_mom,min_exponent,max_exponent,radial_precision,nAng,nGrid) + do icart=1,ncart + do iGrid=1,nGrid + root(icart,iGrid) = rNuc(iGrid,icart) + end do + end do + weight(:) = 1d0 - allocate(root(ncart,nGrid),weight(nGrid)) + else - call build_grid(nNuc,ZNuc,rNuc,max_ang_mom,min_exponent,max_exponent, & - radial_precision,nRad,nAng,nGrid,weight,root) + call read_grid(SGn,radial_precision,nRad,nAng,nGrid) + + call allocate_grid(nNuc,ZNuc,max_ang_mom,min_exponent,max_exponent,radial_precision,nAng,nGrid) + + allocate(root(ncart,nGrid),weight(nGrid)) + + call build_grid(nNuc,ZNuc,rNuc,max_ang_mom,min_exponent,max_exponent, & + radial_precision,nRad,nAng,nGrid,weight,root) + + end if !------------------------------------------------------------------------ ! Calculate AO values at grid points diff --git a/src/eDFT/eDFT_UKS.f90 b/src/eDFT/eDFT_UKS.f90 index 2653787..f6b3902 100644 --- a/src/eDFT/eDFT_UKS.f90 +++ b/src/eDFT/eDFT_UKS.f90 @@ -9,7 +9,7 @@ subroutine eDFT_UKS(x_rung,x_DFA,c_rung,c_DFA,nEns,wEns,aCC_w1,aCC_w2,nGrid,weig ! Input variables integer,intent(in) :: x_rung,c_rung - character(len=12),intent(in) :: x_DFA,c_DFA + integer,intent(in) :: x_DFA,c_DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) double precision,intent(in) :: aCC_w1(3) @@ -108,21 +108,21 @@ subroutine eDFT_UKS(x_rung,x_DFA,c_rung,c_DFA,nEns,wEns,aCC_w1,aCC_w2,nGrid,weig ! Select rung for exchange - write(*,*) - write(*,*) '*******************************************************************' - write(*,*) '* Exchange rung *' - write(*,*) '*******************************************************************' +! write(*,*) +! write(*,*) '*******************************************************************' +! write(*,*) '* Exchange rung *' +! write(*,*) '*******************************************************************' - call select_rung(x_rung,x_DFA) +! call select_rung(x_rung,x_DFA) ! Select rung for correlation - write(*,*) - write(*,*) '*******************************************************************' - write(*,*) '* Correlation rung *' - write(*,*) '*******************************************************************' +! write(*,*) +! write(*,*) '*******************************************************************' +! write(*,*) '* Correlation rung *' +! write(*,*) '*******************************************************************' - call select_rung(c_rung,c_DFA) +! call select_rung(c_rung,c_DFA) ! Overall rung diff --git a/src/eDFT/read_options_dft.f90 b/src/eDFT/read_options_dft.f90 index 4352a21..72c7d44 100644 --- a/src/eDFT/read_options_dft.f90 +++ b/src/eDFT/read_options_dft.f90 @@ -17,12 +17,13 @@ subroutine read_options_dft(nBas,method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns, integer :: iParam character(len=1) :: answer double precision,allocatable :: nEl(:) + character(len=12) :: x_func,c_func ! Output variables character(len=8),intent(out) :: method integer,intent(out) :: x_rung,c_rung - character(len=12),intent(out) :: x_DFA,c_DFA + integer,intent(out) :: x_DFA,c_DFA integer,intent(out) :: SGn integer,intent(out) :: nEns logical,intent(out) :: doNcentered @@ -42,8 +43,8 @@ subroutine read_options_dft(nBas,method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns, method = 'eDFT-UKS' x_rung = 1 c_rung = 1 - x_DFA = 'S51' - c_DFA = 'VWN5' + x_DFA = 1 + c_DFA = 1 SGn = 0 wEns(:) = 0d0 @@ -52,7 +53,9 @@ subroutine read_options_dft(nBas,method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns, read(1,*) read(1,*) method -! EXCHANGE: read rung of Jacob's ladder +!---------------------------------------! +! EXCHANGE: read rung of Jacob's ladder ! +!---------------------------------------! read(1,*) read(1,*) @@ -60,9 +63,124 @@ subroutine read_options_dft(nBas,method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns, read(1,*) read(1,*) read(1,*) - read(1,*) x_rung,x_DFA + read(1,*) x_rung,x_func -! CORRELATION: read rung of Jacob's ladder + select case (x_rung) ! exchange functionals + + case (0) ! Hartree + + select case (x_func) + + case ('H') + + x_DFA = 1 + + case default + + call print_warning('!!! Hartree exchange functional not available !!!') + stop + + end select + + case (1) ! LDA + + select case (x_func) + + case ('S51') + + x_DFA = 1 + + case ('CC-S51') + + x_DFA = 2 + + case default + + call print_warning('!!! LDA exchange functional not available !!!') + stop + + end select + + case (2) ! GGA + + select case (x_func) + + case ('G96') + + x_DFA = 1 + + case ('B88') + + x_DFA = 2 + + case ('PBE') + + x_DFA = 3 + + case default + + call print_warning('!!! GGA exchange functional not available !!!') + stop + + end select + + case (3) ! MGGA + + select case (x_func) + + case default + + call print_warning('!!! MGGA exchange functional not available !!!') + stop + + end select + + case (4) ! Hybrid + + select case (x_func) + + case ('HF') + + x_DFA = 1 + + case ('B3LYP') + + x_DFA = 2 + + case ('BHHLYP') + + x_DFA = 3 + + case ('PBE') + + x_DFA = 4 + + case default + + call print_warning('!!! Hybrid exchange functional not available !!!') + stop + + end select + + case default + + call print_warning('!!! Exchange rung not available !!!') + stop + + end select + +! Select rung for exchange + + write(*,*) + write(*,*) '*******************************************************************' + write(*,*) '* Exchange rung *' + write(*,*) '*******************************************************************' + + call select_rung(x_rung,x_func) + +!------------------------------------------! +! CORRELATION: read rung of Jacob's ladder ! +!------------------------------------------! read(1,*) read(1,*) @@ -70,7 +188,128 @@ subroutine read_options_dft(nBas,method,x_rung,x_DFA,c_rung,c_DFA,SGn,nEns,wEns, read(1,*) read(1,*) read(1,*) - read(1,*) c_rung,c_DFA + read(1,*) c_rung,c_func + + select case (c_rung) ! correlation functionals + + case (0) ! Hartree + + select case (c_func) + + case ('H') + + c_DFA = 1 + + case default + + call print_warning('!!! Hartree correlation functional not available !!!') + stop + + end select + + case (1) ! LDA + + select case (c_func) + + case ('W38') + + c_DFA = 1 + + case ('PW92') + + c_DFA = 2 + + case ('VWN3') + + c_DFA = 3 + + case ('VWN5') + + c_DFA = 4 + + case ('eVWN5') + + c_DFA = 5 + + case default + + call print_warning('!!! LDA correlation functional not available !!!') + stop + + end select + + case (2) ! GGA + + select case (c_func) + + case ('LYP') + + c_DFA = 1 + + case ('PBE') + + c_DFA = 2 + + case default + + call print_warning('!!! GGA correlation functional not available !!!') + stop + + end select + + case (3) ! MGGA + + select case (c_func) + + case default + + call print_warning('!!! MGGA correlation functional not available !!!') + stop + + end select + + case (4) ! Hybrid + + select case (c_func) + + case ('HF') + + c_DFA = 1 + + case ('B3LYP') + + c_DFA = 2 + + case ('BHHLYP') + + c_DFA = 3 + + case ('PBE') + + c_DFA = 4 + + case default + + call print_warning('!!! Hybrid correlation functional not available !!!') + stop + + end select + + case default + + call print_warning('!!! Correlation rung not available !!!') + stop + + end select + +! Select rung for correlation + + write(*,*) + write(*,*) '*******************************************************************' + write(*,*) '* Correlation rung *' + write(*,*) '*******************************************************************' + + call select_rung(c_rung,c_func) ! Read SG-n grid diff --git a/src/eDFT/unrestricted_correlation_derivative_discontinuity.f90 b/src/eDFT/unrestricted_correlation_derivative_discontinuity.f90 index 71b1d26..7b33ceb 100644 --- a/src/eDFT/unrestricted_correlation_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_correlation_derivative_discontinuity.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_correlation_derivative_discontinuity(rung,DFA,nEns,wEns, ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_correlation_energy.f90 b/src/eDFT/unrestricted_correlation_energy.f90 index fe53825..61e8ee5 100644 --- a/src/eDFT/unrestricted_correlation_energy.f90 +++ b/src/eDFT/unrestricted_correlation_energy.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_correlation_energy(rung,DFA,nEns,wEns,nGrid,weight,rho,d ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_correlation_individual_energy.f90 b/src/eDFT/unrestricted_correlation_individual_energy.f90 index 53814a6..5c8210d 100644 --- a/src/eDFT/unrestricted_correlation_individual_energy.f90 +++ b/src/eDFT/unrestricted_correlation_individual_energy.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_correlation_individual_energy(rung,DFA,LDA_centered,nEns ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) diff --git a/src/eDFT/unrestricted_correlation_potential.f90 b/src/eDFT/unrestricted_correlation_potential.f90 index d8e168e..9a488ed 100644 --- a/src/eDFT/unrestricted_correlation_potential.f90 +++ b/src/eDFT/unrestricted_correlation_potential.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_correlation_potential(rung,DFA,nEns,wEns,nGrid,weight,nB ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_exchange_derivative_discontinuity.f90 b/src/eDFT/unrestricted_exchange_derivative_discontinuity.f90 index 0a5308a..89aa681 100644 --- a/src/eDFT/unrestricted_exchange_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_exchange_derivative_discontinuity.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_exchange_derivative_discontinuity(rung,DFA,nEns,wEns,aCC ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) double precision,intent(in) :: aCC_w1(3) diff --git a/src/eDFT/unrestricted_exchange_energy.f90 b/src/eDFT/unrestricted_exchange_energy.f90 index f579248..db06abd 100644 --- a/src/eDFT/unrestricted_exchange_energy.f90 +++ b/src/eDFT/unrestricted_exchange_energy.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_exchange_energy(rung,DFA,LDA_centered,nEns,wEns,aCC_w1,a ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) diff --git a/src/eDFT/unrestricted_exchange_individual_energy.f90 b/src/eDFT/unrestricted_exchange_individual_energy.f90 index 6ddf3d2..d9990fa 100644 --- a/src/eDFT/unrestricted_exchange_individual_energy.f90 +++ b/src/eDFT/unrestricted_exchange_individual_energy.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_exchange_individual_energy(rung,DFA,LDA_centered,nEns,wE ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) diff --git a/src/eDFT/unrestricted_exchange_potential.f90 b/src/eDFT/unrestricted_exchange_potential.f90 index 31cecc9..4882932 100644 --- a/src/eDFT/unrestricted_exchange_potential.f90 +++ b/src/eDFT/unrestricted_exchange_potential.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_exchange_potential(rung,DFA,LDA_centered,nEns,wEns,aCC_w ! Input variables integer,intent(in) :: rung - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) diff --git a/src/eDFT/unrestricted_gga_correlation_derivative_discontinuity.f90 b/src/eDFT/unrestricted_gga_correlation_derivative_discontinuity.f90 index 6c83d30..de4fcc0 100644 --- a/src/eDFT/unrestricted_gga_correlation_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_gga_correlation_derivative_discontinuity.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_gga_correlation_derivative_discontinuity(DFA,nEns,wEns,n ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -26,11 +26,11 @@ subroutine unrestricted_gga_correlation_derivative_discontinuity(DFA,nEns,wEns,n select case (DFA) - case ('LYP') + case (1) Ec(:,:) = 0d0 - case ('PBE') + case (2) Ec(:,:) = 0d0 diff --git a/src/eDFT/unrestricted_gga_correlation_energy.f90 b/src/eDFT/unrestricted_gga_correlation_energy.f90 index bcd3edd..04c0418 100644 --- a/src/eDFT/unrestricted_gga_correlation_energy.f90 +++ b/src/eDFT/unrestricted_gga_correlation_energy.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_gga_correlation_energy(DFA,nEns,wEns,nGrid,weight,rho,dr ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -26,11 +26,11 @@ subroutine unrestricted_gga_correlation_energy(DFA,nEns,wEns,nGrid,weight,rho,dr select case (DFA) - case ('LYP') + case (1) call ULYP_gga_correlation_energy(nGrid,weight,rho,drho,Ec) - case ('PBE') + case (2) call UPBE_gga_correlation_energy(nGrid,weight,rho,drho,Ec) diff --git a/src/eDFT/unrestricted_gga_correlation_potential.f90 b/src/eDFT/unrestricted_gga_correlation_potential.f90 index f52ebe9..9d004dc 100644 --- a/src/eDFT/unrestricted_gga_correlation_potential.f90 +++ b/src/eDFT/unrestricted_gga_correlation_potential.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_gga_correlation_potential(DFA,nEns,wEns,nGrid,weight,nBa ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -28,11 +28,11 @@ subroutine unrestricted_gga_correlation_potential(DFA,nEns,wEns,nGrid,weight,nBa select case (DFA) - case ('LYP') + case (1) call ULYP_gga_correlation_potential(nGrid,weight,nBas,AO,dAO,rho,drho,Fc) - case ('PBE') + case (2) call UPBE_gga_correlation_potential(nGrid,weight,nBas,AO,dAO,rho,drho,Fc) diff --git a/src/eDFT/unrestricted_gga_exchange_derivative_discontinuity.f90 b/src/eDFT/unrestricted_gga_exchange_derivative_discontinuity.f90 index 7f451c5..5fc2c20 100644 --- a/src/eDFT/unrestricted_gga_exchange_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_gga_exchange_derivative_discontinuity.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_gga_exchange_derivative_discontinuity(DFA,nEns,wEns,nGri ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -26,15 +26,15 @@ subroutine unrestricted_gga_exchange_derivative_discontinuity(DFA,nEns,wEns,nGri select case (DFA) - case ('G96') + case (1) ExDD(:) = 0d0 - case ('B88') + case (2) ExDD(:) = 0d0 - case ('PBE') + case (3) ExDD(:) = 0d0 diff --git a/src/eDFT/unrestricted_gga_exchange_energy.f90 b/src/eDFT/unrestricted_gga_exchange_energy.f90 index f184555..cfbcf1c 100644 --- a/src/eDFT/unrestricted_gga_exchange_energy.f90 +++ b/src/eDFT/unrestricted_gga_exchange_energy.f90 @@ -8,13 +8,13 @@ subroutine unrestricted_gga_exchange_energy(DFA,nEns,wEns,nGrid,weight,rho,drho, ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid double precision,intent(in) :: weight(nGrid) double precision,intent(in) :: rho(nGrid) - double precision,intent(in) :: drho(3,nGrid) + double precision,intent(in) :: drho(ncart,nGrid) ! Output variables @@ -22,15 +22,15 @@ subroutine unrestricted_gga_exchange_energy(DFA,nEns,wEns,nGrid,weight,rho,drho, select case (DFA) - case ('G96') + case (1) call UG96_gga_exchange_energy(nGrid,weight,rho,drho,Ex) - case ('B88') + case (2) call UB88_gga_exchange_energy(nGrid,weight,rho,drho,Ex) - case ('PBE') + case (3) call UPBE_gga_exchange_energy(nGrid,weight,rho,drho,Ex) diff --git a/src/eDFT/unrestricted_gga_exchange_individual_energy.f90 b/src/eDFT/unrestricted_gga_exchange_individual_energy.f90 index 31977c2..25b3834 100644 --- a/src/eDFT/unrestricted_gga_exchange_individual_energy.f90 +++ b/src/eDFT/unrestricted_gga_exchange_individual_energy.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_gga_exchange_individual_energy(DFA,nEns,wEns,nGrid,weigh ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_gga_exchange_potential.f90 b/src/eDFT/unrestricted_gga_exchange_potential.f90 index 4c72163..57de1e5 100644 --- a/src/eDFT/unrestricted_gga_exchange_potential.f90 +++ b/src/eDFT/unrestricted_gga_exchange_potential.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_gga_exchange_potential(DFA,nEns,wEns,nGrid,weight,nBas,A ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -26,15 +26,15 @@ subroutine unrestricted_gga_exchange_potential(DFA,nEns,wEns,nGrid,weight,nBas,A select case (DFA) - case ('G96') + case (1) call UG96_gga_exchange_potential(nGrid,weight,nBas,AO,dAO,rho,drho,Fx) - case ('B88') + case (2) call UB88_gga_exchange_potential(nGrid,weight,nBas,AO,dAO,rho,drho,Fx) - case ('PBE') + case (3) call UPBE_gga_exchange_potential(nGrid,weight,nBas,AO,dAO,rho,drho,Fx) diff --git a/src/eDFT/unrestricted_hybrid_correlation_derivative_discontinuity.f90 b/src/eDFT/unrestricted_hybrid_correlation_derivative_discontinuity.f90 index ed74ddd..89fecd0 100644 --- a/src/eDFT/unrestricted_hybrid_correlation_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_hybrid_correlation_derivative_discontinuity.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_hybrid_correlation_derivative_discontinuity(DFA,nEns,wEn ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -26,15 +26,15 @@ subroutine unrestricted_hybrid_correlation_derivative_discontinuity(DFA,nEns,wEn select case (DFA) - case ('HF') + case (1) Ec(:,:) = 0d0 - case ('LYP') + case (2) Ec(:,:) = 0d0 - case ('PBE') + case (3) Ec(:,:) = 0d0 diff --git a/src/eDFT/unrestricted_hybrid_correlation_energy.f90 b/src/eDFT/unrestricted_hybrid_correlation_energy.f90 index e8a286b..f54d7a3 100644 --- a/src/eDFT/unrestricted_hybrid_correlation_energy.f90 +++ b/src/eDFT/unrestricted_hybrid_correlation_energy.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_hybrid_correlation_energy(DFA,nEns,wEns,nGrid,weight,rho ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -27,26 +27,26 @@ subroutine unrestricted_hybrid_correlation_energy(DFA,nEns,wEns,nGrid,weight,rho select case (DFA) - case('HF') + case(1) Ec(:) = 0d0 - case('B3LYP') + case(2) aC = 0.81d0 - call unrestricted_lda_correlation_energy('VWN3 ',nEns,wEns,nGrid,weight,rho,EcLDA) - call unrestricted_gga_correlation_energy('LYP ',nEns,wEns,nGrid,weight,rho,drho,EcGGA) + call unrestricted_lda_correlation_energy(3,nEns,wEns,nGrid,weight,rho,EcLDA) + call unrestricted_gga_correlation_energy(1,nEns,wEns,nGrid,weight,rho,drho,EcGGA) Ec(:) = EcLDA(:) + aC*(EcGGA(:) - EcLDA(:)) - case('BHHLYP') + case(3) - call unrestricted_gga_correlation_energy('LYP ',nEns,wEns,nGrid,weight,rho,drho,Ec) + call unrestricted_gga_correlation_energy(1,nEns,wEns,nGrid,weight,rho,drho,Ec) - case('PBE') + case(4) - call unrestricted_gga_correlation_energy('PBE ',nEns,wEns,nGrid,weight,rho,drho,Ec) + call unrestricted_gga_correlation_energy(2,nEns,wEns,nGrid,weight,rho,drho,Ec) case default diff --git a/src/eDFT/unrestricted_hybrid_correlation_potential.f90 b/src/eDFT/unrestricted_hybrid_correlation_potential.f90 index 4b37441..815fbbd 100644 --- a/src/eDFT/unrestricted_hybrid_correlation_potential.f90 +++ b/src/eDFT/unrestricted_hybrid_correlation_potential.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_hybrid_correlation_potential(DFA,nEns,wEns,nGrid,weight, ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -32,32 +32,32 @@ subroutine unrestricted_hybrid_correlation_potential(DFA,nEns,wEns,nGrid,weight, select case (DFA) - case('HF') + case(1) Fc(:,:,:) = 0d0 - case('B3LYP') + case(2) allocate(FcLDA(nBas,nBas,nspin),FcGGA(nBas,nBas,nspin)) aC = 0.81d0 - call unrestricted_lda_correlation_potential('VWN3 ',nEns,wEns,nGrid,weight,nBas,AO,rho,FcLDA) - call unrestricted_gga_correlation_potential('LYP ',nEns,wEns,nGrid,weight,nBas,AO,dAO,rho,drho,FcGGA) + call unrestricted_lda_correlation_potential(3,nEns,wEns,nGrid,weight,nBas,AO,rho,FcLDA) + call unrestricted_gga_correlation_potential(1,nEns,wEns,nGrid,weight,nBas,AO,dAO,rho,drho,FcGGA) Fc(:,:,:) = FcLDA(:,:,:) + aC*(FcGGA(:,:,:) - FcLDA(:,:,:)) - case('BHHLYP') + case(3) allocate(FcGGA(nBas,nBas,nspin)) - call unrestricted_gga_correlation_potential('LYP ',nEns,wEns,nGrid,weight,nBas,AO,dAO,rho,drho,Fc) + call unrestricted_gga_correlation_potential(1,nEns,wEns,nGrid,weight,nBas,AO,dAO,rho,drho,Fc) - case('PBE') + case(4) allocate(FcGGA(nBas,nBas,nspin)) - call unrestricted_gga_correlation_potential('PBE ',nEns,wEns,nGrid,weight,nBas,AO,dAO,rho,drho,Fc) + call unrestricted_gga_correlation_potential(2,nEns,wEns,nGrid,weight,nBas,AO,dAO,rho,drho,Fc) case default diff --git a/src/eDFT/unrestricted_hybrid_exchange_derivative_discontinuity.f90 b/src/eDFT/unrestricted_hybrid_exchange_derivative_discontinuity.f90 index 7e5bde8..20c8890 100644 --- a/src/eDFT/unrestricted_hybrid_exchange_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_hybrid_exchange_derivative_discontinuity.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_hybrid_exchange_derivative_discontinuity(DFA,nEns,wEns,a ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) double precision,intent(in) :: aCC_w1(3) @@ -32,15 +32,15 @@ subroutine unrestricted_hybrid_exchange_derivative_discontinuity(DFA,nEns,wEns,a select case (DFA) - case ('HF') + case (1) ExDD(:) = 0d0 - case ('B3') + case (2) ExDD(:) = 0d0 - case ('PBE') + case (3) ExDD(:) = 0d0 diff --git a/src/eDFT/unrestricted_hybrid_exchange_energy.f90 b/src/eDFT/unrestricted_hybrid_exchange_energy.f90 index 8fee449..9647388 100644 --- a/src/eDFT/unrestricted_hybrid_exchange_energy.f90 +++ b/src/eDFT/unrestricted_hybrid_exchange_energy.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_hybrid_exchange_energy(DFA,LDA_centered,nEns,wEns,aCC_w1 ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) @@ -34,34 +34,34 @@ subroutine unrestricted_hybrid_exchange_energy(DFA,LDA_centered,nEns,wEns,aCC_w1 select case (DFA) - case ('HF') + case (1) call unrestricted_fock_exchange_energy(nBas,P,FxHF,Ex) - case ('B3LYP') + case (2) a0 = 0.20d0 aX = 0.72d0 - call unrestricted_lda_exchange_energy('S51 ',LDA_centered,nEns,wEns,aCC_w1,aCC_w2,nGrid,weight,& + call unrestricted_lda_exchange_energy(1,LDA_centered,nEns,wEns,aCC_w1,aCC_w2,nGrid,weight,& rho,ExLDA,Cx_choice) - call unrestricted_gga_exchange_energy('B88 ',nEns,wEns,nGrid,weight,rho,drho,ExGGA) + call unrestricted_gga_exchange_energy(2,nEns,wEns,nGrid,weight,rho,drho,ExGGA) call unrestricted_fock_exchange_energy(nBas,P,FxHF,ExHF) Ex = ExLDA & + a0*(ExHF - ExLDA) & + aX*(ExGGA - ExLDA) - case ('BHHLYP') + case (3) - call unrestricted_gga_exchange_energy('B88 ',nEns,wEns,nGrid,weight,rho,drho,ExGGA) + call unrestricted_gga_exchange_energy(2,nEns,wEns,nGrid,weight,rho,drho,ExGGA) call unrestricted_fock_exchange_energy(nBas,P,FxHF,ExHF) Ex = 0.5d0*ExHF + 0.5d0*ExGGA - case ('PBE') + case (4) - call unrestricted_gga_exchange_energy('PBE ',nEns,wEns,nGrid,weight,rho,drho,ExGGA) + call unrestricted_gga_exchange_energy(3,nEns,wEns,nGrid,weight,rho,drho,ExGGA) call unrestricted_fock_exchange_energy(nBas,P,FxHF,ExHF) Ex = 0.25d0*ExHF + 0.75d0*ExGGA diff --git a/src/eDFT/unrestricted_hybrid_exchange_potential.f90 b/src/eDFT/unrestricted_hybrid_exchange_potential.f90 index 9875832..97dc1fc 100644 --- a/src/eDFT/unrestricted_hybrid_exchange_potential.f90 +++ b/src/eDFT/unrestricted_hybrid_exchange_potential.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_hybrid_exchange_potential(DFA,LDA_centered,nEns,wEns,aCC ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) @@ -38,12 +38,12 @@ subroutine unrestricted_hybrid_exchange_potential(DFA,LDA_centered,nEns,wEns,aCC select case (DFA) - case('HF') + case(1) call unrestricted_fock_exchange_potential(nBas,P,ERI,FxHF) Fx(:,:) = FxHF(:,:) - case('B3LYP') + case(2) allocate(FxLDA(nBas,nBas),FxGGA(nBas,nBas)) @@ -59,7 +59,7 @@ subroutine unrestricted_hybrid_exchange_potential(DFA,LDA_centered,nEns,wEns,aCC + a0*(FxHF(:,:) - FxLDA(:,:)) & + aX*(FxGGA(:,:) - FxLDA(:,:)) - case('BHHLYP') + case(3) allocate(FxGGA(nBas,nBas)) @@ -68,7 +68,7 @@ subroutine unrestricted_hybrid_exchange_potential(DFA,LDA_centered,nEns,wEns,aCC Fx(:,:) = 0.5d0*FxHF(:,:) + 0.5d0*FxGGA(:,:) - case('PBE') + case(4) allocate(FxGGA(nBas,nBas)) diff --git a/src/eDFT/unrestricted_individual_energy.f90 b/src/eDFT/unrestricted_individual_energy.f90 index 4f0ab93..5acd636 100644 --- a/src/eDFT/unrestricted_individual_energy.f90 +++ b/src/eDFT/unrestricted_individual_energy.f90 @@ -10,7 +10,7 @@ subroutine unrestricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered ! Input variables integer,intent(in) :: x_rung,c_rung - character(len=12),intent(in) :: x_DFA,c_DFA + integer,intent(in) :: x_DFA,c_DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) @@ -212,7 +212,7 @@ subroutine unrestricted_individual_energy(x_rung,x_DFA,c_rung,c_DFA,LDA_centered do iEns=1,nEns call unrestricted_correlation_individual_energy(c_rung,c_DFA,LDA_centered,nEns,wEns,nGrid,weight, & - rhow,drhow,rho(:,:,iEns),drho(:,:,:,iEns),kappa(iEns),Ec(:,iEns)) + rhow,drhow,rho(:,:,iEns),drho(:,:,:,iEns),doNcentered,kappa(iEns),Ec(:,iEns)) end do !------------------------------------------------------------------------ diff --git a/src/eDFT/unrestricted_lda_correlation_derivative_discontinuity.f90 b/src/eDFT/unrestricted_lda_correlation_derivative_discontinuity.f90 index 466c37a..e0ea35d 100644 --- a/src/eDFT/unrestricted_lda_correlation_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_lda_correlation_derivative_discontinuity.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_lda_correlation_derivative_discontinuity(DFA,nEns,wEns,n ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -26,15 +26,19 @@ subroutine unrestricted_lda_correlation_derivative_discontinuity(DFA,nEns,wEns,n select case (DFA) -! Wigner's LDA correlation functional: Wigner, Trans. Faraday Soc. 34 (1938) 678 - - case ('W38') + case (1) Ec(:,:) = 0d0 -! Vosko, Wilk and Nusair's functional V: Can. J. Phys. 58 (1980) 1200 + case (2) - case ('VWN5') + Ec(:,:) = 0d0 + + case (3) + + Ec(:,:) = 0d0 + + case (4) Ec(:,:) = 0d0 diff --git a/src/eDFT/unrestricted_lda_correlation_energy.f90 b/src/eDFT/unrestricted_lda_correlation_energy.f90 index 49a72df..1b42871 100644 --- a/src/eDFT/unrestricted_lda_correlation_energy.f90 +++ b/src/eDFT/unrestricted_lda_correlation_energy.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_lda_correlation_energy(DFA,nEns,wEns,nGrid,weight,rho,Ec ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -24,27 +24,23 @@ subroutine unrestricted_lda_correlation_energy(DFA,nEns,wEns,nGrid,weight,rho,Ec ! Hartree-Fock - case ('HF') - - Ec(:) = 0d0 - - case ('W38') + case (1) call UW38_lda_correlation_energy(nGrid,weight,rho,Ec) - case ('PW92') + case (2) call UPW92_lda_correlation_energy(nGrid,weight,rho,Ec) - case ('VWN3') + case (3) call UVWN3_lda_correlation_energy(nGrid,weight,rho,Ec) - case ('VWN5') + case (4) call UVWN5_lda_correlation_energy(nGrid,weight,rho,Ec) - case ('C16') + case (5) call UC16_lda_correlation_energy(nGrid,weight,rho,Ec) diff --git a/src/eDFT/unrestricted_lda_correlation_individual_energy.f90 b/src/eDFT/unrestricted_lda_correlation_individual_energy.f90 index 5ee1921..e29a144 100644 --- a/src/eDFT/unrestricted_lda_correlation_individual_energy.f90 +++ b/src/eDFT/unrestricted_lda_correlation_individual_energy.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_lda_correlation_individual_energy(DFA,LDA_centered,nEns, ! Input variables logical,intent(in) :: LDA_centered - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -27,13 +27,11 @@ subroutine unrestricted_lda_correlation_individual_energy(DFA,LDA_centered,nEns, select case (DFA) -! Vosko, Wilk and Nusair's functional V: Can. J. Phys. 58 (1980) 1200 - - case ('VWN3') + case (3) call UVWN3_lda_correlation_individual_energy(nGrid,weight,rhow,rho,doNcentered,kappa,Ec) - case ('VWN5') + case (4) call UVWN5_lda_correlation_individual_energy(nGrid,weight,rhow,rho,doNcentered,kappa,Ec) diff --git a/src/eDFT/unrestricted_lda_correlation_potential.f90 b/src/eDFT/unrestricted_lda_correlation_potential.f90 index 9d44349..fa88e9e 100644 --- a/src/eDFT/unrestricted_lda_correlation_potential.f90 +++ b/src/eDFT/unrestricted_lda_correlation_potential.f90 @@ -7,7 +7,7 @@ include 'parameters.h' ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid @@ -26,27 +26,23 @@ include 'parameters.h' ! Hartree-Fock - case ('HF') - - Fc(:,:,:) = 0d0 - - case ('W38') + case (1) call UW38_lda_correlation_potential(nGrid,weight(:),nBas,AO(:,:),rho(:,:),Fc(:,:,:)) - case ('PW92') + case (2) call UPW92_lda_correlation_potential(nGrid,weight(:),nBas,AO(:,:),rho(:,:),Fc(:,:,:)) - case ('VWN3') + case (3) call UVWN3_lda_correlation_potential(nGrid,weight(:),nBas,AO(:,:),rho(:,:),Fc(:,:,:)) - case ('VWN5') + case (4) call UVWN5_lda_correlation_potential(nGrid,weight(:),nBas,AO(:,:),rho(:,:),Fc(:,:,:)) - case ('C16') + case (5) call UC16_lda_correlation_potential(nGrid,weight(:),nBas,AO(:,:),rho(:,:),Fc(:,:,:)) diff --git a/src/eDFT/unrestricted_lda_exchange_derivative_discontinuity.f90 b/src/eDFT/unrestricted_lda_exchange_derivative_discontinuity.f90 index 9404a61..1b4ad92 100644 --- a/src/eDFT/unrestricted_lda_exchange_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_lda_exchange_derivative_discontinuity.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_lda_exchange_derivative_discontinuity(DFA,nEns,wEns,aCC_ ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) double precision,intent(in) :: aCC_w1(3) @@ -32,11 +32,11 @@ subroutine unrestricted_lda_exchange_derivative_discontinuity(DFA,nEns,wEns,aCC_ select case (DFA) - case ('S51') + case (1) ExDD(:) = 0d0 - case ('CC') + case (2) call UCC_lda_exchange_derivative_discontinuity(nEns,wEns,aCC_w1,aCC_w2,nGrid,weight(:),rhow(:),& Cx_choice,doNcentered,kappa,ExDD(:)) diff --git a/src/eDFT/unrestricted_lda_exchange_energy.f90 b/src/eDFT/unrestricted_lda_exchange_energy.f90 index 71e7aa1..a9656f0 100644 --- a/src/eDFT/unrestricted_lda_exchange_energy.f90 +++ b/src/eDFT/unrestricted_lda_exchange_energy.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_lda_exchange_energy(DFA,LDA_centered,nEns,wEns,aCC_w1,aC ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA logical,intent(in) :: LDA_centered integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) @@ -26,11 +26,11 @@ subroutine unrestricted_lda_exchange_energy(DFA,LDA_centered,nEns,wEns,aCC_w1,aC select case (DFA) - case ('S51') + case (1) call US51_lda_exchange_energy(nGrid,weight,rho,Ex) - case ('CC') + case (2) call UCC_lda_exchange_energy(nEns,wEns,aCC_w1,aCC_w2,nGrid,weight,rho,Ex,Cx_choice) diff --git a/src/eDFT/unrestricted_lda_exchange_individual_energy.f90 b/src/eDFT/unrestricted_lda_exchange_individual_energy.f90 index fe26721..61be5e9 100644 --- a/src/eDFT/unrestricted_lda_exchange_individual_energy.f90 +++ b/src/eDFT/unrestricted_lda_exchange_individual_energy.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_lda_exchange_individual_energy(DFA,LDA_centered,nEns,wEn ! Input variables logical,intent(in) :: LDA_centered - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) double precision,intent(in) :: aCC_w1(3) @@ -31,11 +31,11 @@ subroutine unrestricted_lda_exchange_individual_energy(DFA,LDA_centered,nEns,wEn select case (DFA) - case ('S51') + case (1) call US51_lda_exchange_individual_energy(nGrid,weight,rhow,rho,doNcentered,kappa,Ex) - case ('CC') + case (2) call UCC_lda_exchange_individual_energy(nEns,wEns,aCC_w1,aCC_w2,nGrid,weight,rhow,rho,& Cx_choice,doNcentered,kappa,Ex) diff --git a/src/eDFT/unrestricted_lda_exchange_potential.f90 b/src/eDFT/unrestricted_lda_exchange_potential.f90 index 718bce8..32e70d6 100644 --- a/src/eDFT/unrestricted_lda_exchange_potential.f90 +++ b/src/eDFT/unrestricted_lda_exchange_potential.f90 @@ -9,7 +9,7 @@ subroutine unrestricted_lda_exchange_potential(DFA,LDA_centered,nEns,wEns,aCC_w1 ! Input variables logical,intent(in) :: LDA_centered - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) double precision,intent(in) :: aCC_w1(3) @@ -29,11 +29,11 @@ subroutine unrestricted_lda_exchange_potential(DFA,LDA_centered,nEns,wEns,aCC_w1 select case (DFA) - case ('S51') + case (1) call US51_lda_exchange_potential(nGrid,weight,nBas,AO,rho,Fx) - case ('CC') + case (2) call UCC_lda_exchange_potential(nEns,wEns,aCC_w1,aCC_w2,nGrid,weight,nBas,AO,rho,Fx,Cx_choice) diff --git a/src/eDFT/unrestricted_mgga_correlation_derivative_discontinuity.f90 b/src/eDFT/unrestricted_mgga_correlation_derivative_discontinuity.f90 index 4a870fe..20e62c9 100644 --- a/src/eDFT/unrestricted_mgga_correlation_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_mgga_correlation_derivative_discontinuity.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_mgga_correlation_derivative_discontinuity(DFA,nEns,wEns, ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_mgga_correlation_energy.f90 b/src/eDFT/unrestricted_mgga_correlation_energy.f90 index ae797ac..09a2901 100644 --- a/src/eDFT/unrestricted_mgga_correlation_energy.f90 +++ b/src/eDFT/unrestricted_mgga_correlation_energy.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_mgga_correlation_energy(DFA,nEns,wEns,nGrid,weight,rho,d ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_mgga_correlation_potential.f90 b/src/eDFT/unrestricted_mgga_correlation_potential.f90 index cda1e10..6cf959b 100644 --- a/src/eDFT/unrestricted_mgga_correlation_potential.f90 +++ b/src/eDFT/unrestricted_mgga_correlation_potential.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_mgga_correlation_potential(DFA,nEns,wEns,nGrid,weight,nB ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_mgga_exchange_derivative_discontinuity.f90 b/src/eDFT/unrestricted_mgga_exchange_derivative_discontinuity.f90 index 1d75470..4587ca1 100644 --- a/src/eDFT/unrestricted_mgga_exchange_derivative_discontinuity.f90 +++ b/src/eDFT/unrestricted_mgga_exchange_derivative_discontinuity.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_mgga_exchange_derivative_discontinuity(DFA,nEns,wEns,nGr ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_mgga_exchange_energy.f90 b/src/eDFT/unrestricted_mgga_exchange_energy.f90 index 18a9cf7..9b22b95 100644 --- a/src/eDFT/unrestricted_mgga_exchange_energy.f90 +++ b/src/eDFT/unrestricted_mgga_exchange_energy.f90 @@ -8,7 +8,7 @@ subroutine unrestricted_mgga_exchange_energy(DFA,nEns,wEns,nGrid,weight,rho,drho ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_mgga_exchange_individual_energy.f90 b/src/eDFT/unrestricted_mgga_exchange_individual_energy.f90 index 74267d5..5f49807 100644 --- a/src/eDFT/unrestricted_mgga_exchange_individual_energy.f90 +++ b/src/eDFT/unrestricted_mgga_exchange_individual_energy.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_mgga_exchange_individual_energy(DFA,nEns,wEns,nGrid,weig ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid diff --git a/src/eDFT/unrestricted_mgga_exchange_potential.f90 b/src/eDFT/unrestricted_mgga_exchange_potential.f90 index aef588f..b6707b4 100644 --- a/src/eDFT/unrestricted_mgga_exchange_potential.f90 +++ b/src/eDFT/unrestricted_mgga_exchange_potential.f90 @@ -7,7 +7,7 @@ subroutine unrestricted_mgga_exchange_potential(DFA,nEns,wEns,nGrid,weight,nBas, ! Input variables - character(len=12),intent(in) :: DFA + integer,intent(in) :: DFA integer,intent(in) :: nEns double precision,intent(in) :: wEns(nEns) integer,intent(in) :: nGrid