00001 subroutine calc_ang_mom_WL
00002
00003 use phys_constant, only : long, pi
00004 use grid_parameter, only : nrg, ntg, npg, nrf, ntf, npf
00005 use def_matter_parameter, only : radi
00006 use def_quantities, only : angmom
00007 use make_array_3d
00008 use interface_source_ang_mom_WL
00009 use interface_vol_int_grav
00010 use interface_vol_int_fluid
00011 implicit none
00012 real(long) :: volf, volg, fac8pi
00013 real(long), pointer :: soug(:,:,:), souf(:,:,:)
00014
00015 call alloc_array3d(soug, 0, nrg, 0, ntg, 0, npg)
00016 call alloc_array3d(souf,0, nrf,0, ntf,0, npf)
00017
00018 call source_ang_mom_WL(soug,souf)
00019 call vol_int_grav(soug,volg)
00020 call vol_int_fluid(souf,volf)
00021
00022 fac8pi = 0.125d0/pi
00023 angmom = radi**4*volf + fac8pi*radi**2*volg
00024
00025
00026
00027 deallocate(soug)
00028 deallocate(souf)
00029
00030 end subroutine calc_ang_mom_WL