sbmlteam / sbml-specifications

The specification documents for SBML.
6 stars 2 forks source link

Spatial: How does this work with simulation of core models. #385

Open luciansmith opened 2 years ago

luciansmith commented 2 years ago

From @matthiaskoenig : Most of the specification describes how to define the geometries and the domains. I miss a bit the description how this will actually all come together in a simulation of a core model with species and reactions in the spatial model.

Also some questions related to initialization, e.g. how to perform non-homogenous initialization in geometries?I assume it is possible to set non-constant initialization by using InitialAssignments using the coordinates x,y,z. But I am not sure I understood this completely. Perhaps this could be clarified.

Overall I am not sure how and if the geometries work together with ODE models defined in SBML core. It would be great to have some simple examples with simulation results/visualizations; e.g. simple 2D grid with A -> B reaction network with diffusion & convection => simulate with setting diffusion zero, advection zero, reaction rate zero; use non-homogeneous initialization of grid. This would also be great test cases to demonstrate the implementation!

fbergmann commented 2 years ago

For non-homogeneous initializations you'd use initial assignments, involving a variable along the corresponding axis. Or you'd use a spampledfield.

luciansmith commented 2 years ago

So, there are example files at https://github.com/sbmlteam/sbml-spatial-models

Do we need something new in the spec? An entire worked example seems like overkill to me (for a spec, at least)--once the links to examples work, will that suffice?

luciansmith commented 2 years ago

(@matthiaskoenig)

matthiaskoenig commented 2 years ago

@luciansmith Thanks for the link. This is great (the documentation is not very good, but I understand that nobody has time for that ;)

I still would like to see a simple model with diffusion/convection and sink/source term (reaction) running in one of the simulators. I will try to create these spatial models myself using libsbml (via support in sbmlutils). Which tool would be able to simulate such models at the moment?

Can you add me to the repository so I could push these spatial examples? I will need a bit of time to implement this, but would be also great test of the spatial library.

fbergmann commented 2 years ago

@matthiaskoenig you should be able to load models (2d, analytic / samplefield, boundary conditions / diffusion) into SME docs here. There are two simulation engines available DUNE (FEM on triangle mesh), or PIXEL(FTCS on grid). Some of SBML math (such as piecewise) is not supported by DUNE, but will work in PIXEL.

matthiaskoenig commented 2 years ago

@fbergmann Thanks for the information. I will try this.

matthiaskoenig commented 2 years ago

@fbergmann You have a bunch of additional simple example models which are basically what I was asking for . Could you add these example files from the spatial model in the repository (i.e. the examples available at File -> Open example model)

fbergmann commented 2 years ago

most of those are already there: https://github.com/sbmlteam/sbml-spatial-models/tree/master/Sampled%20Field%20models