Closed pratikunterwegs closed 5 months ago
A few thoughts on this issue:
The workable solution is probably to manually change the number of vaccinations so that the $S \rightarrow V$ flow is always $\leq S$.
Happy to hear solutions on this that could work for this situation.
This issue is a subset of #224, where simulating vaccination leads to negative numbers of susceptibles as per-day vaccination counts may be greater than available susceptibles towards the end of an outbreak.
One solution would be the use of a stepper that is more suitable for stiff ODE systems. It should especially be able to handle > 1% instantaneous changes as these are expected in vaccination scenarios. Issue #224 shows that integration fails and produces negative values for the current fixed size stepper used. Options from Boost are listed here, and some guidance on related functionality is here.
An alternative solution is to build on PR #202 and add a simple
if else
check which sets vaccinations to the lesser of either available doses or susceptibles.