NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::GrowthCurveLinear Class Reference

Linear version of a growth curve. More...

#include <growth_curve.h>

Inheritance diagram for nest::GrowthCurveLinear:
[legend]
Collaboration diagram for nest::GrowthCurveLinear:
[legend]

Public Member Functions

 GrowthCurveLinear ()
 
void get (Dictionary &d) const override
 
void set (const Dictionary &d) override
 
double update (double t, double t_minus, double Ca_minus, double z, double tau_Ca, double growth_rate) const override
 
- Public Member Functions inherited from nest::GrowthCurve
virtual ~GrowthCurve ()
 
virtual bool is (std::string n)
 
std::string get_name ()
 

Private Attributes

double eps_
 

Additional Inherited Members

- Protected Member Functions inherited from nest::GrowthCurve
 GrowthCurve (const std::string name)
 
- Protected Attributes inherited from nest::GrowthCurve
const std::string name_
 

Detailed Description

Linear version of a growth curve.

This class represents a linear growth rule for the number of synaptic elements inside a neuron. The creation and deletion of synaptic elements when structural plasticity is enabled, allows the dynamic rewiring of the network during the simulation.

This type of growth curve uses an exact integration method to update the number of synaptic elements: dz/dt = nu (1 - (1/eps) * Ca(t)), where nu is the growth rate [elements/ms] and eps is the desired average calcium concentration. The growth rate nu is defined in the SynapticElement class.

Parameters
epsThe target calcium concentration that the neuron should look to achieve by creating or deleting synaptic elements. It should always be a positive value. It is important to note that the calcium concentration is linearly proportional to the firing rate.
Note
eps also defines the desired firing rate that the neuron should achieve. For example, an eps = 0.05 [Ca2+] with tau_Ca = 10000.0 and beta_Ca = 0.001 for a synaptic element means a desired firing rate of 5 spks/s.
See also
SynapticElement, SPManager, SPBuilder, GrowthCurveGaussian
Author
Mikael Naveau (July 2013)

[1] Butz, Markus, Florentin Wörgötter, and Arjen van Ooyen. "Activity-dependent structural plasticity." Brain research reviews 60.2 (2009): 287-305. [2] Butz, Markus, and Arjen van Ooyen. "A simple rule for dendritic spine and axonal bouton formation can account for cortical reorganization after focal retinal lesions." PLoS Comput Biol 9.10 (2013): e1003259. Uses an exact integration method to update the number of synaptic elements: dz/dt = nu (1 - (1/eps) * Ca(t)), where nu is the growth rate and eps is the desired average calcium concentration.

Constructor & Destructor Documentation

◆ GrowthCurveLinear()

nest::GrowthCurveLinear::GrowthCurveLinear ( )

Member Function Documentation

◆ get()

void nest::GrowthCurveLinear::get ( Dictionary &  d) const
overridevirtual

Implements nest::GrowthCurve.

References nest::names::eps(), eps_, nest::names::growth_curve(), and nest::GrowthCurve::name_.

Here is the call graph for this function:

◆ set()

void nest::GrowthCurveLinear::set ( const Dictionary &  d)
overridevirtual

Implements nest::GrowthCurve.

References nest::names::eps(), and eps_.

Here is the call graph for this function:

◆ update()

double nest::GrowthCurveLinear::update ( double  t,
double  t_minus,
double  Ca_minus,
double  z,
double  tau_Ca,
double  growth_rate 
) const
overridevirtual

Implements nest::GrowthCurve.

References eps_.

Member Data Documentation

◆ eps_

double nest::GrowthCurveLinear::eps_
private

Referenced by get(), set(), and update().


The documentation for this class was generated from the following files: