2003-01-20 05:58:50 +08:00
|
|
|
!
|
|
|
|
! Copyright (C) 2001 PWSCF group
|
|
|
|
! This file is distributed under the terms of the
|
|
|
|
! GNU General Public License. See the file `License'
|
|
|
|
! in the root directory of the present distribution,
|
|
|
|
! or http://www.gnu.org/copyleft/gpl.txt .
|
|
|
|
!
|
|
|
|
!-----------------------------------------------------------------------
|
|
|
|
|
2003-02-10 16:58:33 +08:00
|
|
|
subroutine tabd (nt, occ_loc)
|
2004-01-15 23:50:19 +08:00
|
|
|
!-----------------------------------------------------------------------
|
|
|
|
!
|
|
|
|
! This routine is a table (far from being complete) for the total number
|
|
|
|
! of localized electrons in transition metals or rare earths
|
|
|
|
! (PPs usually are built on non physical configurations)
|
|
|
|
!
|
2004-01-23 23:08:03 +08:00
|
|
|
USE kinds, ONLY: DP
|
The following pseudopotential-related variables in module uspp_param:
zp, psd, dion, betar, jjj, qqq, qfunc, qfcoef, vloc_at, rinner,
nbeta, kkbeta, nqf, nqlc, lll, tvanp
have been replaced by the corresponding variables in structure 'upf'.
There shouldn't be any side effects, but who knows. There is still a
copy of the above variables that will be removed sooner or later.
Basically : variable([i,j,k,..,]n) => upf(n)%variable [(i,j,k,..)]
Note that upf%qfunc has for the time being three indices instead of two,
and that upf%kkbeta is the analogous of kkbeta and not what it used to be.
The logic of this operation will be clearer when it will be completed
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@4308 c92efa57-630b-4861-b058-cf58834340f0
2007-10-05 17:26:23 +08:00
|
|
|
USE uspp_param, ONLY: upf
|
2004-01-15 23:50:19 +08:00
|
|
|
implicit none
|
2005-08-28 22:09:42 +08:00
|
|
|
real(DP) :: occ_loc
|
2004-01-15 23:50:19 +08:00
|
|
|
! output: the total number of d electrons
|
2003-01-20 05:58:50 +08:00
|
|
|
|
2004-01-15 23:50:19 +08:00
|
|
|
integer :: nt
|
2009-05-08 16:28:39 +08:00
|
|
|
|
|
|
|
SELECT CASE( TRIM(ADJUSTL(upf(nt)%psd)) )
|
|
|
|
!
|
|
|
|
! TRANSITION METALS
|
|
|
|
!
|
|
|
|
CASE( 'Mn' )
|
|
|
|
occ_loc = 5.d0
|
|
|
|
!
|
|
|
|
CASE( 'Fe' )
|
|
|
|
occ_loc = 6.d0
|
|
|
|
!
|
|
|
|
CASE( 'Co' )
|
|
|
|
occ_loc = 7.d0
|
|
|
|
!
|
|
|
|
CASE( 'Ni' )
|
|
|
|
occ_loc = 8.d0
|
|
|
|
!
|
|
|
|
CASE( 'Cu' )
|
|
|
|
occ_loc = 10.d0
|
2004-01-15 23:50:19 +08:00
|
|
|
!
|
|
|
|
! RARE EARTHS
|
|
|
|
!
|
2009-05-08 16:28:39 +08:00
|
|
|
CASE( 'Ce' )
|
|
|
|
occ_loc = 2.d0
|
2004-01-15 23:50:19 +08:00
|
|
|
!
|
|
|
|
! OTHER ELEMENTS
|
|
|
|
!
|
2009-05-08 16:28:39 +08:00
|
|
|
CASE( 'C' )
|
|
|
|
occ_loc = 2.d0
|
|
|
|
!
|
|
|
|
CASE( 'O' )
|
|
|
|
occ_loc = 4.d0
|
|
|
|
!
|
|
|
|
CASE( 'H' )
|
|
|
|
occ_loc = 1.d0
|
|
|
|
!
|
|
|
|
! NOT INSERTED
|
|
|
|
!
|
|
|
|
CASE DEFAULT
|
|
|
|
occ_loc = 0.d0
|
|
|
|
call errore ('tabd', 'pseudopotential not yet inserted', 1)
|
|
|
|
!
|
|
|
|
END SELECT
|
|
|
|
|
2004-01-15 23:50:19 +08:00
|
|
|
return
|
2003-01-20 05:58:50 +08:00
|
|
|
end subroutine tabd
|
|
|
|
|