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) write(*,*) "* 0th rung of Jacob's ladder: Hartree calculation *" ! 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