User: knarf Date: 2010/07/22 09:50 AM
Modified: /branches/ET_2010_06/ /branches/ET_2010_06/src/ GRHydro_PPM.F90
Log: merge with change r123 from /trunk: Fix error in ppm when using GRHydro_enable_internal_excision == no (which is _not_ the default setting). Thanks go to Christian Ott.
Directory Changes:
Directory: /branches/ET_2010_06/ ================================
Property changes on: branches/ET_2010_06 ___________________________________________________________________ Directory: /svn:mergeinfo/ ==========================
+ /trunk:123
File Changes:
Directory: /branches/ET_2010_06/src/ ====================================
File [modified]: GRHydro_PPM.F90 Delta lines: +11 -11 =================================================================== --- branches/ET_2010_06/src/GRHydro_PPM.F90 2010-07-21 15:36:31 UTC (rev 138) +++ branches/ET_2010_06/src/GRHydro_PPM.F90 2010-07-22 14:50:23 UTC (rev 139) @@ -441,8 +441,8 @@ !!$ Do not optimize cond away by combining the 'if's. Fortran does not !!$ have to follow the order of sub-expressions given here and might !!$ access outside the array range - cond = i .gt. 1 - if (cond .and. GRHydro_enable_internal_excision /= 0) then + cond = .false. + if (i .gt. 1 .and. GRHydro_enable_internal_excision /= 0) then cond = hydro_excision_mask(i-1) .ne. 0 end if if (cond) then @@ -469,9 +469,9 @@ epsplus(i-1)=eps(i) end if else - cond = (i.gt.2) .and. (i.lt.nx) - if (cond .and. GRHydro_enable_internal_excision /= 0) then - cond = (ppm_mppm .eq. 0) .and. (hydro_excision_mask(i-2) .ne. 0) + cond = .false. + if ((i.gt.2) .and. (i.lt.nx) .and. GRHydro_enable_internal_excision /= 0) then + cond = (ppm_mppm .eq. 0) .and. (hydro_excision_mask(i-2) .ne. 0) end if if (cond) then call PPM_TVD(rho(i-1), rho(i), rho(i+1), rhominus(i), rhoplus(i)) @@ -483,9 +483,9 @@ end if end if end if - cond = i.lt.nx - if (cond .and. GRHydro_enable_internal_excision /= 0) then - cond = hydro_excision_mask(i+1) .ne. 0 + cond = .false. + if (i .lt. nx .and. GRHydro_enable_internal_excision /= 0) then + cond = hydro_excision_mask(i+1) .ne. 0 end if if (cond) then rhominus(i)=rho(i) @@ -511,9 +511,9 @@ epsplus(i+1)=eps(i) endif else - cond = (i.lt.nx-1) .and. (i.gt.1) - if (cond .and. GRHydro_enable_internal_excision /= 0) then - cond = (ppm_mppm .eq. 0) .and. (hydro_excision_mask(i+2) .ne. 0) + cond = .false. + if ((i.lt.nx-1) .and. (i.gt.1) .and. GRHydro_enable_internal_excision /= 0) then + cond = (ppm_mppm .eq. 0) .and. (hydro_excision_mask(i+2) .ne. 0) end if if (cond) then call PPM_TVD(rho(i-1), rho(i), rho(i+1), rhominus(i), rhoplus(i))