4 subroutine c_pbe(beta,rs,z,t,uu,vv,ww,ec,vcup,vcdn)
7 real(8),
intent(in) :: beta,rs,z,t,uu,vv,ww
8 real(8),
intent(out) :: ec,vcup,vcdn
10 real(8),
parameter :: thrd=1.d0/3.d0
11 real(8),
parameter :: thrdm=-thrd
12 real(8),
parameter :: thrd2=2.d0*thrd
13 real(8),
parameter :: thrd4=4.d0*thrd
14 real(8),
parameter :: sixthm=thrdm/2.d0
15 real(8),
parameter :: gam=0.5198420997897463295d0
16 real(8),
parameter :: fzz=8.d0/(9.d0*gam)
17 real(8),
parameter :: gamma=0.0310906908696548950d0
18 real(8),
parameter :: eta=1.d-12
19 real(8) rtrs,eu,eurs,ep,eprs,alfm,alfrsm,z4,f
20 real(8) ecrs,fz,ecz,comm,g,g3,pon,b,b2,t2,t4
21 real(8) q4,q5,g4,t6,rsthrd,gz,fac,bg,bec,q8,q9
22 real(8) hb,hrs,fact0,fact1,hbt,hrst,hz,ht,hzt
23 real(8) fact2,fact3,htt,pref,fact5,h,dvcup,dvcdn
27 call c_pbe_gcor(0.0310907d0,0.21370d0,7.5957d0,3.5876d0,1.6382d0,0.49294d0, &
29 call c_pbe_gcor(0.01554535d0,0.20548d0,14.1189d0,6.1977d0,3.3662d0,0.62517d0, &
31 call c_pbe_gcor(0.0168869d0,0.11125d0,10.357d0,3.6231d0,0.88026d0,0.49671d0, &
34 f=((1.d0+z)**thrd4+(1.d0-z)**thrd4-2.d0)/gam
36 ec=eu*(1.d0-f*z4)+ep*f*z4-alfm*f*(1.d0-z4)/fzz
37 ecrs=eurs*(1.d0-f*z4)+eprs*f*z4-alfrsm*f*(1.d0-z4)/fzz
38 fz=thrd4*((1.d0+z)**thrd-(1.d0-z)**thrd)/gam
39 ecz=4.d0*(z**3)*f*(ep-eu+alfm/fzz)+fz*(z4*ep-z4*eu-(1.d0-z4)*alfm/fzz)
40 comm=ec-rs*ecrs/3.d0-z*ecz
44 g=((1.d0+z)**thrd2+(1.d0-z)**thrd2)/2.d0
47 b=delt/(exp(pon)-1.d0)
54 h=g3*(beta/delt)*log(1.d0+delt*q4*t2/q5)
58 gz=(((1.d0+z)**2+eta)**sixthm-((1.d0-z)**2+eta)**sixthm)/3.d0
60 bg=-3.d0*b2*ec*fac/(beta*g4)
62 q8=q5*q5+delt*q4*q5*t2
64 hb=-beta*g3*b*t6*(2.d0+b*t2)/q8
65 hrs=-rsthrd*hb*bec*ecrs
66 fact0=2.d0*delt-6.d0*b
68 hbt=2.d0*beta*g3*t4*((q4*q5*fact0-delt*fact1)/q8)/q8
69 hrst=rsthrd*t2*hbt*bec*ecrs
70 hz=3.d0*gz*h/g+hb*(bg*gz+bec*ecz)
72 hzt=3.d0*gz*ht/g+hbt*(bg*gz+bec*ecz)
73 fact2=q4*q5+b*t2*(q4*q9+q5)
74 fact3=2.d0*b*q5*q9+delt*fact2
75 htt=4.d0*beta*g3*t*(2.d0*b/q8-(q9*fact3/q8)/q8)
76 comm=h+hrs+hrst+t2*ht/6.d0+7.d0*t2*t*htt/6.d0
78 fact5=gz*(2.d0*ht+t*htt)/g
79 comm=comm-pref*z-uu*htt-vv*ht-ww*(hzt-fact5)
subroutine c_pbe(beta, rs, z, t, uu, vv, ww, ec, vcup, vcdn)
elemental subroutine c_pbe_gcor(a, a1, b1, b2, b3, b4, rtrs, gg, ggrs)