User: rhaas Date: 2012/06/20 11:27 AM
Modified: /trunk/src/ GRHydro_Eigenproblem.F90
Log: really improve handling of cs2 < 0 in the "standard" (non-MHD, non-hot EOS) eigenvalue routine.
the previous patch with this same commit message (r359) has the wrong commit message. It should instead read: --8<-- Introduce real-valued atmo mask that can be interpolated. Synchronize real-valued atmo mask and update integer-valued atmo mask based on synchronized value. This fix ensures that the results are independent of the number of processors used. It also gets rid of some extra primitive syncs that are otherwise necessary when sync_conserved_only = yes.
Does not cause any new test failures (Roland).
Patch by Christian Reisswig. --8<--
Patch by Christian Ott.
File Changes:
Directory: /trunk/src/ ======================
File [modified]: GRHydro_Eigenproblem.F90 Delta lines: +5 -2 =================================================================== --- trunk/src/GRHydro_Eigenproblem.F90 2012-06-20 16:19:10 UTC (rev 360) +++ trunk/src/GRHydro_Eigenproblem.F90 2012-06-20 16:27:09 UTC (rev 361) @@ -86,13 +86,16 @@ (1.0d0 + eps + press/rho)
if(cs2.lt.0.0d0) then + !$OMP CRITICAL if (abs(cs2) .gt. 1.0d-4) then write(warnline,'(a50,6g16.7)') 'abs(cs2), rho, dpdrho, press*dpdeps/rho**2, eps, press/rho: ', abs(cs2), rho, dpdrho, press * dpdeps / (rho**2), eps, press/rho call CCTK_WARN(1,warnline) - call CCTK_WARN(0,"cs2 < 0! Check speed of sound calculation!") + call CCTK_WARN(1,"cs2 < 0! Check speed of sound calculation!") + cs2 = 0.0d0 else - cs2 = 0 + cs2 = 0.0d0 endif + !$OMP END CRITICAL endif