Add the exchange-correlation-potential in the GGA approach 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. the exchange-correlation
potential and the exchange-correlation energy are calculated at those mesh
points with a subroutine.
In the non-spin-polarized 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
i n
t h e
G G A
a p p r o a c h
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 |
|
real(kind=dp) | :: | a | ||||
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, *) | :: | wtyr | ||
integer, | intent(in) | :: | ijend | |||
integer, | intent(in), | dimension(lmxspd) | :: | lmsp |
0,1 : non/-vanishing lm=(l,m) component of non-spherical potential |
|
real(kind=dp), | intent(in), | dimension(ijend) | :: | thet | ||
real(kind=dp), | intent(in), | dimension(ijend, lmpotd) | :: | ylm | ||
real(kind=dp), | intent(in), | dimension(ijend, lmpotd) | :: | dylmt1 | ||
real(kind=dp), | intent(in), | dimension(ijend, lmpotd) | :: | dylmt2 | ||
real(kind=dp), | intent(in), | dimension(ijend, lmpotd) | :: | dylmf1 | ||
real(kind=dp), | intent(in), | dimension(ijend, lmpotd) | :: | dylmf2 | ||
real(kind=dp), | intent(in), | dimension(ijend, lmpotd) | :: | dylmtf |