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

Sigmoid version of a growth curve. More...

#include <growth_curve.h>

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

Public Member Functions

 GrowthCurveSigmoid ()
 
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_
 
double psi_
 

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

Sigmoid version of a growth curve.

This class represents a Sigmoid 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 a forward Euler integration method to update the number of synaptic elements: dz/dt = nu ((2 / (1 + e^((Ca(t) - eps)/psi))) - 1) eps is the target mean calcium concentration in the neuron, psi controls the width of the sigmoid and nu is the growth rate in elements/ms. 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.
nuGrowth rate in elements/ms. Can be negative.
psiParameter that controls the width of the curve. Must be greater than 0.
See also
SynapticElement, SPManager, SPBuilder, GrowthCurveLinear
Author
Ankur Sinha (September 2016)

[1] Butz, Markus, Steenbuck, Ines D., and Arjen van Ooyen. "Homeostatic structural plasticity increases the efficiency of small-world networks." Frontiers in Synaptic Neuroscience 6 (2014): 7. Uses a forward Euler integration method to update the number of synaptic elements: dz/dt = nu ((2 / (1 + e^((Ca(t) - eps)/psi))) - 1) eps is the target mean calcium concentration in the neuron, psi controls the width of the sigmoid and nu is the growth rate.

Constructor & Destructor Documentation

◆ GrowthCurveSigmoid()

nest::GrowthCurveSigmoid::GrowthCurveSigmoid ( )

Member Function Documentation

◆ get()

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

Implements nest::GrowthCurve.

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

Here is the call graph for this function:

◆ set()

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

Implements nest::GrowthCurve.

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

Here is the call graph for this function:

◆ update()

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

Implements nest::GrowthCurve.

References eps_, nest::Time::get_ms(), nest::Time::get_resolution(), and psi_.

Here is the call graph for this function:

Member Data Documentation

◆ eps_

double nest::GrowthCurveSigmoid::eps_
private

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

◆ psi_

double nest::GrowthCurveSigmoid::psi_
private

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


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