Re-work the time interval concept, and fix the concentration calculation for intervals
This MR is quite a big refactoring of the cara.models
definition (so ping @mrognlie). In it, I:
- Fix #14 (closed) by re-writing the concentration equation, and recognising that we had an
if
statement in there for no other reason than the equation was formulated slightly differently in the first place. In reality, a bit of algebra shows that the two branches were effectively the same thing. - Pull out the concept of intervals from ventilation and the infected person definition, thereby giving us some flexibility in how we want to define time ranges
- Note that this means that the way to build a model has changed - it is likely to break !8 (merged).
- Update the existing app to use the new scheme
- Add some tests to validate that the new scheme is doing what we want