Hi, @erlebach. Have a look at this branch: https://github.com/Vilin97/DiffEqJump.jl/tree/Spatial.
If you clone it, activate DiffEqJump (with ]activate .
), and run file test/spatial/SIR.jl
, it will set up a spatial SIR problem (with diffusion too), solve it and plot the solution. In order to specify the graph to use you need to set connectivity_list
to be the adjacency list of your graph (this line: https://github.com/Vilin97/DiffEqJump.jl/blob/Spatial/test/spatial/SIR.jl#L37). Right now the complete graph on three nodes is used by defalt. Note also that you can change the SSA by setting it in here: https://github.com/Vilin97/DiffEqJump.jl/blob/Spatial/test/spatial/SIR.jl#L32 (set to RSSA by default).
This does not use ModelingToolkit.
Thank you! I will take a look. In the meantime, I have implemented EoN’s (Python library) version of FastSIR, and get twice the speed on a weighted network, with 100,000 nodes and 6 million edges. I do not use SSA any longer, but track the infected and propagate the infections on a graph. I am now looking at the possibilities of multiplex networks.