00001 subroutine surf_int_fluid_rg(souf,surf,irf)
00002 use phys_constant, only : long, pi
00003 use grid_parameter, only : nrf, ntf, npf
00004 use weight_midpoint_fluid, only : hwtpfsf
00005 use def_matter, only : rs
00006 use coordinate_grav_r, only : rg
00007 use interface_interpo_linear_type0
00008 use interface_interpo_linear_type0_2Dsurf
00009 implicit none
00010
00011 integer :: irf,itf,ipf
00012 real(long) :: surf, hsouf, hsurf
00013 real(long),pointer :: souf(:,:)
00014
00015 surf = 0.0d0
00016 do ipf = 1, npf
00017 do itf = 1, ntf
00018
00019 hsouf = souf(itf,ipf)
00020 call interpo_linear_type0_2Dsurf(hsurf,rs,itf,ipf)
00021 surf = surf + hsouf*hsurf**2*hwtpfsf(itf,ipf)
00022 end do
00023 end do
00024 surf = surf*rg(irf)**2
00025
00026 end subroutine surf_int_fluid_rg