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