00001 subroutine diracterm_midpoint
00002   use grid_parameter, only : nrg, ntg, npg
00003   use def_metric_hij, only : hxxu, hxyu, hxzu, hyyu, hyzu, hzzu
00004   use def_metric_hij_dirac, only : dagmabu
00005   use interface_grgrad1g_midpoint
00006   implicit none
00007 
00008   real(8) :: grad1(3), dhd(3,3,3), dhu(3,3,3)
00009   integer :: ipg, itg, irg
00010 
00011 
00012 
00013 
00014   do ipg = 1, npg
00015     do itg = 1, ntg
00016       do irg = 1, nrg
00017 
00018 
00019 
00020         call grgrad1g_midpoint(hxxu,grad1,irg,itg,ipg)
00021         dhu(1,1,1:3) = grad1(1:3)
00022         call grgrad1g_midpoint(hxyu,grad1,irg,itg,ipg)
00023         dhu(1,2,1:3) = grad1(1:3)
00024         dhu(2,1,1:3) = grad1(1:3)
00025         call grgrad1g_midpoint(hxzu,grad1,irg,itg,ipg)
00026         dhu(1,3,1:3) = grad1(1:3)
00027         dhu(3,1,1:3) = grad1(1:3)
00028         call grgrad1g_midpoint(hyyu,grad1,irg,itg,ipg)
00029         dhu(2,2,1:3) = grad1(1:3)
00030         call grgrad1g_midpoint(hyzu,grad1,irg,itg,ipg)
00031         dhu(2,3,1:3) = grad1(1:3)
00032         dhu(3,2,1:3) = grad1(1:3)
00033         call grgrad1g_midpoint(hzzu,grad1,irg,itg,ipg)
00034         dhu(3,3,1:3) = grad1(1:3)
00035 
00036         dagmabu(irg,itg,ipg,1) = dhu(1,1,1) + dhu(1,2,2) + dhu(1,3,3)
00037         dagmabu(irg,itg,ipg,2) = dhu(2,1,1) + dhu(2,2,2) + dhu(2,3,3)
00038         dagmabu(irg,itg,ipg,3) = dhu(3,1,1) + dhu(3,2,2) + dhu(3,3,3)
00039 
00040       end do
00041     end do
00042   end do
00043 
00044 end subroutine diracterm_midpoint