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