1! 2! Copyright (C) 2001-2020 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 hubbard_occ( psd ) 10 !----------------------------------------------------------------------- 11 !! This routine is a table (far from being complete) for the total number 12 !! of localized electrons in transition metals or rare earths (PPs usually 13 !! are built on non physical configurations). 14 ! 15 USE kinds, ONLY: DP 16 ! 17 IMPLICIT NONE 18 ! 19 CHARACTER(LEN=2), INTENT(IN) :: psd 20 REAL(DP) :: hubbard_occ 21 ! 22 SELECT CASE( TRIM(ADJUSTL(psd)) ) 23 ! 24 ! TRANSITION METALS 25 ! 26 CASE( 'Ti', 'Zr', 'Hf' ) 27 hubbard_occ = 2.d0 28 ! 29 CASE( 'V', 'Nb', 'Ta' ) 30 hubbard_occ = 3.d0 31 ! 32 CASE( 'Cr', 'Mo', 'W' ) 33 hubbard_occ = 5.d0 34 ! 35 CASE( 'Mn', 'Tc', 'Re' ) 36 hubbard_occ = 5.d0 37 ! 38 CASE( 'Fe', 'Ru', 'Os' ) 39 hubbard_occ = 6.d0 40 ! 41 CASE( 'Co', 'Rh', 'Ir' ) 42 hubbard_occ = 7.d0 43 ! 44 CASE( 'Ni', 'Pd', 'Pt' ) 45 hubbard_occ = 8.d0 46 ! 47 CASE( 'Cu', 'Ag', 'Au' ) 48 hubbard_occ = 10.d0 49 ! 50 CASE( 'Zn', 'Cd', 'Hg' ) 51 hubbard_occ = 10.d0 52 ! 53 ! RARE EARTHS 54 ! 55 CASE( 'Ce', 'Th' ) 56 hubbard_occ = 2.d0 57 ! 58 CASE( 'Pr', 'Pa' ) 59 hubbard_occ = 3.d0 60 ! 61 CASE( 'Nd', 'U' ) 62 hubbard_occ = 4.d0 63 ! 64 CASE( 'Pm', 'Np' ) 65 hubbard_occ = 5.d0 66 ! 67 CASE( 'Sm', 'Pu' ) 68 hubbard_occ = 6.d0 69 ! 70 CASE( 'Eu', 'Am' ) 71 hubbard_occ = 6.d0 72 ! 73 CASE( 'Gd', 'Cm' ) 74 hubbard_occ = 7.d0 75 ! 76 CASE( 'Tb', 'Bk' ) 77 hubbard_occ = 8.d0 78 ! 79 CASE( 'Dy', 'Cf' ) 80 hubbard_occ = 9.d0 81 ! 82 CASE( 'Ho', 'Es' ) 83 hubbard_occ =10.d0 84 ! 85 CASE( 'Er', 'Fm' ) 86 hubbard_occ =11.d0 87 ! 88 CASE( 'Tm', 'Md' ) 89 hubbard_occ =12.d0 90 ! 91 CASE( 'Yb', 'No' ) 92 hubbard_occ =13.d0 93 ! 94 CASE( 'Lu', 'Lr' ) 95 hubbard_occ =14.d0 96 ! 97 ! OTHER ELEMENTS 98 ! 99 CASE( 'C' ) 100 hubbard_occ = 2.d0 101 ! 102 CASE( 'N', 'As' ) 103 hubbard_occ = 3.d0 104 ! 105 CASE( 'O' ) 106 hubbard_occ = 4.d0 107 ! 108 CASE( 'H' ) 109 hubbard_occ = 1.d0 110 ! 111 CASE( 'Ga', 'In' ) 112 hubbard_occ = 10.d0 113 ! 114 ! 115 ! NOT INSERTED 116 ! 117 CASE DEFAULT 118 hubbard_occ = 0.d0 119 call errore ('hubbard_occ', 'pseudopotential not yet inserted', 1) 120 ! 121 END SELECT 122 ! 123 RETURN 124 ! 125END FUNCTION hubbard_occ 126!----------------------------------------------------------------------- 127 128!----------------------------------------------------------------------- 129FUNCTION hubbard_occ_back ( psd ) 130 !----------------------------------------------------------------------- 131 ! 132 ! This routine is a table (far from being complete) for the total number 133 ! of localized electrons in transition metals or rare earths in the 134 ! background channel (PPs usually are built on non physical configurations) 135 ! 136 USE kinds, ONLY: DP 137 ! 138 IMPLICIT NONE 139 ! 140 CHARACTER(LEN=2), INTENT(IN) :: psd 141 REAL(DP) :: hubbard_occ_back 142 ! 143 SELECT CASE( TRIM(ADJUSTL(psd)) ) 144 ! 145 ! TRANSITION METALS 146 ! 147 CASE('Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Ta', 'Ir', 'Sc', 'La', 'Lu') 148 hubbard_occ_back = 2.d0 149 ! 150 CASE( 'Zn' , 'Se' ) 151 hubbard_occ_back = 0.01d0 152 ! 153 ! OTHER ELEMENTS 154 ! 155 CASE( 'C', 'O', 'Si', 'Ga', 'As', 'Al','N', 'P', 'Ar' ) 156 hubbard_occ_back = 2.d0 157 ! 158 CASE( 'H', 'Li' ) 159 hubbard_occ_back = 0.d0 160 ! 161 ! NOT INSERTED 162 ! 163 CASE DEFAULT 164 hubbard_occ_back = 0.d0 165 call errore ('hubbard_occ_back', 'pseudopotential not yet inserted', 1) 166 ! 167 END SELECT 168 ! 169 RETURN 170 ! 171END FUNCTION hubbard_occ_back 172!----------------------------------------------------------------------- 173