[Commits] [svn:einsteintoolkit] GRHydro/trunk/src/ (Rev. 631)
rhaas at tapir.caltech.edu
rhaas at tapir.caltech.edu
Tue Apr 15 14:49:46 CDT 2014
User: rhaas
Date: 2014/04/15 02:49 PM
Modified:
/trunk/src/
GRHydro_CalcUpdate.F90
Log:
GRHydro: low level optimizations
File Changes:
Directory: /trunk/src/
======================
File [modified]: GRHydro_CalcUpdate.F90
Delta lines: +11 -7
===================================================================
--- trunk/src/GRHydro_CalcUpdate.F90 2014-04-15 19:49:43 UTC (rev 630)
+++ trunk/src/GRHydro_CalcUpdate.F90 2014-04-15 19:49:45 UTC (rev 631)
@@ -39,7 +39,7 @@
DECLARE_CCTK_FUNCTIONS
CCTK_INT :: i,j,k,itracer
- CCTK_REAL :: idx, alp_l, alp_r, Bcons_l, Bcons_r, alp_tmp
+ CCTK_REAL :: idx, idy, idz, alp_l, alp_r, Bcons_l, Bcons_r, alp_tmp
idx = 1.d0 / CCTK_DELTA_SPACE(flux_direction)
@@ -300,22 +300,26 @@
flux_direction.eq.1) then ! HACK: x direction is last
! FIXME: I think one could wrap all of this into a single do loop and remove the
! Evec storage
+ ! idx differs from idx which was 1d0/CCTK_DELTA_SPACE(flux_direction)
+ idx = 1d0 / CCTK_DELTA_SPACE(1)
+ idy = 1d0 / CCTK_DELTA_SPACE(2)
+ idz = 1d0 / CCTK_DELTA_SPACE(3)
!$OMP PARALLEL DO PRIVATE(i,j,k)
do k = GRHydro_stencil + 1, cctk_lsh(3) - GRHydro_stencil
do j = GRHydro_stencil + 1, cctk_lsh(2) - GRHydro_stencil
do i = GRHydro_stencil + 1, cctk_lsh(1) - GRHydro_stencil
Bconsrhs(i,j,k,1) = - 0.5d0 * ((Evec(i-1,j ,k-1,2)-Evec(i-1,j ,k ,2)) &
- + (Evec(i ,j ,k-1,2)-Evec(i ,j ,k ,2))) / CCTK_DELTA_SPACE(3) &
+ + (Evec(i ,j ,k-1,2)-Evec(i ,j ,k ,2))) * idz &
- 0.5d0 * ((Evec(i-1,j ,k ,3)-Evec(i-1,j-1,k ,3)) &
- + (Evec(i ,j ,k ,3)-Evec(i ,j-1,k ,3))) / CCTK_DELTA_SPACE(2)
+ + (Evec(i ,j ,k ,3)-Evec(i ,j-1,k ,3))) * idy
Bconsrhs(i,j,k,2) = - 0.5d0 * ((Evec(i-1,j-1,k ,3)-Evec(i ,j-1,k ,3)) &
- + (Evec(i-1,j ,k ,3)-Evec(i ,j ,k ,3))) / CCTK_DELTA_SPACE(1) &
+ + (Evec(i-1,j ,k ,3)-Evec(i ,j ,k ,3))) * idx &
- 0.5d0 * ((Evec(i ,j-1,k ,1)-Evec(i ,j-1,k-1,1)) &
- + (Evec(i ,j ,k ,1)-Evec(i ,j ,k-1,1))) / CCTK_DELTA_SPACE(3)
+ + (Evec(i ,j ,k ,1)-Evec(i ,j ,k-1,1))) * idz
Bconsrhs(i,j,k,3) = - 0.5d0 * ((Evec(i ,j-1,k-1,1)-Evec(i ,j ,k-1,1)) &
- + (Evec(i ,j-1,k ,1)-Evec(i ,j ,k ,1))) / CCTK_DELTA_SPACE(2) &
+ + (Evec(i ,j-1,k ,1)-Evec(i ,j ,k ,1))) * idy &
- 0.5d0 * ((Evec(i ,j ,k-1,2)-Evec(i-1,j ,k-1,2)) &
- + (Evec(i ,j ,k ,2)-Evec(i-1,j ,k ,2))) / CCTK_DELTA_SPACE(1)
+ + (Evec(i ,j ,k ,2)-Evec(i-1,j ,k ,2))) * idx
enddo
enddo
enddo
More information about the Commits
mailing list