00001 subroutine vol_int_fluid(souf,vol)
00002   use phys_constant, only  :   long, pi
00003   use grid_parameter, only  :   nrf, ntf, npf
00004   use coordinate_grav_r, only  :   drg, rg
00005   use coordinate_grav_theta, only  : dthg
00006   use coordinate_grav_phi, only  :   dphig
00007   use trigonometry_grav_theta, only  : sinthg, hsinthg
00008   use weight_midpoint_fluid, only : hwrtpf, siwrtpf
00009   use def_matter, only : rs
00010 
00011   use interface_interpo_linear_type0_2Dsurf
00012   implicit none
00013 
00014   integer     ::   ir,it,ip
00015   real(long)  ::   vol, hsouf, hsurf
00016   real(long),pointer  ::   souf(:,:,:)
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033   vol = 0.0d0
00034   do ip = 1, npf
00035     do it = 1, ntf
00036       do ir = 0, nrf
00037         hsouf = 0.25*(souf(ir,it,ip)   + souf(ir,it-1,ip) &
00038                     + souf(ir,it,ip-1) + souf(ir,it-1,ip-1))
00039         call interpo_linear_type0_2Dsurf(hsurf,rs,it,ip)
00040         vol = vol + hsouf * hsurf**3 *siwrtpf(ir,it,ip)
00041       end do
00042     end do
00043   end do
00044 
00045 end subroutine vol_int_fluid