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