- changed status to open
- removed comment
Index error in TwoPunctures function JFD_times_dv()
Issue #1746
resolved
In the TwoPunctures thorn, in the file FuncAndJacobian.c, the function JDF_times_dv() contains an index error. The (A,B,phi) coordinates are defined in terms of indices (i,j,k). The current version has
phi = hp * j;
The j index is used to define the B coordinate. The statement should be
phi = hp * k;
Keyword: TwoPunctures
Comments (2)
-
-
- changed status to resolved
- removed comment
Implications were discussed in ET phone call on [http://lists.einsteintoolkit.org/pipermail/users/2015-February/004012.html 2015-02-23]
- Log in to comment
This is indeed the case. Now I am trying to estimate the implications. As far as I can see, the wrong 'phi' is used to calculate coordinates y/z, and transform dU, which are then are passed to LinEquations(). LinEquations does not use the passed 'phi', but it uses the wrong 'y/z' and, of course, dU, and through that leads to wrong entries in the JFD matrix. This is a finite difference approximation of the J matrix, used for the pre-conditioner, and as such a change here shouldn't influence the result (if one is obtained), but it might/will influence the convergence (both speed and whether you actually get a result).
In this sense: please somebody else have a look concerning the implications. I am about to commit the fix, as I am pretty sure it is wrong in the way it is now. Leaving in 'review' for the implications.