Creating, editing and simulating a spatial model is all done using a user friendly Graphical User Interface. See the Getting Started section in the documentation to learn more.
The dune-copasi solver is used to simulate models. This solves the PDE on a tetrahedral mesh using finite element discretization methods. See the simulator documentation for more information on the available options when using it in the GUI. For more technical information about the DuneCopasi solver itself, see the dune-copasi website.
Starting from a segmented 2D image of the compartments in the model, the boundaries are automatically identified and simplified, and from them a triangular mesh approximation to the geometry is constructed. For more details see the mesh documentation.
3D models are meshed directly from a segmented 3D image of the compartments using the CGAL 3D Mesh Generation package. This generates a tetrahedral mesh of every compartment, where neighbouring compartments share the triangulated surface of the membrane between them. For more details see the mesh documentation.
The Pixel solver is an alternative solver which uses the FTCS method to solve the PDE using the pixels of the geometry image as the grid. It features automatic timestep control, just-in-time compilation, multi-threading support, a CUDA GPU backend on Linux and Windows, and a Metal GPU backend on Apple silicon macOS.
The parameters of your model can be automatically optimized using a variety of optimization algorithms to make the simulated model concentrations match experimental images of species concentrations. See the Parameter fitting section in the documentation to learn more.
Guided workflow to import a non-spatial model from SBML xml or Copasi cps format, which automatically rescales the reaction rates to construct a valid spatial PDE model that initially reproduces the behaviour of the non-spatial ODE model.
The Python interface, sme, allows scripted editing and simulation of a model. See the Example Notebooks or the API reference for more information.
Additional functionality such as plotting, animations and parameter fitting is provided by sme-contrib. See the documentation for more information and example notebooks.
Spatial models are imported and exported in SBML Level 3 format with the spatial package, using the libSBML library. All Level 3 math is supported, and is parsed, differentiated and compiled using the SymEngine symbolic manipulation library.