class brainpy.dyn.channels.Ca.CalciumDetailed(size, keep_size=False, T=36.0, d=1.0, C_rest=0.00024, tau=5.0, C0=2.0, C_initializer=OneInit(value=0.00024), method='exp_auto', name=None, mode=NormalMode, **channels)[source]#

Dynamical Calcium model proposed.

1. The dynamics of intracellular \(Ca^{2+}\)

The dynamics of intracellular \(Ca^{2+}\) were determined by two contributions 1 :

(i) Influx of \(Ca^{2+}\) due to Calcium currents

\(Ca^{2+}\) ions enter through \(Ca^{2+}\) channels and diffuse into the interior of the cell. Only the \(Ca^{2+}\) concentration in a thin shell beneath the membrane was modeled. The influx of \(Ca^{2+}\) into such a thin shell followed:

\[[Ca]_{i}=-\frac{k}{2 F d} I_{Ca}\]

where \(F=96489\, \mathrm{C\, mol^{-1}}\) is the Faraday constant, \(d=1\, \mathrm{\mu m}\) is the depth of the shell beneath the membrane, the unit conversion constant is \(k=0.1\) for \(I_T\) in \(\mathrm{\mu A/cm^{2}}\) and \([Ca]_{i}\) in millimolar, and \(I_{Ca}\) is the summation of all \(Ca^{2+}\) currents.

(ii) Efflux of \(Ca^{2+}\) due to an active pump

In a thin shell beneath the membrane, \(Ca^{2+}\) retrieval usually consists of a combination of several processes, such as binding to \(Ca^{2+}\) buffers, calcium efflux due to \(Ca^{2+}\) ATPase pump activity and diffusion to neighboring shells. Only the \(Ca^{2+}\) pump was modeled here. We adopted the following kinetic scheme:

\[Ca _{i}^{2+}+ P \overset{c_1}{\underset{c_2}{\rightleftharpoons}} CaP \xrightarrow{c_3} P+ Ca _{0}^{2+}\]

where P represents the \(Ca^{2+}\) pump, CaP is an intermediate state, \(Ca _{ o }^{2+}\) is the extracellular \(Ca^{2+}\) concentration, and \(c_{1}, c_{2}\) and \(c_{3}\) are rate constants. \(Ca^{2+}\) ions have a high affinity for the pump \(P\), whereas extrusion of \(Ca^{2+}\) follows a slower process (Blaustein, 1988 ). Therefore, \(c_{3}\) is low compared to \(c_{1}\) and \(c_{2}\) and the Michaelis-Menten approximation can be used for describing the kinetics of the pump. According to such a scheme, the kinetic equation for the \(Ca^{2+}\) pump is:


where \(K_{T}=10^{-4}\, \mathrm{mM\, ms^{-1}}\) is the product of \(c_{3}\) with the total concentration of \(P\) and \(K_{d}=c_{2} / c_{1}=10^{-4}\, \mathrm{mM}\) is the dissociation constant, which can be interpreted here as the value of \([Ca]_{i}\) at which the pump is half activated (if \([Ca]_{i} \ll K_{d}\) then the efflux is negligible).

2.A simple first-order model

While, in (Bazhenov, et al., 1998) 2, the \(Ca^{2+}\) dynamics is described by a simple first-order model,

\[\frac{d\left[Ca^{2+}\right]_{i}}{d t}=-\frac{I_{Ca}}{z F d}+\frac{\left[Ca^{2+}\right]_{rest}-\left[C a^{2+}\right]_{i}}{\tau_{Ca}}\]

where \(I_{Ca}\) is the summation of all \(Ca ^{2+}\) currents, \(d\) is the thickness of the perimembrane “shell” in which calcium is able to affect membrane properties \((1.\, \mathrm{\mu M})\), \(z=2\) is the valence of the \(Ca ^{2+}\) ion, \(F\) is the Faraday constant, and \(\tau_{C a}\) is the \(Ca ^{2+}\) removal rate. The resting \(Ca ^{2+}\) concentration was set to be \(\left[ Ca ^{2+}\right]_{\text {rest}}=.05\, \mathrm{\mu M}\) .

3. The reversal potential

The reversal potential of calcium \(Ca ^{2+}\) is calculated according to the Nernst equation:

\[E = k'{RT \over 2F} log{[Ca^{2+}]_0 \over [Ca^{2+}]_i}\]

where \(R=8.31441 \, \mathrm{J} /(\mathrm{mol}^{\circ} \mathrm{K})\), \(T=309.15^{\circ} \mathrm{K}\), \(F=96,489 \mathrm{C} / \mathrm{mol}\), and \(\left[\mathrm{Ca}^{2+}\right]_{0}=2 \mathrm{mM}\).

  • d (float) – The thickness of the peri-membrane “shell”.

  • F (float) – The Faraday constant. (\(C*mmol^{-1}\))

  • tau (float) – The time constant of the \(Ca ^{2+}\) removal rate. (ms)

  • C_rest (float) – The resting \(Ca ^{2+}\) concentration.

  • C0 (float) – The \(Ca ^{2+}\) concentration outside of the membrane.

  • R (float) – The gas constant. (:math:` J*mol^{-1}*K^{-1}`)



Destexhe, Alain, Agnessa Babloyantz, and Terrence J. Sejnowski. “Ionic mechanisms for intrinsic slow oscillations in thalamic relay neurons.” Biophysical journal 65, no. 4 (1993): 1538-1552.


Bazhenov, Maxim, Igor Timofeev, Mircea Steriade, and Terrence J. Sejnowski. “Cellular and network models for intrathalamic augmenting responses during 10-Hz stimulation.” Journal of neurophysiology 79, no. 5 (1998): 2730-2748.

__init__(size, keep_size=False, T=36.0, d=1.0, C_rest=0.00024, tau=5.0, C0=2.0, C_initializer=OneInit(value=0.00024), method='exp_auto', name=None, mode=NormalMode, **channels)[source]#


__init__(size[, keep_size, T, d, C_rest, ...])


current(V[, C_Ca, E_Ca])

derivative(C, t, V)

get_delay_data(identifier, delay_step, *indices)

Get delay data according to the provided delay steps.

load_states(filename[, verbose])

Load the model states.

nodes([method, level, include_self])

Collect all children nodes.

offline_fit(target, fit_record)


online_fit(target, fit_record)


register_delay(identifier, delay_step, ...)

Register delay variable.

register_implicit_nodes(*channels, ...)

register_implicit_vars(*variables, ...)

reset(V[, batch_size])

Reset function which reset the whole variables in the model.


Reset local delay variables.

reset_state(V[, C_Ca, E_Ca, batch_size])

Reset function which reset the states in the model.

save_states(filename[, variables])

Save the model states.

train_vars([method, level, include_self])

The shortcut for retrieving all trainable variables.

unique_name([name, type_])

Get the unique name for this object.

update(tdi, V)

Update function of a container.


Update local delay variables.

vars([method, level, include_self])

Collect all variables in this node and the children nodes.






Mode of the model, which is useful to control the multiple behaviors of the model.


Name of the model.