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