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