1! 2! Copyright (C) 2001-2018 Quantum ESPRESSO group 3! This file is distributed under the terms of the 4! GNU General Public License. See the file `License' 5! in the root directory of the present distribution, 6! or http://www.gnu.org/copyleft/gpl.txt . 7! 8!--------------------------------------------------------------------------- 9FUNCTION set_hubbard_l( psd ) RESULT( hubbard_l ) 10 !--------------------------------------------------------------------------- 11 ! 12 USE io_global, ONLY : stdout 13 ! 14 IMPLICIT NONE 15 ! 16 INTEGER :: hubbard_l 17 CHARACTER(LEN=2), INTENT(IN) :: psd 18 ! 19 ! 20 SELECT CASE( TRIM(ADJUSTL(psd)) ) 21 ! 22 ! ... transition metals 23 ! 24 CASE( 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', & 25 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', & 26 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg' ) 27 ! 28 hubbard_l = 2 29 ! 30 ! 31 ! ... rare earths 32 ! 33 CASE('Ce','Pr','Nd','Pm','Sm','Eu','Gd','Tb','Dy','Ho','Er','Tm','Yb','Lu', & 34 'Th','Pa','U', 'Np','Pu','Am','Cm','Bk','Cf','Es','Fm','Md','No','Lr' ) 35 ! 36 hubbard_l = 3 37 ! 38 ! 39 ! ... other elements 40 ! 41 CASE( 'H' ) 42 ! 43 hubbard_l = 0 44 ! 45 CASE( 'C', 'N', 'O', 'As' ) 46 ! 47 hubbard_l = 1 48 ! 49 CASE( 'Ga', 'In' ) 50 ! 51 hubbard_l = 2 52 ! 53 CASE DEFAULT 54 ! 55 hubbard_l = -1 56 ! 57 WRITE( stdout, '(/,"psd = ",A,/)' ) psd 58 ! 59 CALL errore( 'set_hubbard_l', 'pseudopotential not yet inserted', 1 ) 60 ! 61 END SELECT 62 ! 63 RETURN 64 ! 65END FUNCTION set_hubbard_l 66!--------------------------------------------------------------------------- 67 68!--------------------------------------------------------------------------- 69FUNCTION set_hubbard_l_back( psd ) RESULT( hubbard_l_back ) 70 !--------------------------------------------------------------------------- 71 ! 72 USE io_global, ONLY : stdout 73 ! 74 IMPLICIT NONE 75 ! 76 INTEGER :: hubbard_l_back 77 CHARACTER(LEN=2), INTENT(IN) :: psd 78 ! 79 ! 80 SELECT CASE( TRIM(ADJUSTL(psd)) ) 81 ! 82 CASE( 'H', 'He', 'Li', 'Be', 'Na', 'Mg', 'K', 'Ca', 'Rb', 'Sr', 'Cs', 'Ba',& 83 'Fr', 'Ra' ) 84 ! 85 hubbard_l_back = -1 ! no background states 86 ! 87 CASE( 'Se' ) 88 ! 89 hubbard_l_back = 2 90 ! 91 CASE( 'Zn' ) 92 ! 93 hubbard_l_back = 1 94 ! 95 CASE DEFAULT 96 ! 97 ! For almost all the elements the background states are s states 98 ! 99 hubbard_l_back = 0 100 ! 101 END SELECT 102 ! 103 RETURN 104 ! 105END FUNCTION set_hubbard_l_back 106