Add the exchange-correlation-potential to the given potential and if total
energies should be calculated (kte=1
) the exchange-correlation-energies are calculated.
Use as input the charge density times (rho2ns(...,1)
) and in the
spin-polarized case (nspin=2
) the spin density times (rho2ns(...,2)
) .
The density times is generated at an angular mesh. tThe exchange-correlation
potential and the exchange-correlation energy are calculated at those mesh
points with a subroutine. In the paramagnetic case the spin-density is set
equal zero. After that the exchange-correlation potential and in the case of
total energies (kte=1) the exchange-correlation energy are expanded into spherical
harmonics. The ex.-cor. potential is added to the given potential.
The expansion into spherical harmonics uses the orthogonality of these harmonics.
Therefore a gauss-legendre integration for and a gauss-tschebyscheff
integration for is used .
All needed values for the angular mesh and angular integration are generate in
the subroutine sphere. The ex.-cor. potential is extrapolated to the origin only
for the lm=1 value .
Note
A d d
t h e
e x c h a n g e - c o r r e l a t i o n - p o t e n t i a l
t o
t h e
g i v e n
p o t e n t i a l
a n d
i f
t o t a l
e n e r g i e s
s h o u l d
b e
c a l c u l a t e d
(
k
t
e
=
1
)
t h e
e x c h a n g e - c o r r e l a t i o n - e n e r g i e s
a r e
c a l c u l a t e d .
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout), | dimension(0:lpotd, *) | :: | exc |
xc energy |
|
integer, | intent(in) | :: | kte |
Calculation of the total energy On/Off (1/0) |
||
integer, | intent(in) | :: | kxc |
Type of xc-potential 0=vBH 1=MJW 2=VWN 3=PW91 |
||
integer, | intent(in) | :: | lmax |
Maximum l component in wave function expansion |
||
integer, | intent(in) | :: | nspin |
Counter for spin directions |
||
integer, | intent(in) | :: | iatyp | |||
real(kind=dp), | intent(in), | dimension(irmd, lmpotd, 2) | :: | rho2ns |
radial density |
|
real(kind=dp), | intent(inout), | dimension(irmd, lmpotd, 2) | :: | v | ||
real(kind=dp), | intent(in), | dimension(irmd) | :: | r |
Set of real space vectors (in a.u.) |
|
real(kind=dp), | intent(in), | dimension(irmd) | :: | drdi |
Derivative dr/di |
|
integer, | intent(in) | :: | irws |
R point at WS radius |
||
integer, | intent(in), | dimension(0:ipand) | :: | ircut |
R points of panel borders |
|
integer, | intent(in) | :: | ipan |
Number of panels in non-MT-region |
||
integer, | intent(in) | :: | kshape |
Exact treatment of WS cell |
||
real(kind=dp), | intent(in), | dimension(*) | :: | gsh | ||
integer, | intent(in), | dimension(ngshd, 3) | :: | ilm | ||
integer, | intent(in), | dimension(0:lmpotd) | :: | imaxsh | ||
integer, | intent(in), | dimension(lmxspd) | :: | ifunm | ||
real(kind=dp), | intent(in), | dimension(irid, nfund) | :: | thetas |
shape function THETA=0 outer space THETA =1 inside WS cell in spherical harmonics expansion |
|
real(kind=dp), | intent(in), | dimension(ijend, *) | :: | yr | ||
real(kind=dp), | intent(in), | dimension(ijend, *) | :: | wtyr | ||
integer, | intent(in) | :: | ijend | |||
integer, | intent(in), | dimension(lmxspd) | :: | lmsp |
0,1 : non/-vanishing lm=(l,m) component of non-spherical potential |