00001 subroutine source_virial_WL_MHD(sou_Tkin,sou_Pint,sou_Memf,sou_Wgra)
00002 use phys_constant, only : long
00003 use grid_parameter, only : nrg, ntg, npg
00004 use def_metric, only : psi
00005 use def_SEM_tensor_EMF, only : trsm_EMF
00006 use interface_source_virial_WL
00007 use interface_interpo_linear_type0
00008 implicit none
00009 real(long), pointer :: sou_Tkin(:,:,:), sou_Pint(:,:,:),
00010 sou_Memf(:,:,:), sou_Wgra(:,:,:)
00011 real(long) :: psigc, psigc6
00012 integer :: irg, itg, ipg
00013
00014
00015
00016
00017
00018 call source_virial_WL(sou_Tkin,sou_Pint,sou_Wgra)
00019
00020 do ipg = 1, npg
00021 do itg = 1, ntg
00022 do irg = 1, nrg
00023 call interpo_linear_type0(psigc,psi,irg,itg,ipg)
00024 psigc6 = psigc**6
00025 sou_Memf(irg,itg,ipg)= trsm_EMF(irg,itg,ipg)*psigc6
00026 end do
00027 end do
00028 end do
00029
00030 end subroutine source_virial_WL_MHD