diff options
author | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2011-11-21 15:43:52 +0000 |
---|---|---|
committer | rhaas <rhaas@c83d129a-5a75-4d5a-9c4d-ed3a5855bf45> | 2011-11-21 15:43:52 +0000 |
commit | 692f32ab5152ae7a0a2d289b278da86e60028e51 (patch) | |
tree | c09d609880c44a0b2adea244531805d05cfc5805 | |
parent | ca11c38482f5952c5f7c63f72861a48214eacc5f (diff) |
protect Bvec in ENO polytype reconstruction by evolve_mhd
otherwise unallocated memory is accessed
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinEvolve/GRHydro/trunk@300 c83d129a-5a75-4d5a-9c4d-ed3a5855bf45
-rw-r--r-- | src/GRHydro_ReconstructPoly.F90 | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/src/GRHydro_ReconstructPoly.F90 b/src/GRHydro_ReconstructPoly.F90 index c4ed3af..f96ae61 100644 --- a/src/GRHydro_ReconstructPoly.F90 +++ b/src/GRHydro_ReconstructPoly.F90 @@ -705,15 +705,17 @@ subroutine ReconstructionPolytype(CCTK_ARGUMENTS) call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& velz(j,:,k),velzminus(j,:,k),velzplus(j,:,k),& trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) - call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& - Bvecx(j,:,k),Bvecxminus(j,:,k),Bvecxplus(j,:,k),& - trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) - call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& - Bvecy(j,:,k),Bvecyminus(j,:,k),Bvecyplus(j,:,k),& - trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) - call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& - Bvecz(j,:,k),Bveczminus(j,:,k),Bveczplus(j,:,k),& - trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + if(evolve_mhd.ne.0) then + call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& + Bvecx(j,:,k),Bvecxminus(j,:,k),Bvecxplus(j,:,k),& + trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& + Bvecy(j,:,k),Bvecyminus(j,:,k),Bvecyplus(j,:,k),& + trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& + Bvecz(j,:,k),Bveczminus(j,:,k),Bveczplus(j,:,k),& + trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + end if else if (CCTK_EQUALS(recon_vars,"conservative")) then call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& @@ -728,15 +730,17 @@ subroutine ReconstructionPolytype(CCTK_ARGUMENTS) call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& sz(j,:,k),szminus(j,:,k),szplus(j,:,k),& trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) - call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& - Bconsx(j,:,k),Bconsxminus(j,:,k),Bconsxplus(j,:,k),& - trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) - call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& - Bconsy(j,:,k),Bconsyminus(j,:,k),Bconsyplus(j,:,k),& - trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) - call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& - Bconsz(j,:,k),Bconszminus(j,:,k),Bconszplus(j,:,k),& - trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + if(evolve_mhd.ne.0) then + call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& + Bconsx(j,:,k),Bconsxminus(j,:,k),Bconsxplus(j,:,k),& + trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& + Bconsy(j,:,k),Bconsyminus(j,:,k),Bconsyplus(j,:,k),& + trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + call GRHydro_ENOReconstruct1d(eno_order,cctk_lsh(2),& + Bconsz(j,:,k),Bconszminus(j,:,k),Bconszplus(j,:,k),& + trivial_rp(j,:,k), hydro_excision_mask(j,:,k)) + end if else !$OMP CRITICAL call CCTK_WARN(0, "Variable type to reconstruct not recognized.") |