class WeightUpdateModels::StaticGraded

Overview

Graded-potential, static synapse. More…

#include <weightUpdateModels.h>

class StaticGraded: public WeightUpdateModels::Base
{
public:
    // methods

    DECLARE_WEIGHT_UPDATE_MODEL(
        StaticGraded,
        2,
        1,
        0,
        0
        );

    virtual StringVec getParamNames() const;
    virtual VarVec getVars() const;
    virtual std::string getEventCode() const;
    virtual std::string getEventThresholdConditionCode() const;
};

Inherited Members

public:
    // typedefs

    typedef std::vector<std::string> StringVec;
    typedef std::vector<EGP> EGPVec;
    typedef std::vector<ParamVal> ParamValVec;
    typedef std::vector<DerivedParam> DerivedParamVec;
    typedef std::vector<Var> VarVec;

    // structs

    struct DerivedParam;
    struct EGP;
    struct ParamVal;
    struct Var;

    // methods

    virtual ~Base();
    virtual StringVec getParamNames() const;
    virtual DerivedParamVec getDerivedParams() const;
    virtual VarVec getVars() const;
    virtual EGPVec getExtraGlobalParams() const;
    size_t getVarIndex(const std::string& varName) const;
    size_t getExtraGlobalParamIndex(const std::string& paramName) const;
    virtual std::string getSimCode() const;
    virtual std::string getEventCode() const;
    virtual std::string getLearnPostCode() const;
    virtual std::string getSynapseDynamicsCode() const;
    virtual std::string getEventThresholdConditionCode() const;
    virtual std::string getSimSupportCode() const;
    virtual std::string getLearnPostSupportCode() const;
    virtual std::string getSynapseDynamicsSuppportCode() const;
    virtual std::string getPreSpikeCode() const;
    virtual std::string getPostSpikeCode() const;
    virtual VarVec getPreVars() const;
    virtual VarVec getPostVars() const;
    virtual bool isPreSpikeTimeRequired() const;
    virtual bool isPostSpikeTimeRequired() const;
    size_t getPreVarIndex(const std::string& varName) const;
    size_t getPostVarIndex(const std::string& varName) const;

Detailed Documentation

Graded-potential, static synapse.

In a graded synapse, the conductance is updated gradually with the rule:

\[gSyn= g * tanh((V - E_{pre}) / V_{slope}\]

whenever the membrane potential \(V\) is larger than the threshold \(E_{pre}\). The model has 1 variable:

  • g: conductance of scalar type

The parameters are:

  • Epre: Presynaptic threshold potential
  • Vslope: Activation slope of graded release

event code is:

$(addToInSyn, $(g)* tanh(($(V_pre)-($(Epre)))*DT*2/$(Vslope)));

event threshold condition code is:

$(V_pre) > $(Epre)

The pre-synaptic variables are referenced with the suffix _pre in synapse related code such as an the event threshold test. Users can also access post-synaptic neuron variables using the suffix _post.

Methods

virtual StringVec getParamNames() const

Gets names of of (independent) model parameters.

virtual VarVec getVars() const

Gets names and types (as strings) of model variables.

virtual std::string getEventCode() const

Gets code run when events (all the instances where event threshold condition is met) are received.

virtual std::string getEventThresholdConditionCode() const

Gets codes to test for events.