Disease spread

A sick particle infects a healthy particle when it gets too close, unless that particle is immune. Click to infect a random particle.

More details:
• Every frame, any healthy particle within the "contagion distance" of an infected particle will get the disease.
• The duration of the infection is set by "sickness duration."
• After the particle recovers, it will then be immune for the duration set by "immunity duration".
• Each particle tries to avoid nearby particles, where the strength of the aversion is set by "social distance".

The simulation above is completely deterministic given every particle's initial position and velocity. However, depending on the parameter settings, the number of infections over time can be extremely sensitive to the initial conditions. (Pressing "Restart" will restart the simulation using a random initialization.)