From 3392abc93c456d7faf1e1c7683bca7460466a82c Mon Sep 17 00:00:00 2001 From: rhaas Date: Tue, 29 Nov 2011 17:17:07 +0000 Subject: 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 --- src/GRHydro_PPMMReconstruct_drv.F90 | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/GRHydro_PPMMReconstruct_drv.F90') diff --git a/src/GRHydro_PPMMReconstruct_drv.F90 b/src/GRHydro_PPMMReconstruct_drv.F90 index 52c8162..852f447 100644 --- a/src/GRHydro_PPMMReconstruct_drv.F90 +++ b/src/GRHydro_PPMMReconstruct_drv.F90 @@ -181,9 +181,11 @@ subroutine GRHydro_PPMMReconstruct_drv(CCTK_ARGUMENTS) !!$ PPM starts: 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, nz - GRHydro_stencil + 1 - do j = GRHydro_stencil, ny - GRHydro_stencil + 1 + do k = GRHydro_stencil, nz - GRHydro_stencil + 1 + transport_constraints + do j = GRHydro_stencil, ny - GRHydro_stencil + 1 + transport_constraints if(clean_divergence.ne.0) then call SimplePPM_1dM(GRHydro_eos_handle,0,nx,CCTK_DELTA_SPACE(1),& rho(:,j,k),velx(:,j,k),vely(:,j,k),velz(:,j,k),& @@ -252,9 +254,11 @@ subroutine GRHydro_PPMMReconstruct_drv(CCTK_ARGUMENTS) end if 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, nz - GRHydro_stencil + 1 - do j = GRHydro_stencil, nx - GRHydro_stencil + 1 + do k = GRHydro_stencil, nz - GRHydro_stencil + 1 + transport_constraints + do j = GRHydro_stencil, nx - GRHydro_stencil + 1 + transport_constraints if(clean_divergence.ne.0) then call SimplePPM_1dM(GRHydro_eos_handle,0,ny,CCTK_DELTA_SPACE(2),& rho(j,:,k),vely(j,:,k),velz(j,:,k),velx(j,:,k),& @@ -322,9 +326,11 @@ subroutine GRHydro_PPMMReconstruct_drv(CCTK_ARGUMENTS) end if 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, ny - GRHydro_stencil + 1 - do j = GRHydro_stencil, nx - GRHydro_stencil + 1 + do k = GRHydro_stencil, ny - GRHydro_stencil + 1 + transport_constraints + do j = GRHydro_stencil, nx - GRHydro_stencil + 1 + transport_constraints if(clean_divergence.ne.0) then call SimplePPM_1dM(GRHydro_eos_handle,0,nz,CCTK_DELTA_SPACE(3),& rho(j,k,:),velz(j,k,:),velx(j,k,:),vely(j,k,:),& -- cgit v1.2.3