BaseVitalDynamicsProcess#

class BaseVitalDynamicsProcess(model, verbose=False, params=None)[source]#

Bases: BasePhase, ABC

Phase for simulating the vital dynamics in the model with MCV1.

This phase handles the simulation of births and deaths in the population model along with routine vaccination (MCV1).

Warning

The mcv1 scenario parameter only vaccinates newborns at each tick. It does not immunize the existing population. In short simulations (< 5 years), this produces negligible population-level immunity changes.

To model a population with pre-existing vaccine-derived immunity, either:

  • Use InitializeEquilibriumStatesProcess to set an appropriate S/R split at the start of the simulation, or

  • Directly set states.S and states.R before running.

  • Use SIACalendarProcess for discrete campaign-based vaccination.

See the Vaccination Modeling tutorial (docs/tutorials/tut_vaccination.py) for detailed examples of each approach.

Parameters:
  • model (object) – The simulation model containing nodes, states, and parameters

  • verbose (bool) – Whether to print verbose output during simulation

  • params (BaseVitalDynamicsParams | None) – Component-specific parameters. If None, will use default parameters

Notes

  • Birth rates are calculated per tick

  • MCV1 coverage is applied only to newborns; expect 5-10+ years of simulation time before routine immunization significantly shifts population-level immunity

Initialize the component.

Parameters:
  • model – The model instance this component belongs to.

  • verbose (bool) – Whether to enable verbose output. Defaults to False.

property lambda_birth: float#

birth rate per tick

property mu_death: float#

death rate per tick

__call__(model, tick)[source]#

Execute component logic for a given simulation tick.

Parameters:
  • model – The model instance.

  • tick (int) – The current simulation tick.

Return type:

None

abstractmethod calculate_capacity(model)[source]#

Calculate the capacity of the model.

Return type:

int