SEIR solver

This webpage uses the Runge-Kutta-Fehlberg fourth-order method with fifth-order error checking RKF45 to approximate the solution to the SEIR equations with the δ\delta parameter to account for quarantine effects:

dSdt=ΛNμSβI(1δ)SNdEdt=βI(1δ)SN(μ+a)EdIdt=aE(γ+μ)IdRdt=γIμR.\begin{aligned} \frac{dS}{dt} & = \Lambda N - \mu S - \frac{\beta I (1-\delta)S}{N} \\ \frac{dE}{dt} & = \frac{\beta I (1-\delta) S}{N} - (\mu +a ) E \\ \frac{dI}{dt} & = a E - (\gamma +\mu ) I \\ \frac{dR}{dt} & = \gamma I - \mu R. \end{aligned}

Where SS is the number of susceptible persons, EE is the number of exposed persons, II is the number of infectious persons and RR is the number of recovered persons. aa is the inverse of the average incubation period. β\beta is a parameter that pertains to the average number of contacts per person per time and the rate of transmission for the disease. γ\gamma is the inverse of the average time a person is infected with the disease. Λ\Lambda is the birth rate. μ\mu is the overall population death rate (not only including the disease death rate). NN is the total population.

My original model had γI\gamma I multiplied by 1δ1-\delta, but as quarantine should not affect how long it takes for people to recover, it should not affect this term.

Simulation parameter form.
Parameter Value Explanation
Inverse of the average incubation period.
A parameter that pertains to how many contacts there are per person and how easily the disease spreads from an infected person to an infected person.
A parameter that is a measure of how quickly people recover from the disease.
A parameter with values from 0 to 1 pertaining to how effective quarantine measures are at slowing the disease outbreak. If δ=0\delta = 0, the measures are either non-existent or completely ineffective. If δ=1\delta = 1, all infected persons are immediately, as soon as they become infected, quarantined.
Birth rate.
Death rate.
End time for the simulation in seconds (s)
Initial SS coordinate.
Initial EE coordinate.
Initial II coordinate.
Initial RR coordinate.
Error tolerance.
Tolerance type, can be either absolute (0) or relative (1).
Initial step size.
Minimum allowed step size.
Time increment for skipping ahead in animation.
Time you want to skip ahead to in animation when you press the skip button.
Width (in px) of Plotly windows used for plotting and animation below.
Height (in px) of Plotly windows used for plotting and animation below.
Proportion of animation time passed per real time. tScale=1.0t_{\mathrm{Scale}}=1.0 means animation and real time match. tScale<1.0t_{\mathrm{Scale}}<1.0 means the animation is going more slowly than real time. tScale>1.0t_{\mathrm{Scale}}>1.0 means it is going more rapidly.
Opacity of the lines in the 3D phase space animation. Customizable in case you need to tweak it in order to see the red dot marker.