00001 subroutine calc_shift2rotshift
00002 use grid_parameter, only : nrg, ntg, npg
00003 use def_matter_parameter, only : ome, ber, radi
00004 use def_metric, only : bvxu, bvyu, bvzu, bvxd, bvyd, bvzd
00005 use coordinate_grav_r, only : rg
00006 use trigonometry_grav_phi, only : sinphig, cosphig
00007 use trigonometry_grav_theta, only : sinthg
00008 use def_metric_rotshift, only : ovxu, ovyu, ovzu, ovxd, ovyd, ovzd
00009 use def_metric_hij, only : hxxd, hxyd, hxzd, hyyd, hyzd, hzzd
00010 use def_vector_phi, only : vec_phig
00011 implicit none
00012 real(8) :: vphixg, vphiyg, vphizg, bvxgc, bvygc, bvzgc,
00013 gmxxd, gmxyd, gmxzd, gmyxd, gmyyd, gmyzd, &
00014 gmzxd, gmzyd, gmzzd
00015 integer :: ipg, itg, irg
00016
00017
00018
00019 do ipg = 0, npg
00020 do itg = 0, ntg
00021 do irg = 0, nrg
00022 vphixg = vec_phig(irg,itg,ipg,1)
00023 vphiyg = vec_phig(irg,itg,ipg,2)
00024 vphizg = vec_phig(irg,itg,ipg,3)
00025 bvxgc = bvxu(irg,itg,ipg)
00026 bvygc = bvyu(irg,itg,ipg)
00027 bvzgc = bvzu(irg,itg,ipg)
00028 ovxu(irg,itg,ipg) = bvxgc + ome*vphixg
00029 ovyu(irg,itg,ipg) = bvygc + ome*vphiyg
00030 ovzu(irg,itg,ipg) = bvzgc + ome*vphizg
00031 end do
00032 end do
00033 end do
00034
00035
00036
00037 do ipg = 0, npg
00038 do itg = 0, ntg
00039 do irg = 0, nrg
00040 gmxxd = 1.0d0 + hxxd(irg,itg,ipg)
00041 gmxyd = hxyd(irg,itg,ipg)
00042 gmxzd = hxzd(irg,itg,ipg)
00043 gmyxd = hxyd(irg,itg,ipg)
00044 gmyyd = 1.0d0 + hyyd(irg,itg,ipg)
00045 gmyzd = hyzd(irg,itg,ipg)
00046 gmzxd = hxzd(irg,itg,ipg)
00047 gmzyd = hyzd(irg,itg,ipg)
00048 gmzzd = 1.0d0 + hzzd(irg,itg,ipg)
00049
00050 vphixg = vec_phig(irg,itg,ipg,1)
00051 vphiyg = vec_phig(irg,itg,ipg,2)
00052 vphizg = vec_phig(irg,itg,ipg,3)
00053
00054 bvxgc = bvxd(irg,itg,ipg)
00055 bvygc = bvyd(irg,itg,ipg)
00056 bvzgc = bvzd(irg,itg,ipg)
00057
00058 ovxd(irg,itg,ipg) = bvxgc + gmxxd*ome*vphixg &
00059 & + gmxyd*ome*vphiyg &
00060 & + gmxzd*ome*vphizg
00061 ovyd(irg,itg,ipg) = bvygc + gmyxd*ome*vphixg &
00062 & + gmyyd*ome*vphiyg &
00063 & + gmyzd*ome*vphizg
00064 ovzd(irg,itg,ipg) = bvzgc + gmzxd*ome*vphixg &
00065 & + gmzyd*ome*vphiyg &
00066 & + gmzzd*ome*vphizg
00067 end do
00068 end do
00069 end do
00070
00071 end subroutine calc_shift2rotshift
00072