Catalyst.jl icon indicating copy to clipboard operation
Catalyst.jl copied to clipboard

Spatial Required updates list

Open TorkelE opened this issue 2 years ago • 4 comments

Will add stuff here as I come up with them.

Internal improvements

  • Currently, we loop through all edges when we figure out spatial interactions. We should create a matrix of all vertexes, make it two layers (for both directions) and loop through this one.
  • Parameters tied to edges are used at the beginning, but not stored. This prevents callbacks that affect these rates. Should be fixed.
  • We should cache a Matrix corresponding to the well-mixed (non-spatial) Jacobian, and update its value in each timestep (and fecth from there.
  • Consider switching the order of unknowns i.e. varying space then species instead of species then space.
  • Using a view of a slice of a sparse Jacobian; is this bad for performance?
  • Properly utilise various matrix forms for reducing hopping rate storage for various Jump simulations.

Missing features

  • Support for cartesian grids (both as a NxMxL block, and as a 3d-Matrix with Bools indicating existence of vertexes).
  • support for defining a continuous domain that is then discretized as a PDE.
  • Integration with structures declared for MoL. E.g use its representation for e.g. PDE solutions.
  • Matrix-free jacobian calculations.
  • Support for removing (non-spatial) conserved quantities in the ODESystem.
  • Declaring spatial reaction as a part of a ReactionSystem.
  • Spatial reactions (that are not just TransportReactions).
  • Spatial reactions (transport and other) with rates depending on other spcies.
  • Boundary condition stuff.

Othe stuff

  • Utilise PDESolution to create a new way to interface with the output.
  • Create plotting animation interface for displaying the output.
  • Create documentation.

TorkelE avatar Nov 13 '23 21:11 TorkelE

Other things I mentioned today

  • consider switching the order of unknowns i.e. varying space then species instead of species then space.
  • using a view of a slice of a sparse Jacobian; is this bad for performance?

isaacsas avatar Nov 13 '23 21:11 isaacsas

We need to see how MOL is representing PDE solutions under the hood and tie into that ideally.

isaacsas avatar Nov 13 '23 21:11 isaacsas

updated

TorkelE avatar Nov 13 '23 21:11 TorkelE

Support accessing variables via the system lrs.A and such, and support getproperty. Then fix _symbol_to_var to work like MTK.

isaacsas avatar Nov 20 '23 20:11 isaacsas