Add direct simulation of contacts to the ABM
Opened this issue · 0 comments
Feature description
The ABM currently uses a contact based infection model with a cached exposure rate in each location which gives an expected number of infections per contact (per day). The expected number of contacts are then multiplied to this rate, resulting in the total number of expected infections (per day). This rate is passed to the exponential draw function.
In order to fully utilise the ABM, we should model contacts on a direct level, such that when a contact is performed, we can immediately use the contact's virus properties to compute infection probability. This further helps with tracing, as we then know the person that transmitted the virus.
Additional context
I suspect that the runtime will not be affected too much by this changes. Instead of iterating over all persons to add up their contributions to the exposure rate, we iterate over all infected persons and just perform their contacts. Contacts from non-infected to non-infected don't contribute anything to our simulation (contacts from infected to infected can probably also be neglected).
Checklist
- Attached labels, especially loc:: or model:: labels.
- Linked to project.