#734: McLachlan triggers arithmetic exception (but results are fine) -----------------------------------------+---------------------------------- Reporter: wolfgang.kastaun@… | Type: defect Status: new | Priority: minor Milestone: | Component: Other Version: | Keywords: McLachlan -----------------------------------------+---------------------------------- 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.
#734: McLachlan triggers arithmetic exception (but results are fine) ------------------------------------------+--------------------------------- Reporter: wolfgang.kastaun@… | Owner: Type: defect | Status: closed Priority: minor | Milestone: Component: Other | Version: Resolution: fixed | Keywords: McLachlan ------------------------------------------+--------------------------------- Changes (by eschnett):
* status: new => closed * resolution: => fixed
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.
trac@lists.einsteintoolkit.org