00001 subroutine source_mass_asympto(fnc,sousf,irg)
00002 use phys_constant, only : long
00003 use grid_parameter, only : ntg, npg
00004 use make_array_2d
00005 use interface_interpo_linear_type0_2Dsurf
00006 use interface_grdr_gridpoint_type0_nosym
00007 implicit none
00008 real(long), pointer :: fnc(:,:,:),dfnc(:,:), sousf(:,:)
00009 integer :: irg, itg, ipg
00010 real(long) :: deriv, val
00011
00012 call alloc_array2d(dfnc, 0,ntg, 0,npg)
00013
00014 do ipg = 0, npg
00015 do itg = 0, ntg
00016 call grdr_gridpoint_type0_nosym(fnc,deriv,irg,itg,ipg)
00017 dfnc(itg,ipg) = deriv
00018 end do
00019 end do
00020
00021 do ipg = 1, npg
00022 do itg = 1, ntg
00023 call interpo_linear_type0_2Dsurf(val,dfnc,itg,ipg)
00024 sousf(itg,ipg) = val
00025 end do
00026 end do
00027
00028 deallocate(dfnc)
00029 end subroutine source_mass_asympto