CSIM: MembranePatch Class Reference

MembranePatch Class Reference

#include <membranepatch.h>

Inheritance diagram for MembranePatch:

MembranePatchSimple CbNeuron CbHHOuINeuron CbHHOuNeuron CbNeuronSt HHNeuron TraubsHHNeuron bNACNeuron cACNeuron CbStOuNeuron dNACNeuron bNACOUNeuron cACOUNeuron dNACOUNeuron List of all members.

Detailed Description

A a patch of membrane with an arbitrary number of channels and current supplying synapses.

Model

The membrane voltage $V_m$ is governed by

\[ C_m \frac{V_m}{dt} = -\frac{V_m-E_m}{R_m} - \sum_{c=1}^{N_c} g_c(t) ( V_m - E_{rev}^c ) + \sum_{s=1}^{N_s} I_s(t) + I_{inject} \]

with the following meanings of symbols

  • $C_m$ membrane capacity (Farad)
  • $E_m$ reversal potential of the leak current (Volts)
  • $R_m$ membrane resistance (Ohm)
  • $N_c$ total number of channels (active + synaptic)
  • $g_c(t)$ current conductance of channel $c$ (Siemens)
  • $E_{rev}^c(t)$ reversal potential of channel $c$ (Volts)
  • $N_s$ total number of current supplying synapses
  • $I_s(t)$ current supplied by synapse $s$ (Ampere)
  • $I_{inject}$ injected current (Ampere) Manual and Class Reference** At time $t=0$ $V_m$ ist set to $V_{init}$ .

The value of $E_m$ is calculated to compensate for ionic currents such that $V_m$ actually has a resting value of $V_\mathit{resting}$ .

Spiking and reseting the membrane voltage

If the membrane voltage $V_m$ exceeds the threshold $V_{tresh}$ the MembranePatch sends a spike to all its outgoing synapses.

The membrane voltage is reseted and clamped during the absolute refractory period of length $T_{refract}$ to $V_{reset}$ 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 IandGtot (double *i, double *g)
    Calculate the new membrane voltage and check whether Vm exceeds the threshold V_thresh.
  • virtual void reset (void)
    Reset the MembranePatch.

Protected Member Functions

Protected Attributes

  • int nBuffers
    Number of ion buffers [readonly; units=;].
  • int lBuffers
    Length of list of ion buffers [hidden].
  • IonBuffer ** buffers
    A list of associated ion buffers [hidden].

Friends


 
(C) 2003, Thomas Natschläger last modified 07/10/2006