00001 subroutine outer_boundary_d_poty(sou_surf,Bfun,dBfundy)
00002   use phys_constant, only  : long
00003   use grid_parameter, only : nrg, ntg, npg, rgin
00004   implicit none
00005   real(long), pointer :: sou_surf(:,:), Bfun(:,:,:), dBfundy(:,:,:)
00006   real(long) :: dBdx,dBdy,dBdz, bf
00007   integer    :: itg, ipg
00008 
00009   do ipg = 1, npg
00010     do itg = 1, ntg
00011       dBdy = 0.25d0*(dBfundy(nrg,itg,ipg)   + dBfundy(nrg,itg-1,ipg)  &
00012                    + dBfundy(nrg,itg,ipg-1) + dBfundy(nrg,itg-1,ipg-1) )
00013 
00014       bf = 0.25d0*(Bfun(0,itg,ipg)   + Bfun(0,itg-1,ipg)  &
00015                  + Bfun(0,itg,ipg-1) + Bfun(0,itg-1,ipg-1) )
00016 
00017 
00018 
00019       sou_surf(itg,ipg) = 0.0d0 
00020     end do
00021   end do
00022 
00023 end subroutine outer_boundary_d_poty