00001 subroutine source_ang_mom_EMF(soug)
00002 use phys_constant, only : long, pi
00003 use grid_parameter, only : nrg, ntg, npg
00004 use def_SEM_tensor_EMF, only : jmd_EMF
00005 use def_metric, only : psi
00006 use interface_interpo_linear_type0
00007 use def_vector_phi, only : hvec_phig
00008 implicit none
00009 real(long), pointer :: soug(:,:,:)
00010 real(long) :: rjjx, rjjy, rjjz, rjjphi
00011 real(long) :: vphig(1:3), psigc, fac8pi=8.0d0*pi
00012 integer :: ipg, itg, irg, ia, ib
00013
00014 do ipg = 1, npg
00015 do itg = 1, ntg
00016 do irg = 1, nrg
00017
00018 call interpo_linear_type0(psigc,psi,irg,itg,ipg)
00019 vphig(1) = hvec_phig(irg,itg,ipg,1)
00020 vphig(2) = hvec_phig(irg,itg,ipg,2)
00021 vphig(3) = hvec_phig(irg,itg,ipg,3)
00022 rjjx = jmd_EMF(irg,itg,ipg,1)
00023 rjjy = jmd_EMF(irg,itg,ipg,2)
00024 rjjz = jmd_EMF(irg,itg,ipg,3)
00025 rjjphi = rjjx*vphig(1) + rjjy*vphig(2) + rjjz*vphig(3)
00026
00027 soug(irg,itg,ipg) = fac8pi*rjjphi*psigc**6
00028
00029 end do
00030 end do
00031 end do
00032
00033 end subroutine source_ang_mom_EMF