Development and future
This document describes what the future roadmap for xolotl looks like.
Loose ends¶
Some features in xolotl currently are not fully polished, and could do with some refinement, or are incompletely implemented.
Multi-compartment support¶
Right now, support for multi-compartment models is very limited. In the future, we aim to:
- have robust solvers for branched geometries (currently only unbranched cables are supported)
- allow for voltage-clamping individual compartments in a multi-compartment model
New features¶
The following features are planned for inclusion in xolotl, though no work has been done on them yet.
Stand-alone integration¶
Since xolotl is written entirely in C++, it should be possible to create stand-alone binaries that can be run without MATLAB. This requires some minor tweaks, and including a dummy "mex.h", but these are easily solved problems.
Once this architecture is in place, stand alone binaries can be run on any architecture, without needed MATLAB - an advantage for large parameter scans or running on computers that you don't have root access to, or where MATLAB licenses aren't available.
Multiple compartment types¶
Right now, all components derive from abstract classes except the compartment object, of which there is only one type. It should be possible to have multiple different types of compartments, so we can mix and match compartment types.
Universal support for Runge-Kutta solvers¶
Runge-Kutta solver support is limited right now. It should be possible to use RK4 solvers on any model.
Adaptive time step solvers¶
Using an adaptive time step solver should speed up simulation tremendously.
Unit support¶
MATLAB has built-in unit support, which is admittedly a little clunky. We should either use this, or build our own unit type system and support units out of the box in xolotl.
Maintainer commitment¶
Currently, xolotl is being maintained by Srinivas Gorur-Shandilya and Alec Hoyland, who will be maintaining it till August 2022. If you're interested in becoming a maintainer, get in touch.