Deaer Pira,

 

To follow up on Charl's email: Instead of implementing new models in C++, you can use the NESTML model specification language and then let it create C++ code for you, see https://nestml.readthedocs.io/en/v5.0.0/ .

 

Best,

Hans Ekkehard

 

--

 

Prof. Dr. Hans Ekkehard Plesser

Head, Department of Data Science

 

Faculty of Science and Technology

Norwegian University of Life Sciences

PO Box 5003, 1432 Aas, Norway

 

Phone +47 6723 1560

Email hans.ekkehard.plesser@nmbu.no

Home http://arken.nmbu.no/~plesser

 

 

 

On 08/06/2022, 18:57, "Charl Linssen" <nest-users@turingbirds.com> wrote:

 

Dear Pira,

 

Thanks for writing in. With this simple two-dimensional linear system, a slow rise and fast decay is unfortunately not possible. This is a fundamental property of the system. I guess you probably need a nonlinear system to achieve that (please let me know if you find any cool ones, I do not currently know any that would exhibit that kind of behaviour).

 

Perhaps the use of the words "rise" and "decay" in the naming of the time constants is misleading and should be avoided. In the paper (Rotter & Diesmann 1999) the constants were just named "a" and "b". See for an instance of a file where both nomenclatures are used https://github.com/nest/nest-simulator/blob/master/libnestutil/beta_normalization_factor.h.  

 

Note that for the case that a = b, if you are not careful, you will divide by zero. NEST contains a mechanism to check for that condition, in the file linked above.

 

Hope this helps,

With kind regards,

Charl

 

 

On Wed, Jun 8, 2022, at 13:46, Ravichandran-Schmidt, Pirathitha (SRH Hochschule Heidelberg) wrote:

Dear NEST Community,

 

is there a good way to implement a double-exponential function for synapses in C++ within a nest module?

 

 

As I need to implement my own neuron model in C++, I adapted the code from extraction the information from other neuron models (for example: iaf _cond_beta.cpp) and used the following lines

 

f[S::DG_EXC] = -y[ S::DG_EXC ] / node.P_.tau_synAMPA_on;

f[S::G_EXC ] =  y[ S::DG_EXC ] - y[ S::G_EXC ] / node.P_.tau_synAMPA_off

 

At first, it seemed to work pretty good. But when I swap the values for rise und decay time, the evolution of g_ADP did not change at all (for example: rise_time = 1ms, decay_time = 100ms).

 

I would be happy to get any feedback on it.

 

Thanks,

Pira

 

_______________________________________________

NEST Users mailing list -- users@nest-simulator.org

To unsubscribe send an email to users-leave@nest-simulator.org