Orbital velocity check added to tilts_at_infinity: Hybrid Spin Evolution
superseded by !1779 (merged)
Description
For boundary cases (high masses, large effective spins), the SpinTaylorPNevolveorbit function used by the hybrid spin evolution in a series of steps fails to evolve to the desired lower orbital velocity, and instead returns the initial array of input values (when starting from certain reference frequencies). This is presumably due to a stopping condition being triggered in PNevolveorbit. I have added a check to see if the evolution proceeds at each step, and if not, either raise a RuntimeError or return the usual output dictionary with None/np.nan values according to user preference. The evolution_error_handling
function in tilts_at_infinity_utils.py
has been updated to include this error handling in hybrid evolution.
In an independent minor update, I have updated the rtol
value in test_prec_avg_evolve.py, line 106, as suggested and discussed in this issue.
API Changes and Justification
Backwards Compatible Changes
-
This change introduces no API changes -
This change adds new API calls
Backwards Incompatible Changes
-
This change modifies an existing API -
This change removes an existing API
If any of the Backwards Incompatible check boxes are ticked please provide a justification why this change is necessary and why it needs to be done in a backwards incompatible way.
Review Status
The Hybrid evolution code has been reviewed here.
Reviewers: Marta Colleoni, Sylvain Marsat
This particular check has been shared with the reviewers but not formally reviewed.