Skip to content
milad edited this page May 10, 2026 · 2 revisions

🦠 SIR Epidemic Simulator Wiki

Welcome to the official documentation wiki for the SIR Epidemic Simulator.

This wiki provides detailed documentation, tutorials, and examples that go beyond the main README.


📚 Quick Links

Page Description
Home You are here
Getting Started Installation and first simulation
SIR Model Tutorial Complete guide to SIR model
SEIR Model Tutorial Complete guide to SEIR model
Network Simulation Tutorial Social network spread simulation
ML Prediction Tutorial Machine learning forecasting
Scenario Comparison Tutorial Compare intervention strategies
FAQ Frequently asked questions
API Reference Complete function documentation
Contributing Guide How to contribute

🎯 What Can You Find Here?

For Beginners

  • Step-by-step installation guides
  • First simulation walkthrough
  • Understanding epidemic models

For Researchers

  • Mathematical background of SIR/SEIR models
  • Parameter optimization techniques
  • Customizing simulations for real data

For Developers

  • Project structure explained
  • Adding new features
  • Running and writing tests

🚀 Quick Start

Install the package

pip install sir-epidemic

Run CLI

sir-simulator --beta 0.5 --gamma 0.2 --tmax 100

Run Streamlit Dashboard

streamlit run src/sir_simulator/user_interface/app.py

Run Interactive Menu

python main.py

Run All Tests

python run_all_tests.py

📊 Sample Code

Basic SIR Simulation

from sir_simulator.core_models.sir_model import run_sir_simulation

df = run_sir_simulation(
    beta=0.5, gamma=0.2,
    S0=990, I0=10, R0=0,
    t_max=100, steps=500
)
print(df.head())

Network Spread Simulation

from sir_simulator.core_models.network_model import SocialNetworkSimulator

sim = SocialNetworkSimulator(num_nodes=200, network_type='scale_free')
df = sim.simulate_spread(transmission_prob=0.4, recovery_prob=0.1)

Parameter Optimization

from sir_simulator.advanced_features.parameter_optimization import ParameterOptimizer

optimizer = ParameterOptimizer(model_type='sir')
results = optimizer.fit(observed_data, t, [990, 10, 0])
print(f"β={results['beta']:.3f}, γ={results['gamma']:.3f}, R0={results['R0']:.3f}")

🔗 External Resources


📝 License

This project is licensed under the MIT License.


Need help? Open an issue or start a discussion.

[⬆ Back to top]

Clone this wiki locally