00001 subroutine calc_ang_mom_BBH_CF_thr
00002 use phys_constant, only : long, pi
00003 use grid_parameter, only : nrg, ntg, npg
00004 use make_array_1d
00005 use make_array_2d
00006 use def_quantities, only : angmom_thr
00007 use interface_source_ang_mom_thr
00008 use interface_source_ang_mom_exc
00009 use interface_surf_int_grav_rg
00010 use grid_parameter_binary_excision, only: ex_nrg
00011 implicit none
00012 real(long) :: fac8pi
00013 real(long) :: int_ang_mom_thr, int_ang_mom_exc
00014 real(long),pointer :: sou_ang_mom_thr(:,:), sou_ang_mom_exc(:,:)
00015 integer :: irg
00016
00017 call alloc_array2d(sou_ang_mom_thr, 1, ntg, 1, npg)
00018 call alloc_array2d(sou_ang_mom_exc, 1, ntg, 1, npg)
00019
00020 fac8pi = 0.125d0/pi
00021
00022 call source_ang_mom_thr(sou_ang_mom_thr)
00023
00024 call surf_int_grav_rg(sou_ang_mom_thr, int_ang_mom_thr, 0)
00025
00026
00027 call source_ang_mom_exc(sou_ang_mom_exc)
00028 call surf_int_grav_rg(sou_ang_mom_exc, int_ang_mom_exc, ex_nrg)
00029 angmom_thr = -fac8pi*(int_ang_mom_thr + int_ang_mom_exc)
00030 write(6,'(a37,1p,e14.6)') 'Angular momentum (throat + excised) =', angmom_thr
00031
00032 angmom_thr = -2.0d0*fac8pi*int_ang_mom_thr
00033 write(6,'(a28,1p,e14.6)') 'Angular momentum (throats) =', angmom_thr
00034
00035 deallocate(sou_ang_mom_thr)
00036 deallocate(sou_ang_mom_exc)
00037 end subroutine calc_ang_mom_BBH_CF_thr