Which integration method is used to solve the cable equation when using a
SpatialNeuron? I do not see it mentioned on Multicompartment models — Brian 2 22.214.171.124 documentation. The method seems to be unrelated to the method chosen for the neuron equations, but instead, brian2/spatialstateupdate.py_ at master · brian-team/brian2 · GitHub (and similar for the other backends) is used. This looks to be some implicit Euler method. Am I right?
Hi. This is unfortunately poorly documented at the moment. The chosen method is only used to integrate the gating variables for each compartment. The equations for the connected compartments are indeed calculated with backward (i.e. implicit) Euler. This is for reasons of stability mostly, but there is also a quite intuitive explanation why an explicit method would not make sense to calculate the currents between compartments: if each compartment calculates its current based on the voltages of the neighboring compartments in the previous time step (as an explicit method would do), then voltage differences can only travel along the cable one compartment per time step. This would mean that this voltage difference would travel slower with smaller compartments, i.e. you’d have to increase the temporal resolution if you want to increase the spatial resolution.
Our approach basically follows the one described in this book chapter:
Mascagni, Michael V., and Arthur S. Sherman. “Numerical Methods for Neuronal Modeling.” Methods in Neuronal Modeling 2 (1998). https://www.cs.fsu.edu/~mascagni/papers/RCEV1996_1.pdf