mod_rhoin Module

Calculates the charge density inside r(irmin) in case of a non spherical input potential. Fills the array cden for the complex density of states the non spher. wavefunctions are approximated in that region in the following way:

  • The regular one (ir < irmin = irws-irns) : where is the regular wavefct of the spherically symmetric part of the potential and ar the alpha matrix (see subroutine regns)
  • The irregular one (ir < irmin) : where is the regular and is the irregular wavefct of the spherically symmetric part of the potential and , the matrices calculated at the point irmin (see subroutine irwns()). The structured part of the greens-function (gmat) is symmetric in its lm-indices, therefore only one half of the matrix is calculated in the subroutine for the back-symmetrisation . Rhe gaunt coeffients are symmetric too (since the are calculated using the real spherical harmonics). Rhat is why the lm2- and the lm02- loops are only only going up to lm1 or lm01 and the summands are multiplied by a factor of 2 in the case of lm1 .ne. lm2 or lm01 .ne. lm02. (see notes by B. Drittler)

Note

  • Remember that the matrices ar,cr,dr are rescaled (see subroutines irwns() and regns())
  • Arrays rho2ns and cden are initialized in subroutine rhoout.

Warning

The gaunt coeffients which are used here are ordered in a special way (see subroutine gaunt())


Subroutines

public subroutine rhoin(ar, cden, cr, df, gmat, ek, rho2ns, irc1, nsra, efac, pz, fz, qz, sz, cleb, icleb, jend, iend, ekl, cdenlm)

Author
B. Drittler
License
Creative Commons License
Category
physical-observables, KKRhost

C a l c u l a t e s

t h e

c h a r g e

d e n s i t y

i n s i d e

r ( i r m i n )

i n

c a s e

o f

a

n o n

s p h e r i c a l

i n p u t

p o t e n t i a l .

Read more…

Arguments

Type IntentOptional Attributes Name
complex(kind=dp) :: ar(lmmaxd,lmmaxd)
complex(kind=dp) :: cden(irmd,0:lmaxd)
complex(kind=dp) :: cr(lmmaxd,lmmaxd)
complex(kind=dp) :: df
complex(kind=dp) :: gmat(lmmaxd,lmmaxd)
complex(kind=dp) :: ek
real(kind=dp) :: rho2ns(irmd,lmpotd)
integer :: irc1
integer :: nsra
complex(kind=dp) :: efac(lmmaxd)
complex(kind=dp) :: pz(irmd,0:lmaxd)
complex(kind=dp) :: fz(irmd,0:lmaxd)
complex(kind=dp) :: qz(irmd,0:lmaxd)
complex(kind=dp) :: sz(irmd,0:lmaxd)
real(kind=dp) :: cleb(ncleb)
integer :: icleb(ncleb,4)
integer :: jend(lmpotd,0:lmaxd,0:lmaxd)
integer :: iend
complex(kind=dp) :: ekl(0:lmaxd)
complex(kind=dp) :: cdenlm(irmd,lmmaxd)