00001 subroutine source_ang_mom_inf(sous,irg)
00002   use phys_constant, only : long
00003   use grid_parameter, only : nrg, ntg, npg
00004   use def_metric, only : tfkij
00005   use def_metric_excurve_grid, only : tfkij_grid
00006   use coordinate_grav_r, only : rg
00007   use def_vector_irg, only : hvec_irg_cm_phig, hvec_irg_cbh_xg
00008   implicit none
00009   real(long), pointer :: sous(:,:)
00010   real(long) :: ni, vphi_cm, Aij, work(2,2)
00011   integer    :: irg, itg, ipg, ia, ib
00012 
00013   call calc_vector_irg(2,irg)
00014 
00015 
00016 
00017   do ipg = 1, npg
00018     do itg = 1, ntg
00019       sous(itg,ipg)=0.0d0
00020       do ib = 1, 3
00021         do ia = 1, 3
00022 
00023 
00024 
00025           work(1:2,1:2) = tfkij_grid(irg, itg-1:itg,ipg-1:ipg, ia,ib)
00026           call interpo_linear1p_type0_2Dsurf(Aij,work)
00027 
00028           ni = hvec_irg_cbh_xg(itg,ipg,ib)/rg(irg)
00029           vphi_cm = hvec_irg_cm_phig(itg,ipg,ia)
00030 
00031           sous(itg,ipg) = sous(itg,ipg) + Aij*vphi_cm*ni
00032         end do
00033       end do
00034     end do
00035   end do
00036 
00037 end subroutine source_ang_mom_inf
00038