Skip to content

A fast, general-purpose C++ framework for agent-based epidemiological simulation.

⚑ 150M+ agentΒ·day/sec πŸ“¦ Header-only 🧬 Multi-pathogen 🌐 Network-aware

Try It Live

Edit the code below and click β–Ά Run to compile and execute it in your browser via Compiler Explorer. No local setup needed!

πŸ§ͺ Interactive Example
⚑

Lightning Fast

Over 150 million agent Γ— day simulations per second β€” built for large-scale studies without sacrificing speed.

🧩

Fully Flexible

Define arbitrary states, viruses, tools, and update rules. Build the exact model you need from composable primitives.

πŸ“¦

Header-Only

Single-file include with zero external dependencies β€” just the C++ standard library. Drop it in and go.

🌐

Network-Aware

Simulations run on contact networks with configurable topologies including small-world, scale-free, and custom graphs.

🧬

Multi-Pathogen

Multiple viruses and tools can coexist in one simulation with independent transmission and recovery dynamics.

πŸ“Š

Rich Analytics

Built-in data collection, reproductive number tracking, generation intervals, and likelihood-free inference (LFMCMC).

Epiworld network visualization

Documentation Sections

  • Models


    Browse all built-in compartmental models: SIR, SEIR, SIS, connected population variants, mixing models, and disease-specific models.

    View models

  • Examples


    Explore ready-to-run examples β€” from a basic Hello World to likelihood-free MCMC β€” each with an interactive Compiler Explorer playground.

    Browse examples

  • Implementation


    Deep dives into library architecture, performance optimization, extending the library, queueing system, and more.

    Learn more

  • API Reference


    Complete class and function reference generated from the source code via Doxygen.

    API docs

Source Code

The epiworld source code is hosted at UofUEpiBio/epiworld on GitHub.