Skip to content


In this tutorial we will use the built-in demos in xolotl to see what it can do, and to play with some models. We assume that you have installed xolotl correctly, and have verified your installation. If you haven't done that already, click here and complete the steps on that page first.

How to use the demos

First, let's go to the folder that contains the demos:


Once there, you can run any of the scripts there to launch that demo. For example:


You should see this plot appear:


If this didn't work, see our troubleshooting page. You can also try running: cpplab.rebuildCache in MATLAB.

You can see what effect changing the maximal conductances has on the voltage dynamics by running:


This GUI will appear with sliders for maximal conductances of all the channels in the model. Try moving them around and seeing what happens with the voltage dynamics.

Available demos

Xolotl comes with several example scripts that illustrate various features of the simulator. They're all in a folder called "examples", and you can jump into this folder from anywhere using xolotl.go_to_examples. Once there, run any one of these scripts by typing its name.

Demo name What this demonstrates
demo_adaptive_sampling This example shows you how to use adaptive sampling
demo_approx This example shows you how to use the approx_channels property to speed up code execution
demo_bursting_neuron This example sets up a simple bursting neuron. It demonstrates how to use relational parameters to specify parameters that depend on other parameters in the model.
demo_clamp This example shows you how to voltage clamp a compartment, and simulate the process of estimating the I-V curve of a conductance
demo_clamp_rk4 This demo is the same as demo_clamp except that it uses the Runge-Kutta 4th order solver.
demo_conductance This script shows you how to use the conductance class to generate new C++ files for your own channels
demo_controlling_integration This example shows you how to use the output_type property of xolotl to reduce memory use by finding spikes in the C++ code
demo_integral_control This example shows you how to work with mechanism objects by adding homeostatic controllers to conductances and letting them tune the channel spectrum of a neuron
demo_manipulate This demo shows you how to use the manipulate method
demo_multi_compartment This example sets up a multi-compartment model, where different compartments have different levels of channels
demo_finite_size This example varies the size of a neuron, and shows that smaller neurons are more dominated by noise due to the finite number of ion channels
demo_rk4 This demo shows you how to use the solver_order property of xolotl to use a Runge-Kutta 4 ODE solver to simulate the model
demo_pyloric_net In this example, we set up a small network of three neurons, demonstrating how synapses work in xolotl
demo_stg_temperature Here, we vary the temperature of the simulation, showing how we can make the model sensitive to temperature.