A simple introduction to go-pflow demonstrating core concepts: Petri net construction, ODE simulation, JSON import/export, and visualization.
- SIR Epidemic Model - Creates and simulates a Susceptible-Infected-Recovered epidemic model using Petri nets with mass-action kinetics
- JSON Import/Export - Demonstrates serializing and deserializing Petri nets to JSON format
cd examples/basic
go run main.goThe example generates:
sir_petri_net.svg- Petri net structure visualizationsir_model.svg- ODE simulation results plotted over time
- Places: S (Susceptible), I (Infected), R (Recovered) hold tokens representing population counts
- Transitions:
infectionandrecoverytransform the population - Arcs: Connect places to transitions with weights defining consumption/production
The ODE solver treats transitions as chemical reactions:
S + I → 2I(infection spreads)I → R(recovery)
Transition rates (β=0.0003, γ=0.1) control epidemic dynamics.
petri- Petri net constructionsolver- ODE simulationparser- JSON serializationplotter- SVG plot generationvisualization- Petri net rendering