mod_vxcgga Module

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

  • Modified for shape functions B. Drittler oct. 1989
  • Simplified and modified for Paragon X/PS R. Zeller Nov. 1993
  • Cor error 23/6/1996

Subroutines

public subroutine vxcgga(exc, kte, kxc, lmax, nspin, iatyp, rho2ns, v, r, drdi, a, irws, ircut, ipan, kshape, gsh, ilm, imaxsh, ifunm, thetas, wtyr, ijend, lmsp, thet, ylm, dylmt1, dylmt2, dylmf1, dylmf2, dylmtf)

Author
B. Drittler
License
Creative Commons License
Category
xc-potential, KKRhost

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

.

Read more…

Arguments

Type IntentOptional 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