-
-
Notifications
You must be signed in to change notification settings - Fork 232
Description
It would be nice to have the following work on any AbstractSystem
. You supply a network given by a LightGraphs AbstractGraph
, you provide a prototype component, and you have a syntax for unidirectional edges. Here's an example. Let g
be the graph and suppose we've already defined a component c
. Then we might want to construct:
c = ODESystem(...)
connection(cfrom,cto) = [cfrom.x + cto.x ~ 0,cfrom.y - cto.y ~ 0]
ODESystem(connection,g,c)
that clones c
into c_i
many versions, one for each node, and for every edge makes that connection equation. For more complex examples, we could have
ODESystem([(connection1,g1),(connection2,g2)],c)
or something like that so that way you can have different graphs specifying different edges and different equations associated with those edge graphs. The constraint would be that the nodes would have to be the same between all of the graphs, since you're just changing the associated edges.
I think this could cover neuron simulations, building RDME reaction networks, graph-based epidemiological models, and power systems models. Thoughts @isaacsas @asinghvi17 ?