The Elk Code
 
Loading...
Searching...
No Matches
x_pbe.f90
Go to the documentation of this file.
1
2! This routine is based on code written by K. Burke.
3
4elemental subroutine x_pbe(kappa,mu,rho,s,u,v,ex,vx)
5implicit none
6! arguments
7real(8), intent(in) :: kappa,mu
8real(8), intent(in) :: rho,s,u,v
9real(8), intent(out) :: ex,vx
10! local variables
11real(8), parameter :: ax=-0.7385587663820224058d0
12real(8), parameter :: thrd=1.d0/3.d0
13real(8), parameter :: thrd4=4.d0/3.d0
14real(8) ul,exu,s2,p0
15real(8) fxpbe,fs,fss
16ul=mu/kappa
17! LDA exchange energy density
18exu=ax*rho**thrd
19! PBE enhancement factor
20s2=s**2
21p0=1.d0+ul*s2
22fxpbe=1.d0+kappa-kappa/p0
23ex=exu*fxpbe
24fs=2.d0*kappa*ul/(p0*p0)
25fss=-4.d0*ul*s*fs/p0
26! exchange potential
27vx=exu*(thrd4*fxpbe-(u-thrd4*s2*s)*fss-v*fs)
28end subroutine
29
elemental subroutine x_pbe(kappa, mu, rho, s, u, v, ex, vx)
Definition x_pbe.f90:5