Download ModelDownload Sourceembed


Code Language Translator Run

Software Requirements


Android iOS Windows MacOS
with best with Chrome Chrome Chrome Chrome
support full-screen? Yes. Chrome/Opera No. Firefox/ Samsung Internet Not yet Yes Yes
cannot work on some mobile browser that don't understand JavaScript such as.....
cannot work on Internet Explorer 9 and below



Francisco Esquembre; Fu-Kwun Hwang; lookang; Felix J. Garcia Clemente; Shaun Quek

end faq

Sample Learning Goals

current affairs model based discussion with interactive

For Teachers

Why outbreaks like coronavirus spread exponentially, and how to “flatten the curve”

Coronavirus disease (COVID-19) is an infectious disease caused by a new virus.The disease causes respiratory illness (like the flu) with symptoms such as a cough, fever, and in more severe cases, difficulty breathing. You can protect yourself by washing your hands frequently, avoiding touching your face, and avoiding close contact (1 meter or 3 feet) with people who are unwell.


Coronavirus disease spreads primarily through contact with an infected person when they cough or sneeze. It also spreads when a person touches a surface or object that has the virus on it, then touches their eyes, nose, or mouth.


There’s currently no vaccine to prevent coronavirus disease (COVID-19).You can protect yourself and help prevent spreading the virus to others if you:


  • Wash your hands regularly for 20 seconds, with soap and water or alcohol-based hand rub
  • Cover your nose and mouth with a disposable tissue or flexed elbow when you cough or sneeze
  • Avoid close contact (1 meter or 3 feet) with people who are unwell
  • Stay home and self-isolate from others in the household if you feel unwell


  • Touch your eyes, nose, or mouth if your hands are not clean


Left panel shows the visualization or the big picture view a population of 100 people, modelled as balls

Right panel show the graphs of healthy, sick and recovered people based on the colors representation.

Simulations Features

The simulation is designed to be simple to use via dropdown menu. the option are self explanatory.

Exponential spread is modelled using a random velocity and random direction, the spread of the virus from sick to healthy is probabilistic based on closeness or collision. The reason why each country is preventing this rapid growth rate to prevent filling up the hospitals to their maximum capacity, forcing emergency rooms to close their doors to new patients. This will likely lead to more deaths due to COVID-19.

Slow spread is modelled using a smaller random velocity and random direction, thus the spread of the virus from sick to healthy will be lesser. After observing the right panel, notice the sick curve is now flatten or lower than the earlier case, and therefore, the country's hospitals can operate and give medical care to the sick, and thus, there is now a higher chance of survival as you probably realised from the daily reports in, the number of sick in intensive care unit ICU.

Social distancing is modelled using a dotted circle surrounding each ball where there is now a lower chance of the spread of the virus from sick to healthy as the virus probably need to be close enough and long enough time to transmit to the healthy. The simulation will run likely with little or low number of sick eventually and COVID-19 is defeated!

Half Work from home is modelled using half of the total number of the balls stationary even after collision or contact, again there is now a lower chance of the spread of the virus from sick to healthy as the virus has a lower opportunity to transmit to the healthy

All Work from home or also known as total lockdown, is modelled using all of the total number of the balls stationary even after collision or contact, again there is now a even lower chance of the spread of the virus from sick to healthy as the virus has a near impossible opportunity to transmit to the healthy

Vaccinated, is modelled using if the person is vaccinated the probability of infection is reduced to zero, or p=0 even after collision or contact. In other words, the spread of the virus from sick to vaccinated persons is nearly impossible after vaccination. The picture below shows how vaccinated causes the pool of healthy to be lower, but for vaccination to work against a virus, a large number needs to be vaccinated say N=90, where the sick will be a smaller number, easing the load on hospitals etc, so we may have a higher chance of lesser people dying after being sick due to good medical treatments and care in health care facilities.

more options are coming, stay tuned for more updates!

Assumptions made in the model

The motion of the people (balls) are completely random, this might not be the case in real life, most people travel to work or to school in a regular timing.

The healthy is moving about randomly, after collision contact, the balls moves off obeying collision laws of physics.

The sick can only infect healthy, and the first sick remains sick until the virus is spread to another healthy ball making it sick too.

The sick takes 14 days to recover after the first contact with another sick ball, this is a arbitrary length of days, email me if you think you have a better approximation?

The recovered cannot be infected by the sick again. As more real world data surfaced, this assumption could be incorrect but not accounted for in the model.

Social distancing completely makes the probability of virus spreading p = 0, which could be inaccurate as the virus could spread through 1. Person-to-person spread (modelled), 2.Spread from contact with contaminated surfaces or objects (not modelled)


Drag any balls, especially the sick ball to infect more balls at the beginning when time t = 0 day. This allows you to determine the initial number of sick.

Inspired by







Other Resources


end faq

5 1 1 1 1 1 1 1 1 1 1 Rating 5.00 (2 Votes)