class NeuronModels::RulkovMap¶
Overview¶
Rulkov Map neuron. More…
#include <neuronModels.h> class RulkovMap: public NeuronModels::Base { public: // typedefs typedef Snippet::ValueBase<4> ParamValues; typedef Models::VarInitContainerBase<2> VarValues; typedef Models::VarInitContainerBase<0> PreVarValues; typedef Models::VarInitContainerBase<0> PostVarValues; // methods static const NeuronModels::RulkovMap* getInstance(); virtual std::string getSimCode() const; virtual std::string getThresholdConditionCode() const; virtual StringVec getParamNames() const; virtual VarVec getVars() const; virtual DerivedParamVec getDerivedParams() 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 getThresholdConditionCode() const; virtual std::string getResetCode() const; virtual std::string getSupportCode() const; virtual Models::Base::ParamValVec getAdditionalInputVars() const; virtual bool isAutoRefractoryRequired() const;
Detailed Documentation¶
Rulkov Map neuron.
The RulkovMap type is a map based neuron model based on Rulkov2002 but in the 1-dimensional map form used in nowotny2005self :
The RulkovMap
type only works as intended for the single time step size of DT
= 0.5.
The RulkovMap
type has 2 variables:
V
- the membrane potentialpreV
- the membrane potential at the previous time step
and it has 4 parameters:
Vspike
- determines the amplitude of spikes, typically -60mValpha
- determines the shape of the iteration function, typically \(\alpha\) = 3y
- “shift / excitation” parameter, also determines the iteration function,originally, y= -2.468beta
- roughly speaking equivalent to the input resistance, i.e. it regulates the scale of the input into the neuron, typically \(\beta\) = 2.64 \({\rm M}\Omega\).
The initial values array for the RulkovMap
type needs two entries for V
and Vpre
and the parameter array needs four entries for Vspike
, alpha
, y
and beta
, in that order.
Methods¶
virtual std::string getSimCode() const
Gets the code that defines the execution of one timestep of integration of the neuron model.
The code will refer to for the value of the variable with name “NN”. It needs to refer to the predefined variable “ISYN”, i.e. contain , if it is to receive input.
virtual std::string getThresholdConditionCode() const
Gets code which defines the condition for a true spike in the described neuron model.
This evaluates to a bool (e.g. “V > 20”).
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 DerivedParamVec getDerivedParams() const
Gets names of derived model parameters and the function objects to call to Calculate their value from a vector of model parameter values