Source code for dinjo.predefined.epidemiology._seirv_model

from typing import List

from ...model import ModelIVP


[docs]class ModelSEIRV(ModelIVP):
[docs] def build_model( self, t, y, Lmbd, mu, inv_alpha, omega, gamma, xi_E, xi_I, sigma, beta_E, beta_I, beta_V, c_E, c_I, c_V ) -> List[float]: """ Returns the vector field dy/dt evaluated at a given point in phase space """ S, E, I, R, V = y def beta(x, b, c): return b / (1. + c * x) principal_flux = S * ( beta(E, beta_E, c_E) * E + beta(I, beta_I, c_I) * I + beta(V, beta_V, c_V) * V ) dydt = [ Lmbd - principal_flux - S * mu, principal_flux - (inv_alpha + mu) * E, inv_alpha * E - (omega + gamma + mu) * I, gamma * I - mu * R, xi_E * E + xi_I * I - sigma * V ] return dydt