[
https://issues.apache.org/jira/browse/MATH-421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Luc Maisonobe closed MATH-421.
------------------------------
Closing issue as it was included in version 2.2, which has been released
> restarting an ODE solver that has been stopped by an event doesn't work
> -----------------------------------------------------------------------
>
> Key: MATH-421
> URL: https://issues.apache.org/jira/browse/MATH-421
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 2.1
> Environment: Linux
> Reporter: Luc Maisonobe
> Assignee: Luc Maisonobe
> Priority: Minor
> Fix For: 2.2
>
>
> If an ODE solver is setup with an EventHandler that return STOP when the even
> is triggered, the integrators stops (which is exactly the expected behavior).
> If however the user want to restart the solver from the final state reached
> at the event with the same configuration (expecting the event to be triggered
> again at a later time), then the integrator may fail to start. It can get
> stuck at the previous event.
> The occurrence of the bug depends on the residual sign of the g function
> which is not exactly 0, it depends on the convergence of the first event.
> As this use case is fairly general, event occurring less than epsilon after
> the solver start in the first step should be ignored, where epsilon is the
> convergence threshold of the event. The sign of the g function should be
> evaluated after this initial ignore zone, not exactly at beginning (if there
> are no event at the very beginning g(t0) and g(t0+epsilon) have the same
> sign, so this does not hurt ; if there is an event at the very beginning,
> g(t0) and g(t0+epsilon) have opposite signs and we want to start with the
> second one. Of course, the sign of epsilon depend on the integration
> direction (forward or backward).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira