MembranePatchSimple Class Reference
#include <membranepatchsimple.h>
Inheritance diagram for MembranePatchSimple:
List of all members.
Detailed Description
A a path of membrane with an arbitrary number of channels and current supplying synapses.
Model
The membrane voltage
is governed by
with the following meanings of symbols
membrane capacity (Farad)
reversal potential of the leak current (Volts)
membrane resistance (Ohm)
total number of channels (active + synaptic)
current conductance of channel
(Siemens)
reversal potential of channel
(Volts)
total number of current supplying synapses
current supplied by synapse
(Ampere)
injected current (Ampere)
At time
ist set to
.
The value of
is calculated to compensate for ionic currents such that
actually has a resting value of
.
Spiking and reseting the membrane voltage
If the membrane voltage
exceeds the threshold
the MembranePatchSimple sends a spike to all its outgoing synapses.
The membrane voltage is reseted and clamped during the absolute refractory period of length
to
if the flag doReset=1
. This is similar to a LIF neuron (see LifNeuron).
If the flag doReset=0
the membrane voltage is not reseted and the above equation is also applied during the absolute refractory period but the event of threshold crossing is transmitted as a spike to outgoing synapses. This is usfull if one includes channels which produce a real action potential (see HH_K_Channel and HH_Na_Channel ) but one still just wants to communicate the spikes as events in time.
Implementation
The exponential Euler method is used for numerical integration.
Public Member Functions
- virtual void reset (void)
- Reset the MembranePatchSimple.
-
virtual void IandGtot (double *i, double *g)
- Calculate the new membrane voltage and check wheter Vm exceeds the threshold V_thresh.
Public Attributes
-
float Cm
- The membrane capacity
[range=(0,1); units=F;].
-
float Rm
- The membrane resistance
[units=Ohm; range=(0,1e30)].
-
double Em
- The reversal potential of the leakage channel [readonly; units=V; range=(-1,1)].
- float Vresting
- The resting membrane voltage. [units=V; range=(-1,1);].
-
float Vinit
- Initial condition for
at time
. [units=V; range=(-1,1);].
-
float VmScale
- Defines the difference between Vresting and the Vthresh for the calculation of the iongate tables and the ionbuffer Erev. [units=V; range=(0,1e5);].
-
double Vm
- The membrane voltage [readonly; units=V;].
-
float Inoise
- Variance of the noise to be added each integration time constant. [range=(0,1); units=W^2;].
-
float Iinject
- Constant current to be injected into the CB neuron. [units=A; range=(-1,1);].
Protected Member Functions
Protected Attributes
Friends
Member Function Documentation
void MembranePatchSimple::reset |
( |
void |
|
) |
[virtual] |
|
|
Reset the MembranePatchSimple.
is set to 
is calculated such that for no input relaxes to :
Reimplemented in CbNeuron, and MembranePatch. |
Member Data Documentation
|
The resting membrane voltage. [units=V; range=(-1,1);].
The value of is calculated to compensate for ionic currents such that actually has a resting value of . This is done in reset(). |