00001 subroutine reset_bh_boundary_all
00002   use phys_constant, only  : long, pi
00003   use grid_parameter, only : nrg, ntg, npg, rgin
00004   use trigonometry_grav_theta, only : sinthg, costhg
00005   use trigonometry_grav_phi,   only : sinphig, cosphig
00006   use def_binary_parameter,    only : sepa
00007   use def_metric 
00008   implicit none
00009   real(long) :: st, ct, sp, cp, xa,ya,za, rcm2, xycm2, rcm, tcm, pcm
00010   integer    :: itg, ipg
00011 
00012   do ipg = 0, npg
00013     do itg = 0, ntg
00014       st = sinthg(itg)
00015       ct = costhg(itg)
00016       sp = sinphig(ipg)
00017       cp = cosphig(ipg)
00018 
00019       xa = rgin*st*cp
00020       ya = rgin*st*sp
00021       za = rgin*ct
00022 
00023       rcm2 = (xa-0.5d0*sepa)**2 + ya**2 + za**2
00024       xycm2= (xa-0.5d0*sepa)**2 + ya**2
00025 
00026       rcm = sqrt(rcm2)
00027       tcm = atan2(sqrt(xycm2),za)
00028       pcm = dmod(2.0d0*pi+datan2(ya,xa-0.5d0*sepa),2.0d0*pi)
00029 
00030       psi(0,itg,ipg)  = 3.0d0
00031       alps(0,itg,ipg) = 1.0d0
00032       bvxd(0,itg,ipg) = -0.08d0*(-rcm*sin(tcm)*sin(pcm))
00033       bvyd(0,itg,ipg) = -0.08d0*(+rcm*sin(tcm)*cos(pcm))
00034       bvzd(0,itg,ipg) = 0.0d0
00035     end do
00036   end do
00037 end subroutine reset_bh_boundary_all