Gaussian version of a growth curve. More...
#include <growth_curve.h>
Public Member Functions | |
| GrowthCurveGaussian () | |
| 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 Member Functions | |
| void | compute_local_ () |
Private Attributes | |
| double | eta_ |
| double | eps_ |
| double | inv_zeta_ |
| double | xi_ |
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_ |
Gaussian version of a growth curve.
This class represents a Gaussian 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 * e^(- ((Ca(t) - xi)/z)^2 ) - 1) where xi = (eta + eps)/2, zeta = (eps - eta)/2 * sqrt(ln(2))), eta is the minimum calcium concentration required for any synaptic element to be created, eps is the target mean calcium concentration in the neuron and nu is the growth rate in elements/ms. The growth rate nu is defined in the SynapticElement class.
| eta | Minimum amount of calcium concentration that the neuron needs to start creating synaptic elements. eta can have a negative value, making the growth curve move its maximum to the left. |
| eps | The target calcium concentration that the neuron should look to achieve by creating or deleting synaptic elements. |
| nu | Growth rate in elements/ms. Can be negative. |
[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.
| nest::GrowthCurveGaussian::GrowthCurveGaussian | ( | ) |
|
private |
References eps_, eta_, inv_zeta_, numerics::sqrt_log_two, and xi_.
Referenced by GrowthCurveGaussian(), and set().
|
overridevirtual |
Implements nest::GrowthCurve.
References nest::names::eps(), eps_, nest::names::eta(), eta_, nest::names::growth_curve(), and nest::GrowthCurve::name_.
|
overridevirtual |
Implements nest::GrowthCurve.
References compute_local_(), nest::names::eps(), eps_, nest::names::eta(), and eta_.
|
overridevirtual |
Implements nest::GrowthCurve.
References nest::Time::get_ms(), nest::Time::get_resolution(), inv_zeta_, and xi_.
|
private |
Referenced by compute_local_(), get(), and set().
|
private |
Referenced by compute_local_(), get(), and set().
|
private |
Referenced by compute_local_(), and update().
|
private |
Referenced by compute_local_(), and update().