Description of problem
I have a SpatialNeuron with variable surface and volume between different compartments and I would like to specify that in the model equations. Meaning that I’d like that the model equation calls the right surface and volume based on which compartment is being evaluated.
And I haven’t find a way to solve that.
I know how to specifically set the volume and area of just one of the compartment with the indexing.
But what if I want that in each compartment the area and volume of the actual compartment is used?
I suspect the solution has to be easy., but I couldn’t find any yet. Any help would be appreciated.
Minimal code to reproduce problem
SVR = np.arange(1., 41., 6.7)/umeter dicr = 2/SVR morpho = Soma(diameter=90*um) morpho.L = Section(diameter=dicr, length=[20, 20, 20, 20, 20]*um, n=5) S_N = morpho.area Vol_N = morpho.volume model_eq = ''' . some other code not relevant . dKi/dt = (-S_N/(F*Vol_N))*(IKd + IM - 2*IPump) : mmolar '''
Error I got:
An error occurred when preparing an object. KeyError: ‘Variable S_N was found in the namespace, but is not a scalar value’
What you have already tried
Adding the indexing:
S_N = morpho.area[i]
Full traceback of error (if relevant)
Error I got (as expected since the indexing was not defined anywhere):
An error occurred when preparing an object. KeyError: ‘The identifier “S_N” could not be resolved.’