IMSEAM

COVID simulation

Simulation of virus spreading in a society

Even though I am not professionally involved with the topic of (the modeling of) virus spreading, there are considerable similarities between the 'hopping' of a virus between individuals and the hopping of electrons in energetically disordered semiconductors. With the latter I have considerable experience, and some of that I used in two hobby projects. The results of that can be found and downloaded below. Both programs numerically predict and visualize the spatio-temporal evolution of a virus spreading in a country or society. The image strips on this page show some program output.

Both programs predict the spatial spreading of the COVID-19 virus after a first infection happened. The virtual citizens can go through successive stages of being susceptible, infected, infectious, recovered or death. They can go in quarantine as well.

Although I believe these programs bear some resemblance with reality, they should be considered as minimal models, in the sense that simplicity has been prioritized over virological accuracy. They do not reflect the state-of-the-art in the field. In return, they do allow you to change any parameter you like to test your skills as policy maker. Have fun!

 

CoVeni

Script 'CoVeni.m' is written to visualize some aspects of viruses (or anything infectious) spreading in a population. Specifically, it simulates the percolation of the virus in a society, the members of which have a certain number of daily contacts with their neighbors. There may be different types of persons in the population with different characteristics, which range from the probability to infect others to the tendency to go in quarantine when symptoms develop. Particularly striking is the (disastrous) effect of even a little bit of travel within a society. On a more hopeful note, the program also allows you to test how much vaccination is needed to stop the spreading.

The download contains both an executable as well as the source MatLab file and a set of default job files that can be run 'as is' to get a feeling for how things work. Reading the 'CoVeni - readme' file is warmly recommended.

Download

CoVidi

Didn't materialize...

 

CoVici

Script CoVici.m is written as follow-up on CoVeni.m to allow dealing with societies of a realistic size (millions of persons) and to overcome the problem that infected regions tended to quickly become 100% infected.

The society is defined on a map, on which different regions my have different properties like population density and composition. The members of the society can be differentiated into types of persons with different characterisitics, as in CoVeni. Persons that have come in contact with the virus are treated on an individual level (but still statistically), the healthy majority (hopefully) is treated as a reservoir.

The program has some further advanced possibilities, like defining age groups that have different interaction probabilities (read: likelihood of infection) with the various other age groups. This turns out to make a major difference if the circumstances are right. An example is found in the example-job 'CoVici_job_AgeGroups.dat' (compare 'In.setXinfect = false' and 'true').

In the limit that the map contains a single point and that nobody goes in quarantine, this spatio-temporal COVID model becomes identical to the classical SIR-model.

The download contains both an executable as well as the source MatLab file and a set of default job files that can be run 'as is' to get a feeling for how things work. Reading the 'CoVici - readme' file is warmly recommended.

Download