[Commits] [svn:einsteintoolkit] NullEvolve/trunk/src/ (Rev. 5)

diener at cct.lsu.edu diener at cct.lsu.edu
Fri Oct 21 15:18:10 CDT 2011


User: diener
Date: 2011/10/21 03:18 PM

Modified:
 /trunk/src/
  NullEvol_DissipMask.F90

Log:
 Don't mix single precision constants with double precision variables in
 calls to min and max. Some compilers are stricter than others about
 this.

File Changes:

Directory: /trunk/src/
======================

File [modified]: NullEvol_DissipMask.F90
Delta lines: +12 -10
===================================================================
--- trunk/src/NullEvol_DissipMask.F90	2011-10-19 19:29:51 UTC (rev 4)
+++ trunk/src/NullEvol_DissipMask.F90	2011-10-21 20:18:10 UTC (rev 5)
@@ -14,33 +14,35 @@
 
     CCTK_REAL, dimension (lsh(1),lsh(2)), intent (out) :: dissip_mask
     CCTK_REAL :: rD0, rD1
+    CCTK_REAL, parameter :: zero = 0.0
+    CCTK_REAL, parameter :: one = 1.0
 
     DECLARE_CCTK_PARAMETERS
     DECLARE_CCTK_FUNCTIONS
 
     if (CCTK_EQUALS(dissip_mask_type, "one")) then
-      dissip_mask = 1
+      dissip_mask = one
       return
     end if
 
     if (CCTK_EQUALS(dissip_mask_type, "zero at eq, one at pole")) then
-       rD0 = 1
-       rD1 = 0
+       rD0 = one
+       rD1 = zero
     else if (CCTK_EQUALS(dissip_mask_type, "zero at rD0, one at pole")) then
-       rD0 = 1 + N_dissip_zero_outside_eq * maxval(delta)
-       rD1 = 0
+       rD0 = one + N_dissip_zero_outside_eq * maxval(delta)
+       rD1 = zero
     else if (CCTK_EQUALS(dissip_mask_type, "zero at rD0, one at eq")) then
-       rD0 = 1 + N_dissip_zero_outside_eq * maxval(delta)
-       rD1 = 1
+       rD0 = one + N_dissip_zero_outside_eq * maxval(delta)
+       rD1 = one
     else if (CCTK_EQUALS(dissip_mask_type, "zero at rD0, one at rD1")) then
-       rD0 = 1 + N_dissip_zero_outside_eq * maxval(delta)
-       rD1 = 1 + N_dissip_one_outside_eq * maxval(delta)
+       rD0 = one + N_dissip_zero_outside_eq * maxval(delta)
+       rD1 = one + N_dissip_one_outside_eq * maxval(delta)
     else
       call CCTK_WARN(0, "unsupported dissipation mask type")
     end if
 
     dissip_mask = (rD0-dsqrt(ps**2+qs**2)) / (rD0-rD1)
-    dissip_mask = max(0.0, min(1.0, dissip_mask))
+    dissip_mask = max(zero, min(one, dissip_mask))
 
   end subroutine NullEvol_set_dissipmask
 



More information about the Commits mailing list