Add timeout to the API and update API versioning#366
Conversation
|
I guess the next step is for @schmoelder to test this? |
|
Hey, first of all, thanks again for adding this feature and sorry for taking so long to test and review it. Admittedly, the modification of the C-API has made things a bit more cumbersome than expected, leading to a segfault in CADET-Python. Maybe I misunderstood @sleweke-bayer, but I was under the impression that this change would still be backward compatible, meaning older versions of CADET-Python should still be able to use it, right? If that's not the case, I propose we revert the changes to the C-API and, for now, only allow specifying a Once we have a better system to maintain different versions of the C-API without crashing everything, we can still add this feature again later. But I might be wrong. Hopefully, this didn't cause too much work. |
aecf58c to
d3f18ba
Compare
|
This PR only needs to be tested, for which we need cadet/CADET-Python#71 to be finished by @AntoniaBerger, and then we can merge this |
|
Since this PR has been open for so long, Ive created the follow up issue and will merge this PR once |
Adds a timeout for simulations that is implemented as a callback. Notifications are now also sent whenever a linear system is solved, which occurs during Newton iteration. The timeout is exposed via the C-API.
Adds a dedicated return code for situations where the underlying simulator has not been initialized before calling the API method.
Add a MultiCallback that calls multiple sub-callbacks. Moves callback handling to the Driver to avoid duplication.
6c36369 to
c800b1d
Compare
0dba927 to
f0765ae
Compare
|
I dont know how to add a test for this because of Logging issues, see #667 Ill merge this and we will add the test in our dev-call |
Adds a timeout implemented as a callback.
The timeout is exposed as an API method and as a field in the file format (
/input/solver/TIMEOUT).The new function is exposed as part of another API version 1.1.0a1, while 1.0.0 is maintained. This is the first time we actually support multiple APIs.
Companion CADET-Python PR: cadet/CADET-Python#71, which adds support of the new API function and implements multi API version support
Fixes #351
Follow-ups:
return_code#662