Opened 10 years ago
Closed 10 years ago
#3251 closed defect (fixed)
Wrong time stamps recorded when DASSL fails
Reported by: | Francesco Casella | Owned by: | Willi Braun |
---|---|---|---|
Priority: | critical | Milestone: | 1.9.3 |
Component: | Run-time | Version: | trunk |
Keywords: | Cc: | Lennart Ochel, Willi Braun, Vitalij Ruge, stefano.carli@… |
Description
Sometimes a simulation fails due to problems with the nonlinear solver or with DASSL being unable to proceed beyond a certain point. Consider this example:
model FiniteEscape Real x(start = 0, fixed = true); Real y(start = 0, fixed = true); equation der(x) = 2; der(y) = 1/(x-1); annotation(experiment(StopTime = 1,Tolerance = 1e-10)); end FiniteEscape;
For some reason, in these cases the last time value (0.494 in the example) is less than the previous one (0.498 in the example). This, besides being wrong, can cause errors and crashes in all the post-processing tools that assume time is always monotonically increasing.
Please make sure that also in case of abnormal termination, the last recorded result has a time stamp which is not less than the previous one. It would also be nice if the last recorded result actually had the right time stamp, which is definitely not the case in the shown example (should be 0.49999999, not 0.494).
Change History (2)
comment:1 by , 10 years ago
Owner: | changed from | to
---|---|
Status: | new → accepted |
comment:2 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
fixed in r25368.