Flatten the Curve

Submitted by Dale on Tue, 03/24/2020 - 10:39

I have created a simulation of the COVID-19 virus (SARS-CoV-2) in the United States population. It demonstrates how social distancing "flattens the curve." The model is written in NetLogo and will run from this website in your browser.

This uses a Susceptible-Exposed-Infected-Recovered (SEIR) model of a viral infection process. Initially all agents are susceptible (colored green) to the SARS-CoV-2 virus as there is assumed no inherent immunity in the population. When first infected, agents become exposed (blue) and can infect other close-by agents even though the exposed agents have no symptoms. From exposed they move to infected (red) with visible symptoms. Finally they recover (grey).

Agents are assigned an age based on U.S. Census 2018 data and the number of agents is set so each represents 100,000 people of the U.S. population as of 17 March 2020.

Initially a few agents are set to exposed. As the simulation progresses the agents move about the model space. When an exposed agent comes into contact with a susceptible agent, the susceptible agent will become exposed based on the probability value of the infectiousness slider. After exposure, the agent will be remain in that state for 2 to 14 days before changing to infected. Once infected, the agent will remain in that state for 10 to 14 days before either dying or changing to recovered.

Agents die based on a probability assigned to their age group. The data for this comes from Epidemia COVID-19 Aggiornamento Nazionale 16 Marzo 2020 (PDF in Italian), Rome Istituto Superiore di Sanità, 16 march 2020,  Retrieved 18 march 2020. The age data is in Table 1.

When social-distance is true infected agents will stop moving and non-infected agents will avoid the infected ones. This simulates social distancing of infected people.

The simulation stops when there are no exposed or infected agents.

Model Version 1: Original model demonstrating flatten the curve.

Model Version 2: I updated the model on 10 April 2020, making the asymptomatic and symptomatic ranges available in sliders rather than buried in the code. I also added a switch for the asymptomatic period to be selected from a Poisson distribution or a uniform distribution.


 

Add new comment