Opened 8 years ago
Closed 5 years ago
#10498 closed Bugs (fixed)
Boost.Odeint: Infinite loop in integrate_adaptive with rosenbrock4 dense output stepper
Reported by: | Owned by: | karsten | |
---|---|---|---|
Milestone: | To Be Determined | Component: | odeint |
Version: | Boost 1.56.0 | Severity: | Problem |
Keywords: | infinite loop, integrator algorithm | Cc: |
Description
Problem description:
integrate_adaptive goes into infinite loop with rosenbrock4 dense stepper.
After the call to
st.initialize( st.current_state() , st.current_time() , static_cast<Time>(end_time - st.current_time()) );
Loop condition
while( less_eq_with_sign( static_cast<Time>(st.current_time() + st.current_time_step()) ,
end_time , st.current_time_step() ) )
evaluates to false, when t1-t2 < std::numeric_limits<T>::epsilon(); is evaluated.
Expected behaviour:
No infinite loops for any well behaving (albeit stiff) system.
Change History (2)
comment:1 by , 8 years ago
comment:2 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Does this problem still exists for you with boost version > 1.56 ? There are checks for numeric limits within less_eq_with_sign .
Replying to vygis.d@…: