aboutsummaryrefslogtreecommitdiff
path: root/src/GRHydro_ENOReconstruct_drv.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/GRHydro_ENOReconstruct_drv.F90')
-rw-r--r--src/GRHydro_ENOReconstruct_drv.F9018
1 files changed, 12 insertions, 6 deletions
diff --git a/src/GRHydro_ENOReconstruct_drv.F90 b/src/GRHydro_ENOReconstruct_drv.F90
index 58592f1..207086c 100644
--- a/src/GRHydro_ENOReconstruct_drv.F90
+++ b/src/GRHydro_ENOReconstruct_drv.F90
@@ -179,9 +179,11 @@ subroutine GRHydro_ENOReconstruct_drv(CCTK_ARGUMENTS)
endif
if (flux_direction == 1) then
+ ! 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)
- do k = GRHydro_stencil, cctk_lsh(3) - GRHydro_stencil + 1
- do j = GRHydro_stencil, cctk_lsh(2) - GRHydro_stencil + 1
+ do k = GRHydro_stencil, cctk_lsh(3) - GRHydro_stencil + 1 + transport_constraints
+ do j = GRHydro_stencil, cctk_lsh(2) - GRHydro_stencil + 1 + transport_constraints
if (CCTK_EQUALS(recon_vars,"primitive")) then
call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(1),&
rho(:,j,k),rhominus(:,j,k),rhoplus(:,j,k),&
@@ -259,9 +261,11 @@ subroutine GRHydro_ENOReconstruct_drv(CCTK_ARGUMENTS)
end do
!$OMP END PARALLEL DO
else if (flux_direction == 2) then
+ ! 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)
- do k = GRHydro_stencil, cctk_lsh(3) - GRHydro_stencil + 1
- do j = GRHydro_stencil, cctk_lsh(1) - GRHydro_stencil + 1
+ do k = GRHydro_stencil, cctk_lsh(3) - GRHydro_stencil + 1 + transport_constraints
+ do j = GRHydro_stencil, cctk_lsh(1) - GRHydro_stencil + 1 + transport_constraints
if (CCTK_EQUALS(recon_vars,"primitive")) then
call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),&
rho(j,:,k),rhominus(j,:,k),rhoplus(j,:,k),&
@@ -339,9 +343,11 @@ subroutine GRHydro_ENOReconstruct_drv(CCTK_ARGUMENTS)
end do
!$OMP END PARALLEL DO
else if (flux_direction == 3) then
+ ! 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)
- do k = GRHydro_stencil, cctk_lsh(2) - GRHydro_stencil + 1
- do j = GRHydro_stencil, cctk_lsh(1) - GRHydro_stencil + 1
+ do k = GRHydro_stencil, cctk_lsh(2) - GRHydro_stencil + 1 + transport_constraints
+ do j = GRHydro_stencil, cctk_lsh(1) - GRHydro_stencil + 1 + transport_constraints
if (CCTK_EQUALS(recon_vars,"primitive")) then
call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(3),&
rho(j,k,:),rhominus(j,k,:),rhoplus(j,k,:),&