Hi,
For developing new neuron models, I can highly recommend our modelling language NESTML. It allows you to express the model in a simple but expressive modeling language, and automatically generate all the required C++ code. There are already Izhikevich and beta synapse models in the models database. You can read more about it at
https://nestml.readthedocs.org/. It should be simple to turn
b into a state variable that evolves over time.
The postsynaptic dynamics are typically defined as part of the neuron model. This is where NESTML comes in really handy, but you can also do this in pure C++, by copying the right dynamical equations from one of NEST's built-in neuron models with the postsynaptic response that you want, to the custom model inside of your extension module.
Happy to give some further pointers for NESTML, please let us know if you run into any issues.
Kind regards,
Charl
On Fri, Nov 12, 2021, at 14:38, Nina Doorn wrote:
Good afternoon,
I have adapted the current nest izhikevich neuron model in C++ to obtain a more general izhikevich neuron where more parameters can be set (for example voltage shifts and the membrane capacitance), and the b-parameter can change over time according to some condition, such that also thalamic neurons can be simulated.
The new extension module works very well (with much thanks to all earlier help regarding installing extension modules). So hopefully people can eventually, with this model, obtain all the kinds of neurons that Izhikevich describes. As soon as everything is cleaned up and finished, I will upload the code to github. However, before I do that, I have two questions:
1. For the new parameters I added to the existing izhikevich model, I could only use parameter names that are in nest::names. However, for generality and to make it easy to use, I thought it would be better to use the same symbols that Izhikevich uses to describe his model. That way, people can easily replicate all the different types of neurons that Izhikevich describes. He uses these parameters:
Is it possible to include these parameters in the neuron model? Or is it better to just replace them with other parameter names that are already in the nest_names file?
2. The current izhikevich neuron model doesn't model realistic synapses. The membrane potential just jumps on each spike arrival. I would like to include different post-synaptic dynamics with different and preferably multiple timescales (like the beta_multisynapse). Someone mentioned before that a lot of the synaptic dynamics can be defined outside the neuron. So can I use beta synapses with the izhikevich neuron as it is now? Or should I somehow include these dynamics in the C++ file of my new module?
I hope the questions are clear. Please let me know if I should provide any additional information.
Thanks in advance and have a very nice weekend!
Kind regards,
Nina
_______________________________________________