2019-03-13 11:07:31 +01:00
|
|
|
subroutine select_rung(rung,DFA)
|
|
|
|
|
|
|
|
! Select rung of Jacob's ladder
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
include 'parameters.h'
|
|
|
|
|
|
|
|
! Input variables
|
|
|
|
|
|
|
|
integer,intent(in) :: rung
|
|
|
|
character(len=12),intent(in) :: DFA
|
|
|
|
|
|
|
|
select case (rung)
|
|
|
|
|
|
|
|
! Hartree calculation
|
|
|
|
case(0)
|
2020-03-15 14:33:53 +01:00
|
|
|
write(*,*) "* 0th rung of Jacob's ladder: Hartree calculation *"
|
2019-03-13 11:07:31 +01:00
|
|
|
|
|
|
|
! LDA functionals
|
|
|
|
case(1)
|
|
|
|
write(*,*) "* 1st rung of Jacob's ladder: local-density approximation (LDA) *"
|
|
|
|
|
|
|
|
! GGA functionals
|
|
|
|
case(2)
|
|
|
|
write(*,*) "* 2nd rung of Jacob's ladder: generalized gradient approximation (GGA) *"
|
|
|
|
|
|
|
|
! meta-GGA functionals
|
|
|
|
case(3)
|
|
|
|
write(*,*) "* 3rd rung of Jacob's ladder: meta-GGA functional (MGGA) *"
|
|
|
|
|
|
|
|
! Hybrid functionals
|
|
|
|
case(4)
|
|
|
|
write(*,*) "* 4th rung of Jacob's ladder: hybrid functional *"
|
|
|
|
|
|
|
|
! Default
|
|
|
|
case default
|
|
|
|
write(*,*) "!!! rung not available !!!"
|
|
|
|
stop
|
|
|
|
|
|
|
|
end select
|
|
|
|
|
|
|
|
! Print selected functional
|
|
|
|
|
|
|
|
write(*,*) '* You have selected the following functional: ',DFA,' *'
|
|
|
|
write(*,*) '*******************************************************************'
|
|
|
|
write(*,*)
|
|
|
|
|
|
|
|
|
|
|
|
end subroutine select_rung
|