sir = py`
# ${deps_installed}
import numpy as np
from scipy.integrate import solve_ivp
# Model definition
def model(t, u, p):
b,g = p
S,I,R = u
dS = -b*S*I
dI = b*S*I-g*I
dR = g*I
return [dS,dI,dR]
tspan = [0.0,40.0]
u0 = [999,1,0]
p = [${b},0.25]
sol = solve_ivp(lambda t, u: model(t, u, p),
tspan,
u0)
output = [{"Time":sol.t[i], "Value":sol.y[0][i], "Population":"S"} for i in range(len(sol.t))]
output += [{"Time":sol.t[i], "Value":sol.y[1][i], "Population":"I"} for i in range(len(sol.t))]
output += [{"Time":sol.t[i], "Value":sol.y[2][i], "Population":"R"} for i in range(len(sol.t))]
output
`