aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_Prim2ConM.F90
diff options
context:
space:
mode:
authorrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2011-11-29 17:17:07 +0000
committerrhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45>2011-11-29 17:17:07 +0000
commit3392abc93c456d7faf1e1c7683bca7460466a82c (patch)
tree1180abd23e76d4cecfe1d08170d1b7d34b1c06c1 /src/GRHydro_Prim2ConM.F90
parentb6d504ec102733365346aa056744aaf0055eb008 (diff)
expand region where fluxes are computed for constraint transport
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@307 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
Diffstat (limited to 'src/GRHydro_Prim2ConM.F90')
-rw-r--r--src/GRHydro_Prim2ConM.F9016
1 files changed, 10 insertions, 6 deletions
diff --git a/src/GRHydro_Prim2ConM.F90 b/src/GRHydro_Prim2ConM.F90
index 87ae5e7..59acf0d 100644
--- a/src/GRHydro_Prim2ConM.F90
+++ b/src/GRHydro_Prim2ConM.F90
@@ -57,9 +57,11 @@ subroutine primitive2conservativeM(CCTK_ARGUMENTS)
CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr
- do k = GRHydro_stencil,cctk_lsh(3)-GRHydro_stencil+1
- do j = GRHydro_stencil,cctk_lsh(2)-GRHydro_stencil+1
- do i = GRHydro_stencil,cctk_lsh(1)-GRHydro_stencil+1
+ ! constraint transport needs to be able to average fluxes in the directions
+ ! other that flux_direction, which in turn need the primitives on interfaces
+ do k = GRHydro_stencil, cctk_lsh(3)-GRHydro_stencil+1 + transport_constraints*(1-zoffset)
+ do j = GRHydro_stencil, cctk_lsh(2)-GRHydro_stencil+1 + transport_constraints*(1-yoffset)
+ do i = GRHydro_stencil, cctk_lsh(1)-GRHydro_stencil+1 + transport_constraints*(1-xoffset)
gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))
@@ -275,11 +277,13 @@ subroutine Prim2ConservativePolytypeM(CCTK_ARGUMENTS)
CCTK_REAL :: gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr
+ ! constraint transport needs to be able to average fluxes in the directions
+ ! other that flux_direction, which in turn need the primitives on interfaces
!$OMP PARALLEL DO PRIVATE(i, j, k, gxxl,gxyl,gxzl,gyyl,gyzl,gzzl,avg_detl,&
!$OMP gxxr,gxyr,gxzr,gyyr,gyzr,gzzr,avg_detr)
- do k = GRHydro_stencil,cctk_lsh(3)-GRHydro_stencil+1
- do j = GRHydro_stencil,cctk_lsh(2)-GRHydro_stencil+1
- do i = GRHydro_stencil,cctk_lsh(1)-GRHydro_stencil+1
+ do k = GRHydro_stencil, cctk_lsh(3)-GRHydro_stencil+1 + transport_constraints*(1-zoffset)
+ do j = GRHydro_stencil, cctk_lsh(2)-GRHydro_stencil+1 + transport_constraints*(1-yoffset)
+ do i = GRHydro_stencil, cctk_lsh(1)-GRHydro_stencil+1 + transport_constraints*(1-xoffset)
gxxl = 0.5d0 * (gxx(i,j,k) + gxx(i-xoffset,j-yoffset,k-zoffset))
gxyl = 0.5d0 * (gxy(i,j,k) + gxy(i-xoffset,j-yoffset,k-zoffset))