Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

MembranePatchSimple Class Reference

#include <membranepatchsimple.h>

Inheritance diagram for MembranePatchSimple:

MembranePatch CbNeuron CbHHOuINeuron CbHHOuNeuron CbNeuronSt HHNeuron bNACNeuron cACNeuron CbStOuNeuron dNACNeuron bNACOUNeuron cACOUNeuron dNACOUNeuron 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 $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

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 MembranePatchSimple 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

Public Attributes

Protected Member Functions

Protected Attributes

Friends


Member Function Documentation

void MembranePatchSimple::reset void   )  [virtual]
 

Reset the MembranePatchSimple.

  • $V_m$ is set to $V_{init}$

  • $E_m$ is calculated such that for no input $V_m$ relaxes to $V_{resting}$ :
    • $E_m = R_m \cdot \left( V_{resting} G_{tot} - I_{ch} \right) $
    • $G_{tot} = \frac{1}{R_m} + \sum_{c=1}^{N_c} g_\infty(V_{resting})$
    • $I_{ch} = \sum_{c=1}^{N_c} g_\infty(V_{resting}) E_{rev}^c $

Reimplemented in CbNeuron, and MembranePatch.


Member Data Documentation

float MembranePatchSimple::Vresting
 

The resting membrane voltage. [units=V; range=(-1,1);].

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}$ . This is done in reset().