00001 subroutine kerr_schild_r_lv_home(x,y,z,r,lvu,lvd,H)
00002 use phys_constant, only : long
00003 use def_bh_parameter, only : m_kerr, a_kerr
00004 implicit none
00005 real(long) :: lvu(0:3), lvd(0:3), r, H
00006 real(long) :: x, y, z, r2xyz, a, m, r2, a2, z2
00007
00008 m = m_kerr
00009 a = a_kerr
00010 a2 = a_kerr**2
00011 r2xyz = x**2 + y**2 + z**2
00012 z2 = z**2
00013
00014 r = sqrt(0.5*(r2xyz-a2 + sqrt((r2xyz-a2)**2 + 4.0d0*a2*z2)))
00015 r2 = r**2
00016
00017 lvu(0) = -1.0d0
00018 lvu(1) = (r*x + a*y)/(r2 + a2)
00019 lvu(2) = (r*y - a*x)/(r2 + a2)
00020 lvu(3) = z/r
00021 lvd(0) = 1.0d0
00022 lvd(1) = lvu(1)
00023 lvd(2) = lvu(2)
00024 lvd(3) = lvu(3)
00025
00026 H = 2.0d0*m*r**3/(r2**2+a2*z2)
00027
00028 end subroutine kerr_schild_r_lv_home