File: c_pbe_gcor.f90

package info (click to toggle)
elkcode 5.4.24-2
  • links: PTS, VCS
  • area: main
  • in suites: buster, sid
  • size: 12,840 kB
  • sloc: f90: 48,415; fortran: 22,457; perl: 965; makefile: 384; sh: 369; python: 105; ansic: 67
file content (19 lines) | stat: -rw-r--r-- 472 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

! This routine is based on code written by K. Burke.

subroutine c_pbe_gcor(a,a1,b1,b2,b3,b4,rtrs,gg,ggrs)
implicit none
! arguments
real(8), intent(in) :: a,a1,b1,b2,b3,b4,rtrs
real(8), intent(out) :: gg,ggrs
! local variables
real(8) q0,q1,q2,q3
q0=-2.d0*a*(1.d0+a1*rtrs*rtrs)
q1=2.d0*a*rtrs*(b1+rtrs*(b2+rtrs*(b3+b4*rtrs)))
q2=log(1.d0+1.d0/q1)
gg=q0*q2
q3=a*(b1/rtrs+2.d0*b2+rtrs*(3.d0*b3+4.d0*b4*rtrs))
ggrs=-2.d0*a*a1*q2-q0*q3/(q1*(1.d0+q1))
return
end subroutine