00001 ! linear interpolation on the GR coordinate. 00002 subroutine interpo_linear_type0(val,fnc,ir,it,ip) 00003 use phys_constant, only : long 00004 implicit none 00005 real(long) :: val 00006 real(long), pointer :: fnc(:,:,:) 00007 integer :: ir, it, ip 00008 val = 0.125d0*(fnc(ir,it,ip) + fnc(ir-1,it,ip) & 00009 + fnc(ir,it-1,ip) + fnc(ir-1,it-1,ip) & 00010 + fnc(ir,it,ip-1) + fnc(ir-1,it,ip-1) & 00011 + fnc(ir,it-1,ip-1) + fnc(ir-1,it-1,ip-1)) 00012 end subroutine interpo_linear_type0