- changed status to resolved
- removed comment
McLachlan triggers arithmetic exception (but results are fine)
Issue #734
closed
If I enable floating point exceptions for debugging purposes, they are triggered by McLachlan in the routine ML_BSSN_convertToADMBaseDtLapseShift_Body. The guilty line is
568 kfmin(ToReal(1),kmul(INV(rL),ToReal(SpatialBetaDriverRadius)));
the involved values are (gdb) p rL $1 = 0 (gdb) p SpatialBetaDriverRadius $2 = 1000000000000
This only happens once per grid, apparently at the origin.
The results look fine otherwise, no NaNs or INFs propagated, but this is annoying when debugging other code, trying to find the first time a NaN is produced.
ET version is the Maxwell release.
Keyword: McLachlan
Comments (2)
-
-
- edited description
- changed status to closed
- Log in to comment
Thank you. This problem was caused by the expression
etaExpr = Min [SpatialBetaDriverRadius / r, 1];
which divides by r, and then (luckily?) ignores the result. I have changed this to
etaExpr = SpatialBetaDriverRadius / Max [r, SpatialBetaDriverRadius];
which is equivalent, but avoids the division by r if r is too small.