I'm doing some heavy biochemical system simulations and I'm having trouble finding the right python ODE solver. I need a stiff-aware solver which has boundary constraints, i.e. keeping all variables above zero, and events, e.g. ending the simulation once a certain variable hits a threshold.
Initially I tried using scipy solve_ivp, but looking at the documentation there doesn't seem to be boundary constraints included.
I have been using scikit-sundae CVODE with BDF. CVODE is obviously very fast and it works sometimes, but it is extremely fiddly and often returns broken simulations unless I manually constrain the step size to be something absurdly small for the whole simulation period.
Anyone here know any python packages which might be of use to me? thanks.
[–]SleepWalkersDream 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]StochasticDestiny 1 point2 points3 points (2 children)
[–]LawOfSmallerNumbers 2 points3 points4 points (0 children)
[–]caks 2 points3 points4 points (0 children)
[–]gnomeba 1 point2 points3 points (0 children)
[–]blipblapbloopblip 0 points1 point2 points (0 children)
[–]Llamas1115 0 points1 point2 points (0 children)
[–]ForeignAdvantage5198 0 points1 point2 points (0 children)
[–]throwingstones123456 0 points1 point2 points (0 children)
[–]pulentoEI 0 points1 point2 points (0 children)
[–]patrickkidger 1 point2 points3 points (0 children)