How lwillem/stride works
Stride is a configurable infectious-disease transmission simulator. The principal workflow is to configure a run, construct and seed a population and simulation, advance disease transmission over calendar steps, and record run outputs. Separate capabilities include survey-panel sampling, public-health interventions and vaccine/MDP control, and Python bindings. The graph follows the controller and builder evidence provided; several internal runtime connections are shown only where their ownership is supported by sampled code or class documentation.
Main entry points: SimBuilder.cpp Simulation builder · Population.cpp Population · SimController.cpp Run controller · Sim.cpp Simulation
Components 19
Run setup
- Run controller
main/cpp/execs/SimController.cpp - Run configuration
main/cpp/util/RunConfigManager.cpp - Simulation builder
main/cpp/sim/SimBuilder.cpp - Run summary
main/cpp/util/SummaryFile.cpp
Population and disease
- Simulation
main/cpp/sim/Sim.cpp - Simulation calendar
main/cpp/calendar/Calendar.cpp - Population builder
main/cpp/pop/PopBuilder.cpp - Population
main/cpp/pop/Population.cpp - Person health
main/cpp/pop/Person.cpp - Health seeding
main/cpp/health/HealthSeeder.cpp - Transmission profile
main/cpp/health/TransmissionProfile.cpp - Contact pools
main/cpp/contact/ContactPoolSys.cpp - Infection engine
main/cpp/contact/Infector.cpp
Interventions and analysis
- Survey manager
main/cpp/pop/SurveyManager.cpp - Public health agency
main/cpp/healthcare/PublicHealthAgency.cpp - Vaccine policy
main/cpp/mdp/MDP.cpp
User interfaces
- Python bindings
main/python/pybind/libstride.cpp
Other components
- CLI user
- Python caller
Connections 22
- CLI user → Run controller: starts run
- Run configuration → Run controller: provides config
- Run controller → Simulation builder: builds simulation
- Simulation builder → Simulation: configures
- Simulation builder → Transmission profile: initializes
- Simulation builder → Health seeding: seeds health
- Simulation builder → Public health agency: initializes
- Simulation builder → Survey manager: creates
- Run controller → Simulation: advances steps
- Simulation → Simulation calendar: uses calendar
- Simulation → Population: holds population
- Population builder → Population: constructs
- Health seeding → Population: seeds health
- Health seeding → Transmission profile: uses profile
- Population → Person health: contains people
- Survey manager → Population: samples participants
- Survey manager → Person health: registers participants
- Vaccine policy → Simulation: controls simulation
- Vaccine policy → Population: vaccinates people
- Python caller → Python bindings: calls bindings
- Python bindings → Vaccine policy: exposes MDP
- Run controller → Run summary: writes summary