00001 subroutine gauge_fix_kerr_schild
00002 use phys_constant, only : long
00003 use grid_parameter, only : nrg, ntg, npg
00004 use def_metric, only : trk
00005 use def_metric_excurve_grid, only : trk_grid
00006 use def_transverse_part, only : Ftvx, Ftvy, Ftvz, &
00007 & Ftvx_grid, Ftvy_grid, Ftvz_grid
00008 use def_vector_x, only : vec_xg, hvec_xg
00009 implicit none
00010 real(long) :: traceK, dgamma(3)
00011 real(long) :: x, y, z
00012 integer :: irg, itg, ipg
00013
00014
00015
00016 do ipg = 1, npg
00017 do itg = 1, ntg
00018 do irg = 1, nrg
00019
00020 x = hvec_xg(irg,itg,ipg,1)
00021 y = hvec_xg(irg,itg,ipg,2)
00022 z = hvec_xg(irg,itg,ipg,3)
00023 call kerr_schild_traceK(x,y,z,traceK)
00024 call kerr_schild_transverse_part(x,y,z,dgamma)
00025 trk( irg,itg,ipg) = traceK
00026 Ftvx(irg,itg,ipg) = dgamma(1)
00027 Ftvy(irg,itg,ipg) = dgamma(2)
00028 Ftvz(irg,itg,ipg) = dgamma(3)
00029
00030 end do
00031 end do
00032 end do
00033
00034 do ipg = 0, npg
00035 do itg = 0, ntg
00036 do irg = 0, nrg
00037
00038 x = vec_xg(irg,itg,ipg,1)
00039 y = vec_xg(irg,itg,ipg,2)
00040 z = vec_xg(irg,itg,ipg,3)
00041 call kerr_schild_traceK(x,y,z,traceK)
00042 call kerr_schild_transverse_part(x,y,z,dgamma)
00043 trk_grid( irg,itg,ipg) = traceK
00044 Ftvx_grid(irg,itg,ipg) = dgamma(1)
00045 Ftvy_grid(irg,itg,ipg) = dgamma(2)
00046 Ftvz_grid(irg,itg,ipg) = dgamma(3)
00047
00048 end do
00049 end do
00050 end do
00051
00052 end subroutine gauge_fix_kerr_schild