00001 subroutine calc_ToverW_WL
00002 use phys_constant, only : long, pi
00003 use grid_parameter, only : nrg, ntg, npg, nrf, ntf, npf
00004 use def_matter, only : omef, omeg
00005 use def_matter_parameter, only : ome, radi
00006 use def_quantities
00007 use def_quantities_derived, only : omega
00008 use make_array_3d
00009 use interface_source_mp_minus_madm_peos
00010 use interface_vol_int_grav
00011 use interface_vol_int_fluid
00012 use interface_source_ang_mom_WL
00013 implicit none
00014 real(long) :: fac2pi, fac8pi
00015 real(long) :: volg, volf
00016 real(long), pointer :: soug(:,:,:), souf(:,:,:)
00017
00018 call alloc_array3d(soug, 0, nrg, 0, ntg, 0, npg)
00019 call alloc_array3d(souf, 0, nrf, 0, ntf, 0, npf)
00020
00021 omega = ome/radi
00022 call source_ang_mom_WL(soug,souf)
00023 souf(0:nrf,0:ntf,0:npf) = omef(0:nrf,0:ntf,0:npf)*souf(0:nrf,0:ntf,0:npf)
00024 soug(0:nrg,0:ntg,0:npg) = omeg(0:nrg,0:ntg,0:npg)*soug(0:nrg,0:ntg,0:npg)
00025 call vol_int_fluid(souf,volf)
00026 call vol_int_grav(soug,volg)
00027
00028 fac8pi = 0.125d0/pi
00029 T_kinene_omeJ = 0.5d0*(radi**3*volf + fac8pi*radi*volg)
00030 W_gravene_omeJ = admmass - propermass - T_kinene_omeJ
00031
00032
00033
00034
00035
00036
00037
00038
00039 ToverW_omeJ = T_kinene_omeJ/dabs(W_gravene_omeJ)
00040 I_inertia = angmom/omega
00041
00042 deallocate(soug)
00043 deallocate(souf)
00044 end subroutine calc_ToverW_WL