We are trying to do a global sensitivity analysis on a model that is described as ODEs (acausal model with MTK 7).
The Sobol analysis works fine if the parameter space is benign, i.e. all the parameter sets allow the ODE solver to give a converged result.
In many cases that is not the case, though, and the ODE solver fails with “MAXITERS REACHED”.
We would like to filter these cases, but are not sure how to make Sobol discard these results. Is there a way to achieve this?
Open an issue on the repo and we can discuss this. However, I would suggest trying to fix that first. Usually, the issue is choosing a non-stiff ODE solver where stiffness can be parameter-dependent.
Will do.
I agree that we need to fix the issue and indeed I just seem to have done that. Was a stupid mistake on our side: we use a double cosine hill function and the parameter range for the two time constants in that overlapped, so we basically got a Heaviside function in the driving function which was too much even for the stiff solvers.
It would be interesting for our application to exclude non-stable parameter sets from the GSA, nonetheless. But I don’t understand GSA and Sobol well enough to know if that is possible.
BTW, any recommendations on books/papers that describe GSA/Sobol well? My PhD student is a mathematician, but I’m just a theoretical engineer I have (Saltelli 2008)
You could, and we could add that, though it would bias the result.
Primary literature is usually what I go from here.