-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
KerrGeoOrbit produces error messages at Schwarzschild ISCO #50
Comments
This appears to be coming from line 54 of KerrGeoFourVelocity.m. At the ISCO three of the roots are equal so we encounter a divide by zero. |
Interestingly no issue is error is encountered when using machine precision, i.e., This difference in behavior means it is probably difficult to detect when we're on the ISCO/ISSO. Maybe best to check if the roots are equal and then in that case run a different piece of code to get the right result. |
I'm having a look at this now. It seems like a lot of functions, like the frequencies for example, are singular on the separatrix for generic Kerr.
This shows that I can fix the Schwarzschild circular case by using simplified functions for the velocities that don't have these divergences. For everywhere else, a temporary fix would be checking if r1 = r2 = r3 and returning an error message. Trying to find well defined limits for all of the functions that are divergent on the separatrix in generic Kerr would be quite a bit of work for what is a fairly niche edge case. But if someone requests it, I'm sure it can be done. |
To stamp out errors like these, I think it would be a good idea to implement a more modular structure for some of the internal functions, the same way i did for the OrbitalFrequencies subpackage. Currently, we have many pieces of code that are repeated many time in different function (e.g. to determine the roots of the radial equations). Currently, when we fix an error in some edge case, this does not propagate to the other pieces of code. |
I agree with Maarten's suggestion. It seems like the same problem is cropping up in several places for the same reason (repeated roots of the radial equation), and there's probably a fairly straightforward limit that can be taken and used in all cases. |
KerrGeoOrbit produces errors relating to a divide by zero when run at the Schwarzschild ISCO:
The text was updated successfully, but these errors were encountered: