David Nickerson wrote: > Hi Andrew, > > Are you thinking that you'd have metadata like "when variable IStim is > non-zero reduce maxDt to x" or more like "when variable IStim is > non-zero system becomes stiff" and let the software decide the best way > to handle that? I was actually thinking more along the lines of "when stiff_indicator is zero, a transition to stiffness occurs". stiff_indicator would be expected to be defined in such a way that it gradually approaches zero, rather than suddenly falls to zero, or it is stiff too and so not much help. The key point here is that we are trying to define exact points (which could even be a singularity), rather than ranges over which the integrator has to be more careful.
It would be up to the software how to handle this, but one possible algorithm would be to derive a polynomial (linear equation?), and solve for stiff_indicator = 0. The integrator would then make sure that it stops at or before the point (and if before, it can re-evaluate the polynomial). This would work well for the typical stimulus protocol case, because you know well ahead of time when the stimulus is going to happen, so you can ensure that stiff_indicator falls linearly towards zero right back at the previous actual potential. For other models, such as for yeast cell cycle division, you might not be able to get a linear equation (and so a singularity wouldn't work, you would need a short period over which the changes could happen), but you can still give the integrator a better idea that something is going to happen, which would in effect cause it to go into progressively shorter timesteps until it hits the point. > I guess these are not exclusive choices, but the first > one probably belongs in the simulation metadata whereas the second could > be external to the simulation metadata. > I think it is potentially useful information about the mathematics, so it could be in its own mini-specification, and referenced by the simulation metadata. > Might also be worth noting that there will probably be overlap with the > TEDDY project when representing this kind of information, but not really > too sure yet where TEDDY is going. > Although from the initial discussions, it looks like it might be a little too general to be able to work with for this type of application. Best regards, Andrew _______________________________________________ cellml-discussion mailing list cellml-discussion@cellml.org http://www.cellml.org/mailman/listinfo/cellml-discussion