[PYTHON] Implement the mathematical model "SIR model" of infectious diseases with OpenModelica (example of repeating regulation and deregulation)

Periodically change the contact rate (infection rate) in the basic SIR model

In the previous article, "Implementing a mathematical model" SIR model "of infectious diseases in OpenModelica (reflecting mortality and reinfection rate)" Let's simulate what kind of graph will be obtained by periodically changing the reinfection rate with the created model and repeating the regulated state and the relaxed state.

Prerequisites for this model --Basic SIR model with 0 mortality and 0 reinfection rates --No vaccine is used

** Please note that all of the following simulations are only verification of the model with temporary parameters and do not reflect or anticipate the actual values. ** **

Model changes

Set the TimeTable to repeat 100% and 20% (80% decrease) every 15 days for β value input of cl_SIRbetaInput. It will remain at 100% after 60 days. Converted to 100, 20 by adding gain to make it easier to see the change in β value on the graph.

Created model

30_SIR_timetable.png

simulation result

Graph infectable people, infected people, newly infected people, and recoverers

30_SIR_timetable_graph.png

Graph of infected people and newly infected people only

Only the transition of infected people will be enlarged and confirmed. It was confirmed that if the contact rate is periodically changed to 100% and 20% in the basic SIR model, the number of newly infected persons will start to increase as soon as the regulation is relaxed in the early stage of infection, and will decrease if it is regulated again. I can do it. Also, if the number of recoverers (antibody acquirers) increases to more than 50% over time (after the 60th day of the graph), the number of newly infected people seems to gradually decrease even if the contact rate increases. 31_SIR_timetable_graph.png

Graph when the contact rate is managed to be reduced by about 50% even during relaxation

Up to 60 days, it seems to be suppressed by the controlled effect. However, if you loosen it from there, the number of newly infected people will increase dramatically. It seems that it should be alleviated before the number of antibody acquirers reaches a certain number. 32_SIR_timetable_graph.png

Related article

Implementing the mathematical model "SIR model" of infectious diseases with OpenModelica Implementing a mathematical model "SIR model" of infectious diseases with OpenModelica (see the effect of the vaccine) Implement a mathematical model "SIR model" of infectious diseases in OpenModelica (reflecting mortality rate and reinfection rate) Introduction of mathematical prediction model for infectious diseases (SIR model)

OpenModelica model

Published on GitHub. pk_SIRmodel.mo

Recommended Posts

Implement the mathematical model "SIR model" of infectious diseases with OpenModelica (example of repeating regulation and deregulation)
Implement the mathematical model "SIR model" of infectious diseases with OpenModelica
Implement the mathematical model "SIR model" of infectious diseases in OpenModelica (reflecting mortality rate and reinfection rate)
Implement the mathematical model "SIR model" of infectious diseases in OpenModelica (see the effect of the vaccine)
Introduction of mathematical prediction model for infectious diseases (SIR model)
Implement a model with state and behavior (3) --Example of implementation by decorator
Mathematical prediction model for infectious diseases (SIR model): Case study (1)
Mathematical model of infectious disease epidemics
Implement a model with state and behavior
Predict infectious disease epidemics with SIR model
Solving the Lorenz 96 model with Julia and Python
Example of reading and writing CSV with Python
[SIR model analysis] Peak out of infection numbers in Japan and around the world ♬