The Virtual Brain Project

Table Of Contents

Previous topic

demos Package

This Page

models Package

brunel_wang

Based on the Brunel and Wang model.

class tvb.contrib.simulator.models.brunel_wang.BrunelWang(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

[DJ_2012]Deco G and Jirsa V. Ongoing Cortical Activity at Rest: Criticality, Multistability, and Ghost Attractors. Journal of Neuroscience 32, 3366-3375, 2012.
[BW_2001]Brunel N and Wang X-J. Effects of neuromodulation in a cortical network model of object working memory dominated by recurrent inhibition. Journal of Computational Neuroscience 11, 63–85, 2001.

Each node consists of one excitatory (E) and one inhibitory (I) pool.

At a global level, it uses Hagmann’s 2008 connectome 66 areas(hagmann_struct.csv) with a global scaling weight (W) of 1.65.

tau : tvb.contrib.simulator.models.brunel_wang.BrunelWang.tau = NArray(label=’\(\\tau\)‘, dtype=float64, default=array([1.25]), dim_names=(), ndim=None, required=True)
A time-scale separation between the fast, \(V\), and slow, \(W\), state-variables of the model.
calpha : tvb.contrib.simulator.models.brunel_wang.BrunelWang.calpha = NArray(label=’\(c_{\\alpha}\)‘, dtype=float64, default=array([0.5]), dim_names=(), ndim=None, required=True)
NMDA saturation parameter (kHz)
cbeta : tvb.contrib.simulator.models.brunel_wang.BrunelWang.cbeta = NArray(label=’\(c_{\\beta}\)‘, dtype=float64, default=array([0.062]), dim_names=(), ndim=None, required=True)
Inverse MG2+ blockade potential(mV-1)
cgamma : tvb.contrib.simulator.models.brunel_wang.BrunelWang.cgamma = NArray(label=’\(c_{\\gamma}\)‘, dtype=float64, default=array([0.28011204]), dim_names=(), ndim=None, required=True)
Strength of Mg2+ blockade
tauNMDArise : tvb.contrib.simulator.models.brunel_wang.BrunelWang.tauNMDArise = NArray(label=’\(\\tau_{NMDA_{rise}}\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
NMDA time constant (rise) (ms)
tauNMDAdecay : tvb.contrib.simulator.models.brunel_wang.BrunelWang.tauNMDAdecay = NArray(label=’\(\\tau_{NMDA_{decay}}\)‘, dtype=float64, default=array([100.]), dim_names=(), ndim=None, required=True)
NMDA time constant (decay) (ms)
tauAMPA : tvb.contrib.simulator.models.brunel_wang.BrunelWang.tauAMPA = NArray(label=’\(\\tau_{AMPA}\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
AMPA time constant (decay) (ms)
tauGABA : tvb.contrib.simulator.models.brunel_wang.BrunelWang.tauGABA = NArray(label=’\(\\tau_{GABA}\)‘, dtype=float64, default=array([10.]), dim_names=(), ndim=None, required=True)
GABA time constant (decay) (ms)
VE : tvb.contrib.simulator.models.brunel_wang.BrunelWang.VE = NArray(label=’\(V_E\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Extracellular potential (mV)
VI : tvb.contrib.simulator.models.brunel_wang.BrunelWang.VI = NArray(label=’\(V_I\)‘, dtype=float64, default=array([-70.]), dim_names=(), ndim=None, required=True)
.
VL : tvb.contrib.simulator.models.brunel_wang.BrunelWang.VL = NArray(label=’\(V_L\)‘, dtype=float64, default=array([-70.]), dim_names=(), ndim=None, required=True)
Resting potential (mV)
Vthr : tvb.contrib.simulator.models.brunel_wang.BrunelWang.Vthr = NArray(label=’\(V_{thr}\)‘, dtype=float64, default=array([-50.]), dim_names=(), ndim=None, required=True)
Threshold potential (mV)
Vreset : tvb.contrib.simulator.models.brunel_wang.BrunelWang.Vreset = NArray(label=’\(V_{reset}\)‘, dtype=float64, default=array([-55.]), dim_names=(), ndim=None, required=True)
Reset potential (mV)
gNMDA_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gNMDA_e = NArray(label=’\(g_{NMDA_{e}}\)‘, dtype=float64, default=array([0.327]), dim_names=(), ndim=None, required=True)
NMDA conductance on post-synaptic excitatory (nS)
gNMDA_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gNMDA_i = NArray(label=’\(g_{NMDA_{i}}\)‘, dtype=float64, default=array([0.258]), dim_names=(), ndim=None, required=True)
NMDA conductance on post-synaptic inhibitory (nS)
gGABA_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gGABA_e = NArray(label=’\(g_{GABA_{e}}\)‘, dtype=float64, default=array([4.375]), dim_names=(), ndim=None, required=True)
GABA conductance on excitatory post-synaptic (nS)
gGABA_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gGABA_i = NArray(label=’\(g_{GABA_{i}}\)‘, dtype=float64, default=array([3.4055]), dim_names=(), ndim=None, required=True)
GABA conductance on inhibitory post-synaptic (nS)
gAMPArec_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gAMPArec_e = NArray(label=’\(g_{AMPA_{rec_e}}\)‘, dtype=float64, default=array([0.104]), dim_names=(), ndim=None, required=True)
AMPA(recurrent) cond on post-synaptic (nS)
gAMPArec_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gAMPArec_i = NArray(label=’\(g_{AMPA_{rec_i}}\)‘, dtype=float64, default=array([0.081]), dim_names=(), ndim=None, required=True)
AMPA(recurrent) cond on post-synaptic (nS)
gAMPAext_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gAMPAext_e = NArray(label=’\(g_{AMPA_{ext_e}}\)‘, dtype=float64, default=array([2.496]), dim_names=(), ndim=None, required=True)
AMPA(external) cond on post-synaptic (nS)
gAMPAext_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gAMPAext_i = NArray(label=’\(g_{AMPA_{ext_i}}\)‘, dtype=float64, default=array([1.944]), dim_names=(), ndim=None, required=True)
AMPA(external) cond on post-synaptic (nS)
gm_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gm_e = NArray(label=’\(gm_e\)‘, dtype=float64, default=array([25.]), dim_names=(), ndim=None, required=True)
Excitatory membrane conductance (nS)
gm_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.gm_i = NArray(label=’\(gm_i\)‘, dtype=float64, default=array([20.]), dim_names=(), ndim=None, required=True)
Inhibitory membrane conductance (nS)
Cm_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.Cm_e = NArray(label=’\(Cm_e\)‘, dtype=float64, default=array([500.]), dim_names=(), ndim=None, required=True)
Excitatory membrane capacitance (mF)
Cm_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.Cm_i = NArray(label=’\(Cm_i\)‘, dtype=float64, default=array([200.]), dim_names=(), ndim=None, required=True)
Inhibitory membrane capacitance (mF)
taum_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.taum_e = NArray(label=’\(\\tau_{m_{e}}\)‘, dtype=float64, default=array([20.]), dim_names=(), ndim=None, required=True)
Excitatory membrane leak time (ms)
taum_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.taum_i = NArray(label=’\(\\tau_{m_{i}}\)‘, dtype=float64, default=array([10.]), dim_names=(), ndim=None, required=True)
Inhibitory Membrane leak time (ms)
taurp_e : tvb.contrib.simulator.models.brunel_wang.BrunelWang.taurp_e = NArray(label=’\(\\tau_{rp_{e}}\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
Excitatory absolute refractory period (ms)
taurp_i : tvb.contrib.simulator.models.brunel_wang.BrunelWang.taurp_i = NArray(label=’\(\\tau_{rp_{i}}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Inhibitory absolute refractory period (ms)
Cext : tvb.contrib.simulator.models.brunel_wang.BrunelWang.Cext = NArray(label=’\(C_{ext}\)‘, dtype=int64, default=array([800]), dim_names=(), ndim=None, required=True)
Number of external (excitatory) connections
C : tvb.contrib.simulator.models.brunel_wang.BrunelWang.C = NArray(label=’\(C\)‘, dtype=int64, default=array([200]), dim_names=(), ndim=None, required=True)
Number of neurons for each node
nuext : tvb.contrib.simulator.models.brunel_wang.BrunelWang.nuext = NArray(label=’\(\\nu_{ext}\)‘, dtype=float64, default=array([0.003]), dim_names=(), ndim=None, required=True)
External firing rate (kHz)
wplus : tvb.contrib.simulator.models.brunel_wang.BrunelWang.wplus = NArray(label=’\(w_{+}\)‘, dtype=float64, default=array([1.5]), dim_names=(), ndim=None, required=True)
Synaptic coupling strength [w+] (dimensionless)
wminus : tvb.contrib.simulator.models.brunel_wang.BrunelWang.wminus = NArray(label=’\(w_{-}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Synaptic coupling strength [w-] (dimensionless)
NMAX : tvb.contrib.simulator.models.brunel_wang.BrunelWang.NMAX = NArray(label=’\(N_{MAX}\)‘, dtype=int64, default=array([8], dtype=int32), dim_names=(), ndim=None, required=True)
This is a magic number as given in the original code. It is used to compute the phi and psi – computationally expensive – functions
pool_nodes : tvb.contrib.simulator.models.brunel_wang.BrunelWang.pool_nodes = NArray(label=’\(p_{nodes}\)‘, dtype=float64, default=array([74.]), dim_names=(), ndim=None, required=True)
Scale coupling weight sby the number of nodes in the network
a : tvb.contrib.simulator.models.brunel_wang.BrunelWang.a = NArray(label=’\(a\)‘, dtype=float64, default=array([0.80823563]), dim_names=(), ndim=None, required=True)
.
b : tvb.contrib.simulator.models.brunel_wang.BrunelWang.b = NArray(label=’\(b\)‘, dtype=float64, default=array([67.06177975]), dim_names=(), ndim=None, required=True)
.
ve : tvb.contrib.simulator.models.brunel_wang.BrunelWang.ve = NArray(label=’\(ve\)‘, dtype=float64, default=array([-52.5]), dim_names=(), ndim=None, required=True)
.
vi : tvb.contrib.simulator.models.brunel_wang.BrunelWang.vi = NArray(label=’\(vi\)‘, dtype=float64, default=array([-52.5]), dim_names=(), ndim=None, required=True)
.
W : tvb.contrib.simulator.models.brunel_wang.BrunelWang.W = NArray(label=’\(W\)‘, dtype=float64, default=array([1.65]), dim_names=(), ndim=None, required=True)
Global scaling weight [W] (dimensionless)
variables_of_interest : tvb.contrib.simulator.models.brunel_wang.BrunelWang.variables_of_interest = List(of=<class ‘str’>, default=(‘E’,), required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired. The corresponding state-variable indices for this model are \(E = 0\) and \(I = 1\).
state_variable_range : tvb.contrib.simulator.models.brunel_wang.BrunelWang.state_variable_range = Final(field_type=<class ‘dict’>, default={‘E’: array([0.001, 0.01 ]), ‘I’: array([0.001, 0.01 ])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random initial conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots. The corresponding state-variable units for this model are kHz.

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

C

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Cext

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Cm_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Cm_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

NMAX

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VE

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VI

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VL

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Vreset

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Vthr

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

W

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

a

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

b

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

calpha

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

cbeta

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

cgamma

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

configure()[source]
dfun(state_variables, coupling, local_coupling=0.0)[source]
\[au_e*\dot{\]

u_e}(t) &= - u_e(t) + phi_e \

au_i*dot{

u_i}(t) &= - u_i(t) + phi_i \

ve &= - (V_thr - V_reset) ,
u_e , au_e + mu_e \
vi &= - (V_thr - V_reset) ,

u_i , au_i + mu_i \

au_X &= frac{C_m_X}{g_m_x , S_X} \

S_X &= 1 + Text ,

u_ext + T_ampa , u_X + (rho_1 + rho_2)

, psi(
u_X) + T_XI , nu_I \
mu_X &= frac{(Text , nu_X + T_AMPA , nu_X + rho_1 ,
psi(
u_X)) , (V_E - V_L)}{S_X} +
frac{rho_2 , psi(
u_X) ,(bar{V_X} - V_L) +
T_xI , nu_I , (V_I - V_L)}{S_X} \
sigma_X^2 &= frac{g_AMPA_ext^2(bar{V_X} - V_X)^2 , C_ext , nu_ext
tau_AMPA^2 , tau_X}{g_m_X^2 * tau_m_X^2} \

rho_1 &= {g_NMDA * C}{g_m_X * J} \ rho_2 &= beta frac{g_NMDA * C (bar{V_X} - V_E)(J - 1)}

{g_m_X * J^2} \

J_X &= 1 + gamma ,exp(-beta*bar{V_X}) \ phi(mu_X, sigma_X) &= (tau_rp_X + tau_X , int

exp(u^2) * (erf(u) + 1))^-1

The NMDA gating variable .. math:

\psi(\nu)

has been approximated by the exponential function: .. math:

\psi(\nu) &= a * (1 - \exp(-b * \nu)) \\
a &= 0.80823563 \\
b &= 67.06177975

The post-synaptic rate as described by the \(\phi\) function constitutes a non-linear input-output relationship between the firing rate of the post-synaptic neuron and the average firing rates \(\nu_{E}\) and \(\nu_{I}\) of the pre-synaptic excitatory and inhibitory neural populations. This input-output function is conceptually equivalent to the simple threshold-linear or sigmoid input-output functions routinely used in firing-rate models. What it is gained from using the integral form is a firing-rate model that captures many of the underlying biophysics of the real spiking neurons.[BW_2001]_

gAMPAext_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gAMPAext_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gAMPArec_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gAMPArec_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gGABA_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gGABA_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gNMDA_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gNMDA_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gm_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gm_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

nuext

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

optimize(fnname='optdfun')[source]

Optimization routine when we have too many self.parameters within dfun

pool_nodes

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

tau

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

tauAMPA

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

tauGABA

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

tauNMDAdecay

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

tauNMDArise

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

taum_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

taum_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

taurp_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

taurp_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

update_derived_parameters()[source]

Derived parameters

variables_of_interest

The attribute is a list of values. Choices and type are reinterpreted as applying not to the list but to the elements of it

ve

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

vi

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

wminus

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

wplus

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

epileptor

The Epileptor model

class tvb.contrib.simulator.models.epileptor.HMJEpileptor(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

The Epileptor is a composite neural mass model of six dimensions which has be crafted to model the phenomenology of epileptic seizures.

This model, its motivation and derivation are currently in preparation for publication (Jirsa et al, 2013)

dfun(state_variables, coupling, local_coupling=0.0, array=<built-in function array>, where=<function where at 0x7f5ec3057830>, concat=<function concatenate at 0x7f5eeaa7c5f0>)[source]

Computes the derivatives of the state variables of the Epileptor with respect to time.

Implementation note: we expect this version of the Epileptor to be used in a vectorized manner. Concretely, y has a shape of (6, n) where n is the number of nodes in the network. An consequence is that the original use of if/else is translated by calculated both the true and false forms and mixing them using a boolean mask.

Variables of interest to be used by monitors: -y[0] + y[3]

a : tvb.contrib.simulator.models.epileptor.HMJEpileptor.a = NArray(label=’a’, dtype=float64, default=array([1]), dim_names=(), ndim=None, required=True)
n/a
b : tvb.contrib.simulator.models.epileptor.HMJEpileptor.b = NArray(label=’b’, dtype=float64, default=array([3]), dim_names=(), ndim=None, required=True)
n/a
c : tvb.contrib.simulator.models.epileptor.HMJEpileptor.c = NArray(label=’c’, dtype=float64, default=array([1]), dim_names=(), ndim=None, required=True)
n/a
d : tvb.contrib.simulator.models.epileptor.HMJEpileptor.d = NArray(label=’d’, dtype=float64, default=array([5]), dim_names=(), ndim=None, required=True)
n/a
r : tvb.contrib.simulator.models.epileptor.HMJEpileptor.r = NArray(label=’r’, dtype=float64, default=array([0.00035]), dim_names=(), ndim=None, required=True)
n/a
s : tvb.contrib.simulator.models.epileptor.HMJEpileptor.s = NArray(label=’s’, dtype=float64, default=array([4]), dim_names=(), ndim=None, required=True)
n/a
x0 : tvb.contrib.simulator.models.epileptor.HMJEpileptor.x0 = NArray(label=’x0’, dtype=float64, default=array([-1.6]), dim_names=(), ndim=None, required=True)
n/a
Iext : tvb.contrib.simulator.models.epileptor.HMJEpileptor.Iext = NArray(label=’Iext’, dtype=float64, default=array([3.1]), dim_names=(), ndim=None, required=True)
n/a
omega2 : tvb.contrib.simulator.models.epileptor.HMJEpileptor.omega2 = NArray(label=’omega2’, dtype=float64, default=array([0.1]), dim_names=(), ndim=None, required=True)
n/a
slope : tvb.contrib.simulator.models.epileptor.HMJEpileptor.slope = NArray(label=’slope’, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
n/a
Iext2 : tvb.contrib.simulator.models.epileptor.HMJEpileptor.Iext2 = NArray(label=’Iext2’, dtype=float64, default=array([0.45]), dim_names=(), ndim=None, required=True)
n/a
tau : tvb.contrib.simulator.models.epileptor.HMJEpileptor.tau = NArray(label=’tau’, dtype=float64, default=array([10]), dim_names=(), ndim=None, required=True)
n/a
aa : tvb.contrib.simulator.models.epileptor.HMJEpileptor.aa = NArray(label=’aa’, dtype=float64, default=array([6]), dim_names=(), ndim=None, required=True)
n/a
Kpop1 : tvb.contrib.simulator.models.epileptor.HMJEpileptor.Kpop1 = NArray(label=’K_11’, dtype=float64, default=array([0.5]), dim_names=(), ndim=None, required=True)
Test parameter. Correspond to the coupling scaling. Move outside to be consistent with the general TVB implementation.
Kpop2 : tvb.contrib.simulator.models.epileptor.HMJEpileptor.Kpop2 = NArray(label=’K_22’, dtype=float64, default=array([0.2]), dim_names=(), ndim=None, required=True)
Test parameter. Correspond to the coupling scaling. Move outside to be consistent with the general TVB implementation.
state_variable_range : tvb.contrib.simulator.models.epileptor.HMJEpileptor.state_variable_range = Final(field_type=<class ‘dict’>, default={‘y0’: array([0.e+00, 1.e-10]), ‘y1’: array([-5., 0.]), ‘y2’: array([3., 4.]), ‘y3’: array([0.e+00, 1.e-10]), ‘y4’: array([0.e+00, 1.e-10]), ‘y5’: array([0. , 0.01])}, required=True)
n/a
variables_of_interest : tvb.contrib.simulator.models.epileptor.HMJEpileptor.variables_of_interest = List(of=<class ‘str’>, default=(‘y0’, ‘y3’), required=True)
default state variables to be monitored

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

Iext

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Iext2

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Kpop1

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Kpop2

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

a

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

aa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

b

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

c

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

d

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0, array=<built-in function array>, where=<function where at 0x7f5ec3057830>, concat=<function concatenate at 0x7f5eeaa7c5f0>)[source]

Computes the derivatives of the state variables of the Epileptor with respect to time.

Implementation note: we expect this version of the Epileptor to be used in a vectorized manner. Concretely, y has a shape of (6, n) where n is the number of nodes in the network. An consequence is that the original use of if/else is translated by calculated both the true and false forms and mixing them using a boolean mask.

Variables of interest to be used by monitors: -y[0] + y[3]

omega2

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

r

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

s

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

slope

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

tau

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

variables_of_interest

The attribute is a list of values. Choices and type are reinterpreted as applying not to the list but to the elements of it

x0

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

generic_2d_oscillator

A abstract 2d oscillator model.

class tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

The Generic2dOscillator model is ...

[FH_1961](1, 2, 3, 4, 5, 6, 7, 8) FitzHugh, R., Impulses and physiological states in theoretical models of nerve membrane, Biophysical Journal 1: 445, 1961.
[Nagumo_1962]Nagumo et.al, An Active Pulse Transmission Line Simulating Nerve Axon, Proceedings of the IRE 50: 2061, 1962.

See also, http://www.scholarpedia.org/article/FitzHugh-Nagumo_model

The models (\(V\), \(W\)) phase-plane, including a representation of the vector field as well as its nullclines, using default parameters, can be seen below:

Fitzhugh-Nagumo phase plane (V, W)

The (\(V\), \(W\)) phase-plane for the Fitzhugh-Nagumo model.

__init__(**kwargs)[source]

May need to put kwargs back if we can’t get them from trait...

dfun(state_variables, coupling, local_coupling=0.0)[source]

The fast, \(V\), and slow, \(W\), state variables are typically considered to represent a membrane potential and recovery variable, respectively. Based on equations 1 and 2 of [FH_1961], but relabelling c as \(\tau\) due to its interpretation as a time-scale separation, and adding parameters \(\upsilon\), \(\omega\), \(\eta\), and \(\gamma\), for flexibility, here we implement:

\[\begin{split}\dot{V} &= \tau (\omega \, W + \upsilon \, V - \gamma \, \frac{V^3}{3} + I) \\ \dot{W} &= -(\eta \, V - a + b \, W) / \tau\end{split}\]

where external currents \(I\) provide the entry point for local and long-range connectivity.

For strict consistency with [FH_1961], parameters \(\upsilon\), \(\omega\), \(\eta\), and \(\gamma\) should be set to 1.0, with \(a\), \(b\), and \(\tau\) set in the range defined by equation 3 of [FH_1961]:

\[\begin{split}0 \le b \le 1 \\ 1 - 2 b / 3 \le a \le 1 \\ \tau^2 \ge b\end{split}\]

The default state of these equations can be seen in the Fitzhugh-Nagumo phase-plane.

tau : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.tau = NArray(label=’\(\\tau\)‘, dtype=float64, default=array([1.25]), dim_names=(), ndim=None, required=True)
A time-scale separation between the fast, \(V\), and slow, \(W\), state-variables of the model.
a : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.a = NArray(label=’\(a\)‘, dtype=float64, default=array([1.05]), dim_names=(), ndim=None, required=True)
ratio a/b gives W-nullcline slope
b : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.b = NArray(label=’\(b\)‘, dtype=float64, default=array([0.2]), dim_names=(), ndim=None, required=True)
dimensionless parameter
omega : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.omega = NArray(label=’\(\\omega\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
dimensionless parameter
upsilon : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.upsilon = NArray(label=’\(\\upsilon\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
dimensionless parameter
gamma : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.gamma = NArray(label=’\(\\gamma\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
dimensionless parameter
eta : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.eta = NArray(label=’\(\\eta\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
ratio \(\eta/b\) gives W-nullcline intersect(V=0)
variables_of_interest : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.variables_of_interest = NArray(label=’Variables watched by Monitors.’, dtype=int64, default=array([0], dtype=int32), dim_names=(), ndim=None, required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired.
state_variable_range : tvb.contrib.simulator.models.generic_2d_oscillator.Generic2dOscillator.state_variable_range = Final(field_type=<class ‘dict’>, default={‘V’: array([-2., 4.]), ‘W’: array([-6., 6.])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random inital conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots.

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

a

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

b

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]

The fast, \(V\), and slow, \(W\), state variables are typically considered to represent a membrane potential and recovery variable, respectively. Based on equations 1 and 2 of [FH_1961], but relabelling c as \(\tau\) due to its interpretation as a time-scale separation, and adding parameters \(\upsilon\), \(\omega\), \(\eta\), and \(\gamma\), for flexibility, here we implement:

\[\begin{split}\dot{V} &= \tau (\omega \, W + \upsilon \, V - \gamma \, \frac{V^3}{3} + I) \\ \dot{W} &= -(\eta \, V - a + b \, W) / \tau\end{split}\]

where external currents \(I\) provide the entry point for local and long-range connectivity.

For strict consistency with [FH_1961], parameters \(\upsilon\), \(\omega\), \(\eta\), and \(\gamma\) should be set to 1.0, with \(a\), \(b\), and \(\tau\) set in the range defined by equation 3 of [FH_1961]:

\[\begin{split}0 \le b \le 1 \\ 1 - 2 b / 3 \le a \le 1 \\ \tau^2 \ge b\end{split}\]

The default state of these equations can be seen in the Fitzhugh-Nagumo phase-plane.

eta

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gamma

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

omega

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

tau

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

upsilon

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

variables_of_interest

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

hindmarsh_rose

A contributed model: Hindmarsh-Rose

class tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

The Hindmarsh-Rose model is a mathematically simple model for repetitive bursting.

[HR_1984](1, 2, 3, 4) Hindmarsh, J. L., and Rose, R. M., A model of neuronal bursting using three coupled first order differential equations, Proceedings of the Royal society of London. Series B. Biological sciences 221: 87, 1984.

The models (\(x\), \(y\)) phase-plane, including a representation of the vector field as well as its nullclines, using default parameters, can be seen below:

Hindmarsh-Rose phase plane (x, y)

The (\(x\), \(y\)) phase-plane for the Hindmarsh-Rose model.

dfun(state_variables, coupling, local_coupling=0.0)[source]

As in the FitzHugh-Nagumo model ([FH_1961]), \(x\) and \(y\) signify the membrane potential and recovery variable respectively. Unlike FitzHugh-Nagumo model, the recovery variable \(y\) is quadratic, modelling subthreshold inward current. The third state-variable, \(z\) signifies a slow outward current which leads to adaptation ([HR_1984]):

\[\begin{split}\dot{x} &= y - a \, x^3 + b \, x^2 - z + I \\ \dot{y} &= c - d \, x^2 - y \\ \dot{z} &= r \, ( s \, (x - x_1) - z )\end{split}\]

where external currents \(I\) provide the entry point for local and long-range connectivity. Default parameters are set as per Figure 6 of [HR_1984] so that the model shows repetitive bursting when \(I=2\).

r : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.r = NArray(label=’\(r\)‘, dtype=float64, default=array([0.001]), dim_names=(), ndim=None, required=True)
Adaptation parameter, governs time-scale of the state variable \(z\).
a : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.a = NArray(label=’\(a\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Dimensionless parameter, governs x-nullcline
b : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.b = NArray(label=’\(b\)‘, dtype=float64, default=array([3.]), dim_names=(), ndim=None, required=True)
Dimensionless parameter, governs x-nullcline
c : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.c = NArray(label=’\(c\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Dimensionless parameter, governs y-nullcline
d : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.d = NArray(label=’\(d\)‘, dtype=float64, default=array([5.]), dim_names=(), ndim=None, required=True)
Dimensionless parameter, governs y-nullcline
s : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.s = NArray(label=’\(s\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Adaptation parameter, governs feedback
x_1 : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.x_1 = NArray(label=’\(x_{1}\)‘, dtype=float64, default=array([-1.6]), dim_names=(), ndim=None, required=True)
Governs leftmost equilibrium point of x
state_variable_range : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.state_variable_range = Final(field_type=<class ‘dict’>, default={‘x’: array([-4., 4.]), ‘y’: array([-60., 20.]), ‘z’: array([-2., 18.])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random inital conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots.
variables_of_interest : tvb.contrib.simulator.models.hindmarsh_rose.HindmarshRose.variables_of_interest = NArray(label=’Variables watched by Monitors’, dtype=int64, default=array([0], dtype=int32), dim_names=(), ndim=None, required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired. The corresponding state-variable indices for this model are \(x = 0\), \(y = 1\),and \(z = 2\).

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

a

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

b

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

c

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

d

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]

As in the FitzHugh-Nagumo model ([FH_1961]), \(x\) and \(y\) signify the membrane potential and recovery variable respectively. Unlike FitzHugh-Nagumo model, the recovery variable \(y\) is quadratic, modelling subthreshold inward current. The third state-variable, \(z\) signifies a slow outward current which leads to adaptation ([HR_1984]):

\[\begin{split}\dot{x} &= y - a \, x^3 + b \, x^2 - z + I \\ \dot{y} &= c - d \, x^2 - y \\ \dot{z} &= r \, ( s \, (x - x_1) - z )\end{split}\]

where external currents \(I\) provide the entry point for local and long-range connectivity. Default parameters are set as per Figure 6 of [HR_1984] so that the model shows repetitive bursting when \(I=2\).

r

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

s

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

variables_of_interest

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

x_1

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

jansen_rit_david

A contributed model: The Jansen and Rit model as presented in (David et al., 2005)

class tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

The Jansen and Rit models as studied by David et al., 2005 #TODO: finish this model
He : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.He = NArray(label=’\(He\)‘, dtype=float64, default=array([3.25]), dim_names=(), ndim=None, required=True)
Maximum amplitude of EPSP [mV]. Also called average synaptic gain.
Hi : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.Hi = NArray(label=’\(B\)‘, dtype=float64, default=array([29.3]), dim_names=(), ndim=None, required=True)
Maximum amplitude of IPSP [mV]. Also called average synaptic gain.
tau_e : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.tau_e = NArray(label=’\(a\)‘, dtype=float64, default=array([0.1]), dim_names=(), ndim=None, required=True)
time constant
tau_i : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.tau_i = NArray(label=’\(b\)‘, dtype=float64, default=array([0.15]), dim_names=(), ndim=None, required=True)
time constant
eo : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.eo = NArray(label=’\(v_0\)‘, dtype=float64, default=array([0.0025]), dim_names=(), ndim=None, required=True)
Firing threshold (PSP) for which a 50% firing rate is achieved. In other words, it is the value of the average membrane potential corresponding to the inflection point of the sigmoid [mV].
r : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.r = NArray(label=’\(r\)‘, dtype=float64, default=array([0.56]), dim_names=(), ndim=None, required=True)
Steepness of the sigmoidal transformation [mV^-1].
gamma_1 : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.gamma_1 = NArray(label=’\(\\alpha_1\)‘, dtype=float64, default=array([50.]), dim_names=(), ndim=None, required=True)
Average probability of synaptic contacts in the feedback excitatory loop.
gamma_2 : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.gamma_2 = NArray(label=’\(\\alpha_2\)‘, dtype=float64, default=array([40.]), dim_names=(), ndim=None, required=True)
Average probability of synaptic contacts in the feedback excitatory loop.
gamma_3 : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.gamma_3 = NArray(label=’\(\\alpha_3\)‘, dtype=float64, default=array([12.]), dim_names=(), ndim=None, required=True)
Average probability of synaptic contacts in the feedback excitatory loop.
gamma_4 : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.gamma_4 = NArray(label=’\(\\alpha_4\)‘, dtype=float64, default=array([12.]), dim_names=(), ndim=None, required=True)
Average probability of synaptic contacts in the slow feedback inhibitory loop.
state_variable_range : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.state_variable_range = Final(field_type=<class ‘dict’>, default={‘x0’: array([-1., 1.]), ‘x1’: array([-1., 1.]), ‘x2’: array([-5., 5.]), ‘x3’: array([-6., 6.]), ‘x4’: array([-2., 2.]), ‘x5’: array([-5., 5.]), ‘x6’: array([-5., 5.]), ‘x7’: array([-5., 5.])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random inital conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots.
variables_of_interest : tvb.contrib.simulator.models.jansen_rit_david.JansenRitDavid.variables_of_interest = List(of=<class ‘str’>, default=(‘x0’, ‘x1’, ‘x2’, ‘x3’), required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired. The corresponding state-variable indices for this model are \(y0 = 0\), \(y1 = 1\), \(y2 = 2\), \(y3 = 3\), \(y4 = 4\), and \(y5 = 5\)

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

He

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Hi

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]

The dynamic equations were taken from:

TODO: add equations and finish the model ...

eo

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gamma_1

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gamma_2

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gamma_3

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gamma_4

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

r

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

tau_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

tau_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

variables_of_interest

The attribute is a list of values. Choices and type are reinterpreted as applying not to the list but to the elements of it

larter

A contributed model: Larter

class tvb.contrib.simulator.models.larter.Larter(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

A modified Morris-Lecar model that includes a third equation which simulates the effect of a population of inhibitory interneurons synapsing on the pyramidal cells.

[Larteretal_1999]Larter et.al. A coupled ordinary differential equation lattice model for the simulation of epileptic seizures. Chaos. 9(3): 795, 1999.
[Breaksetal_2003]M. J. Breakspear et.al. Modulation of excitatory synaptic coupling facilitates synchronization and complex dynamics in a biophysical model of neuronal dynamics. Network: Computation in Neural Systems 14: 703-732, 2003.

Equations are taken from [Larteretal_1999]. Parameter values are taken from Table I, page 799.

Regarding the choice of coupling: the three biophysically reasonable mechanisms (diffusive; delay line axonal/ synaptic or glial; and extracellular current flow) are dependent of K++. This is reflected in the potassium equilibrium potential (\(V_{K}\)). Thus, this variable is chosen as the coupling element between nodes.

Larter phase plane (V, W)

The (\(V\), \(W\)) phase-plane for the Larter model.

dfun(state_variables, coupling, local_coupling=0.0)[source]
\[\begin{split}\dot{V} &= - g_L \, (V - V_L) - g_K\, Z \, (V - V_K) - g_{Ca} \, m_{\infty} \, (V - 1) + I - \alpha_{inh}\,Z \\ \dot{W} &= \frac{\phi \, (w_{\infty} - W)}{\tau_w} \\ \dot{Z}(t) &= b ( c \, I_{ext} + \alpha_{exc} \,V ) \\ m_{\infty} &= 0.5 \, \left(1 + \tanh\left(\frac{V - V_1}{V_2}\right)\right) \\ w_{\infty} &= 0.5 \, \left(1 + \tanh\left(\frac{V - V_3}{V_4}\right)\right)\\ tau_{w} &= \left[ \cosh\left(\frac{V - V_3}{2 \,V_4}\right) \right]^{-1} \\ \alpha_{exc} &= a_{exc} \,\left(1 + \tanh\left(\frac{V - V_5}{V_6}\right)\right)\\ \alpha_{inh} &= a_{inh} \,\left(1 + \tanh\left(\frac{V - V_7}{V_6}\right)\right)\end{split}\]

See Eqs (1)-(8) in [Larteretal_1999]

gCa : tvb.contrib.simulator.models.larter.Larter.gCa = NArray(label=’\(g_{Ca}\)‘, dtype=float64, default=array([1.1]), dim_names=(), ndim=None, required=True)
Conductance of population of Ca++ channels
gK : tvb.contrib.simulator.models.larter.Larter.gK = NArray(label=’\(g_K\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
Conductance of population of K channels
gL : tvb.contrib.simulator.models.larter.Larter.gL = NArray(label=’\(g_L\)‘, dtype=float64, default=array([0.5]), dim_names=(), ndim=None, required=True)
Conductance of population of leak channels
phi : tvb.contrib.simulator.models.larter.Larter.phi = NArray(label=’\(\\phi\)‘, dtype=float64, default=array([0.7]), dim_names=(), ndim=None, required=True)
Temperature scaling factor
V1 : tvb.contrib.simulator.models.larter.Larter.V1 = NArray(label=’\(V_1\)‘, dtype=float64, default=array([-0.01]), dim_names=(), ndim=None, required=True)
Threshold value for \(M_{\infty}\)
V2 : tvb.contrib.simulator.models.larter.Larter.V2 = NArray(label=’\(V_2\)‘, dtype=float64, default=array([0.15]), dim_names=(), ndim=None, required=True)
Steepness parameter for \(M_{\infty}\)
V3 : tvb.contrib.simulator.models.larter.Larter.V3 = NArray(label=’\(V_3\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Threshold value for \(W_{\infty}\)
V4 : tvb.contrib.simulator.models.larter.Larter.V4 = NArray(label=’\(V_4\)‘, dtype=float64, default=array([0.3]), dim_names=(), ndim=None, required=True)
Steepness parameter for \(W_{\infty}\)
V5 : tvb.contrib.simulator.models.larter.Larter.V5 = NArray(label=’\(V_5\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Threshold value for \(a_{exc}\)
V6 : tvb.contrib.simulator.models.larter.Larter.V6 = NArray(label=’\(V_6\)‘, dtype=float64, default=array([0.6]), dim_names=(), ndim=None, required=True)
Steepness parameter for a_exc and \(a_{inh}\)
V7 : tvb.contrib.simulator.models.larter.Larter.V7 = NArray(label=’\(V_7\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Threshold value for \(a_{inh}\)
VK : tvb.contrib.simulator.models.larter.Larter.VK = NArray(label=’\(V_K\)‘, dtype=float64, default=array([-0.7]), dim_names=(), ndim=None, required=True)
K Nernst potential
VL : tvb.contrib.simulator.models.larter.Larter.VL = NArray(label=’\(V_L\)‘, dtype=float64, default=array([-0.5]), dim_names=(), ndim=None, required=True)
Nernst potential leak channels
tau_K : tvb.contrib.simulator.models.larter.Larter.tau_K = NArray(label=’\(\\tau_K\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Time constant for K relaxation time
a_exc : tvb.contrib.simulator.models.larter.Larter.a_exc = NArray(label=’\(a_{exc}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
strength of excitatory synapse
a_inh : tvb.contrib.simulator.models.larter.Larter.a_inh = NArray(label=’\(a_{ie}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
strength of inhibitory synapse
b : tvb.contrib.simulator.models.larter.Larter.b = NArray(label=’\(b\)‘, dtype=float64, default=array([0.1]), dim_names=(), ndim=None, required=True)
Time constant scaling factor
c : tvb.contrib.simulator.models.larter.Larter.c = NArray(label=’\(c\)‘, dtype=float64, default=array([0.165]), dim_names=(), ndim=None, required=True)
strength of feedforward inhibition
Iext : tvb.contrib.simulator.models.larter.Larter.Iext = NArray(label=’\(I_{ext}\)‘, dtype=float64, default=array([0.3]), dim_names=(), ndim=None, required=True)
Subcortical input strength. It represents a non-specific excitation of both the excitatory and inhibitory populations.
state_variable_range : tvb.contrib.simulator.models.larter.Larter.state_variable_range = Final(field_type=<class ‘dict’>, default={‘V’: array([-0.3, 0.1]), ‘W’: array([0. , 0.6]), ‘Z’: array([-0.02, 0.08])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random inital conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots.
variables_of_interest : tvb.contrib.simulator.models.larter.Larter.variables_of_interest = List(of=<class ‘str’>, default=(‘V’, ‘W’, ‘Z’), required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired. The corresponding state-variable indices for this model are \(V = 0\), \(W = 1\), and \(Z = 2\).

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

Iext

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V1

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V2

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V3

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V4

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V5

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V6

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V7

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VK

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VL

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

a_exc

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

a_inh

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

b

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

c

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]
\[\begin{split}\dot{V} &= - g_L \, (V - V_L) - g_K\, Z \, (V - V_K) - g_{Ca} \, m_{\infty} \, (V - 1) + I - \alpha_{inh}\,Z \\ \dot{W} &= \frac{\phi \, (w_{\infty} - W)}{\tau_w} \\ \dot{Z}(t) &= b ( c \, I_{ext} + \alpha_{exc} \,V ) \\ m_{\infty} &= 0.5 \, \left(1 + \tanh\left(\frac{V - V_1}{V_2}\right)\right) \\ w_{\infty} &= 0.5 \, \left(1 + \tanh\left(\frac{V - V_3}{V_4}\right)\right)\\ tau_{w} &= \left[ \cosh\left(\frac{V - V_3}{2 \,V_4}\right) \right]^{-1} \\ \alpha_{exc} &= a_{exc} \,\left(1 + \tanh\left(\frac{V - V_5}{V_6}\right)\right)\\ \alpha_{inh} &= a_{inh} \,\left(1 + \tanh\left(\frac{V - V_7}{V_6}\right)\right)\end{split}\]

See Eqs (1)-(8) in [Larteretal_1999]

gCa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gK

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gL

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

phi

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

tau_K

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

variables_of_interest

The attribute is a list of values. Choices and type are reinterpreted as applying not to the list but to the elements of it

larter_breakspear

A contributed model: Larter model revisited by Breaskpear M.

class tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

A modified Morris-Lecar model that includes a third equation which simulates the effect of a population of inhibitory interneurons synapsing on the pyramidal cells.

[Larteretal_1999]Larter et.al. A coupled ordinary differential equation lattice model for the simulation of epileptic seizures. Chaos. 9(3): 795, 1999.
[Breaksetal_2003_a]Breakspear, M.; Terry, J. R. & Friston, K. J. Modulation of excitatory synaptic coupling facilitates synchronization and complex dynamics in an onlinear model of neuronal dynamics. Neurocomputing 52–54 (2003).151–158
[Breaksetal_2003_b](1, 2, 3) M. J. Breakspear et.al. Modulation of excitatory synaptic coupling facilitates synchronization and complex dynamics in a biophysical model of neuronal dynamics. Network: Computation in Neural Systems 14: 703-732, 2003.

Equations and default parameters are taken from [Breaksetal_2003_b]. All equations and parameters are non-dimensional and normalized. For values of d_v < 0.55, the dynamics of a single column settles onto a solitary fixed point attractor.

Parameters used for simulations in [Breaksetal_2003_a] Table 1. Page 153. Two nodes were coupled.

Table 1
Parameter Value
I | 0.3 a_ee | 0.4 a_ei | 0.1 a_ie | 1.0 a_ne | 1.0 a_ni | 0.4 r_NMDA | 0.2 delta | 0.001

NOTES about parameters

d_V For d_V < 0.55, uncoupled network, the system exhibits fixed point dynamics; for 55 < lb.d_V < 0.59, limit cycle atractors; and for d_V > 0.59 chaotic attractors (eg, d_V=0.6,aee=0.5,aie=0.5,

gNa=0, Iext=0.165)

C The long-range coupling ‘C’ is ‘weak’ in the sense that they investigated parameter values for which C < a_ee and C << a_ie.

Larter-Breaskpear phase plane (V, W)

The (\(V\), \(W\)) phase-plane for the Larter-Breakspear model.

gCa : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.gCa = NArray(label=’\(g_{Ca}\)‘, dtype=float64, default=array([1.1]), dim_names=(), ndim=None, required=True)
Conductance of population of Ca++ channels.
gK : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.gK = NArray(label=’\(g_{K}\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
Conductance of population of K channels.
gL : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.gL = NArray(label=’\(g_{L}\)‘, dtype=float64, default=array([0.5]), dim_names=(), ndim=None, required=True)
Conductance of population of leak channels.
phi : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.phi = NArray(label=’\(\\phi\)‘, dtype=float64, default=array([0.7]), dim_names=(), ndim=None, required=True)
Temperature scaling factor.
gNa : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.gNa = NArray(label=’\(g_{Na}\)‘, dtype=float64, default=array([6.7]), dim_names=(), ndim=None, required=True)
Conductance of population of Na channels.
TK : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.TK = NArray(label=’\(T_{K}\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Threshold value for K channels.
TCa : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.TCa = NArray(label=’\(T_{Ca}\)‘, dtype=float64, default=array([-0.01]), dim_names=(), ndim=None, required=True)
Threshold value for Ca channels.
TNa : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.TNa = NArray(label=’\(T_{Na}\)‘, dtype=float64, default=array([0.3]), dim_names=(), ndim=None, required=True)
Threshold value for Na channels.
VCa : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.VCa = NArray(label=’\(V_{Ca}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Ca Nernst potential.
VK : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.VK = NArray(label=’\(V_{K}\)‘, dtype=float64, default=array([-0.7]), dim_names=(), ndim=None, required=True)
K Nernst potential.
VL : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.VL = NArray(label=’\(V_{L}\)‘, dtype=float64, default=array([-0.5]), dim_names=(), ndim=None, required=True)
Nernst potential leak channels.
VNa : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.VNa = NArray(label=’\(V_{Na}\)‘, dtype=float64, default=array([0.53]), dim_names=(), ndim=None, required=True)
Na Nernst potential.
d_K : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.d_K = NArray(label=’\(\\delta_{K}\)‘, dtype=float64, default=array([0.3]), dim_names=(), ndim=None, required=True)
Variance of K channel threshold.
tau_K : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.tau_K = NArray(label=’\(\\tau_{K}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Time constant for K relaxation time (ms)
d_Na : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.d_Na = NArray(label=’\(\\delta_{Na}\)‘, dtype=float64, default=array([0.15]), dim_names=(), ndim=None, required=True)
Variance of Na channel threshold.
d_Ca : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.d_Ca = NArray(label=’\(\\delta_{Ca}\)‘, dtype=float64, default=array([0.15]), dim_names=(), ndim=None, required=True)
Variance of Ca channel threshold.
aei : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.aei = NArray(label=’\(a_{ei}\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
Excitatory-to-inhibitory synaptic strength.
aie : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.aie = NArray(label=’\(a_{ie}\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
Inhibitory-to-excitatory synaptic strength.
b : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.b = NArray(label=’\(b\)‘, dtype=float64, default=array([0.1]), dim_names=(), ndim=None, required=True)
Time constant scaling factor. The original value is 0.1
C : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.C = NArray(label=’\(c\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Strength of excitatory coupling. Balance between internal and local (and global) coupling strength. C > 0 introduces interdependences between consecutive columns/nodes. C=1 corresponds to maximum coupling. This strenght should be set to sensible values when a whole network is connected.
ane : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.ane = NArray(label=’\(a_{ne}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Non-specific-to-excitatory synaptic strength.
ani : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.ani = NArray(label=’\(a_{ni}\)‘, dtype=float64, default=array([0.4]), dim_names=(), ndim=None, required=True)
Non-specific-to-inhibitory synaptic strength.
aee : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.aee = NArray(label=’\(a_{ee}\)‘, dtype=float64, default=array([0.4]), dim_names=(), ndim=None, required=True)
Excitatory-to-excitatory synaptic strength.
Iext : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.Iext = NArray(label=’\(I_{ext}\)‘, dtype=float64, default=array([0.3]), dim_names=(), ndim=None, required=True)
Subcortical input strength. It represents a non-specific excitation or thalamic inputs.
rNMDA : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.rNMDA = NArray(label=’\(r_{NMDA}\)‘, dtype=float64, default=array([0.25]), dim_names=(), ndim=None, required=True)
Ratio of NMDA to AMPA receptors.
VT : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.VT = NArray(label=’\(V_{T}\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Threshold potential (mean) for excitatory neurons. In [Breaksetal_2003_b] this values is 0.
d_V : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.d_V = NArray(label=’\(\\delta_{V}\)‘, dtype=float64, default=array([0.65]), dim_names=(), ndim=None, required=True)
Variance of the excitatory threshold. It is one of the main parameters explored in [Breaksetal_2003_b].
ZT : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.ZT = NArray(label=’\(Z_{T}\)‘, dtype=float64, default=array([0.]), dim_names=(), ndim=None, required=True)
Threshold potential (mean) for inihibtory neurons.
d_Z : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.d_Z = NArray(label=’\(\\delta_{Z}\)‘, dtype=float64, default=array([0.7]), dim_names=(), ndim=None, required=True)
Variance of the inhibitory threshold.
QV_max : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.QV_max = NArray(label=’\(Q_{max}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Maximal firing rate for excitatory populations (kHz)
QZ_max : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.QZ_max = NArray(label=’\(Q_{max}\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Maximal firing rate for excitatory populations (kHz)
variables_of_interest : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.variables_of_interest = List(of=<class ‘str’>, default=(‘V’, ‘W’, ‘Z’), required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired.
state_variable_range : tvb.contrib.simulator.models.larter_breakspear.LarterBreakspear.state_variable_range = Final(field_type=<class ‘dict’>, default={‘V’: array([-1.5, 1.5]), ‘W’: array([-1., 1.]), ‘Z’: array([-1.5, 1.5])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random inital conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots.

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

C

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

Iext

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

QV_max

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

QZ_max

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

TCa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

TK

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

TNa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VCa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VK

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VL

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VNa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VT

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

ZT

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

aee

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

aei

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

aie

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

ane

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

ani

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

b

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

d_Ca

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

d_K

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

d_Na

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

d_V

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

d_Z

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]
\[\begin{split}\dot{V} &= - (g_{Ca} + (1 - C) \, r_{NMDA} \, a_{ee} Q_V^i + C \, r_{NMDA} \, a_{ee} \langle Q_V \rangle) \, m_{Ca} \,(V - V_{Ca}) - g_K\, W\, (V - V_K) - g_L\, (V - V_L) - (g_{Na} m_{Na} + (1 - C) \, a_{ee} Q_V^i + C \, a_{ee} \langle Q_V \rangle) \, (V - V_{Na}) - a_{ie}\, Z \, Q_Z^i + a_{ne} \, I_{\delta}\end{split}\]\[\begin{split}\dot{W} &= \frac{\phi \, (m_K - W)}{\tau_K} \\ \dot{Z} &= b \, (a_{ni} \, I_{\delta} + a_{ei} \, V \, Q_V)\\\end{split}\]\[\begin{split}m_{ion}(X) &= 0.5 \, (1 + tanh(\frac{V-T_{ion}}{\delta_{ion}})\end{split}\]

See Equations (7), (3), (6) and (2) respectively in [Breaksetal_2003]. Pag: 705-706

NOTE: Equation (8) has an error the sign before the term \(a_{ie}\, Z \, Q_Z^i\) should be a minus (-) and not a plus (+).

gCa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gK

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gL

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gNa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

phi

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

rNMDA

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

state_variables = ['V', 'W', 'Z']
tau_K

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

variables_of_interest

The attribute is a list of values. Choices and type are reinterpreted as applying not to the list but to the elements of it

liley_steynross

A contributed model: The Liley model as presented in Steyn-Ross et al., 1999

class tvb.contrib.simulator.models.liley_steynross.LileySteynRoss(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

Liley lumped model as presented in Steyn-Ross et al 1999.

This model is to be use for modelling cortical dynamics in which “inputs” to neuronal assemblies are treated as random Gaussian fluctuations about a mean value. Anesthetic agent effects are modelled as as a modulation of the inhibitory neurotransmitter rate constant.

The main state variable is h_e, the average excitatory soma potential, coherent fluctuations of which are believed to be the source of scalp-measured electroencephalogram ͑EEG͒ signals.

Parameters are taken from Table 1 [Steyn-Ross_1999]

State variables:

h_e: exc population mean soma potential [mV] h_i: exc population mean soma potential [mV]

I_ee: total ‘exc’ current input to ‘exc’ synapses [mV] I_ie: total ‘inh’ current input to ‘exc’ synapses [mV] I_ei: total ‘exc’ current input to ‘inh’ synapses [mV] I_ii: total ‘inh’ current input to ‘inh’ synapses [mV]

\(\Psi_{jk}\): weighting factors for the I_jk inputs [dimensionless]

\(phi_e\): long-range (cortico-cortical) spike input to exc population \(phi_i\): long-range (cortico-cortical) spike input to inh population [ms-1]

EPSP: exc post-synaptic potential [mV] IPSP: inh post-synaptic potential [mV]

Mean axonal conduction speed: 7 mm/ms

S_e(h_e): sigmoid function mapping soma potential to firing rate [ms]-1 S_i(h_i): sigmoid function mapping soma potential to firing rate [ms]-1

The models (\(h_e\), :math:h_i`) phase-plane, including a representation of the vector field as well as its nullclines, using default parameters, can be seen below:

LileySteynRoss phase plane (E, I)

The (\(h_e\), \(hi\)) phase-plane for the LileySteynRoss model.

tau_e : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.tau_e = NArray(label=’\(\\tau_e\)‘, dtype=float64, default=array([40.]), dim_names=(), ndim=None, required=True)
Excitatory population, membrane time-constant [ms]
tau_i : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.tau_i = NArray(label=’\(\\tau_i\)‘, dtype=float64, default=array([40.]), dim_names=(), ndim=None, required=True)
Inhibitory population, membrane time-constant [ms]
h_e_rest : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.h_e_rest = NArray(label=’\(h_e^{rest}\)‘, dtype=float64, default=array([-70.]), dim_names=(), ndim=None, required=True)
Excitatory population, cell resting potential [mV]
h_i_rest : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.h_i_rest = NArray(label=’\(h_i^{rest}\)‘, dtype=float64, default=array([-70.]), dim_names=(), ndim=None, required=True)
Inhibitory population, cell resting potential [mV]
h_e_rev : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.h_e_rev = NArray(label=’\(h_e^{rev}\)‘, dtype=float64, default=array([45.]), dim_names=(), ndim=None, required=True)
Excitatory population, cell reversal potential [mV]
h_i_rev : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.h_i_rev = NArray(label=’\(h_i^{rev}\)‘, dtype=float64, default=array([-90.]), dim_names=(), ndim=None, required=True)
Inhibitory population, cell reversal potential [mV]
p_ee : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.p_ee = NArray(label=’\(p_{ee}\)‘, dtype=float64, default=array([1.1]), dim_names=(), ndim=None, required=True)
Exogenous (subcortical) spike input to exc population [ms]-1 [kHz]. This could be replaced by a noise term
p_ie : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.p_ie = NArray(label=’\(p_{ie}\)‘, dtype=float64, default=array([1.6]), dim_names=(), ndim=None, required=True)
Exogenous (subcortical) spike input to exc population [ms]-1 [kHz]. This could be replaced by a noise term
p_ei : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.p_ei = NArray(label=’\(p_{ei}\)‘, dtype=float64, default=array([1.6]), dim_names=(), ndim=None, required=True)
Exogenous (subcortical) spike input to inh population [ms]-1 [kHz]. This could be replaced by a noise term
p_ii : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.p_ii = NArray(label=’\(p_{ii}\)‘, dtype=float64, default=array([1.1]), dim_names=(), ndim=None, required=True)
Exogenous (subcortical) spike input to inh population [ms]-1 [kHz]. This could be replaced by a noise term
A_ee : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.A_ee = NArray(label=’\(\\alpha_{ee}\)‘, dtype=float64, default=array([0.04]), dim_names=(), ndim=None, required=True)
Characteristic cortico-cortical inverse length scale [mm]-1. Original: 0.4 cm-1
A_ei : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.A_ei = NArray(label=’\(\\alpha_{ei}\)‘, dtype=float64, default=array([0.065]), dim_names=(), ndim=None, required=True)
Characteristic cortico-cortical inverse length scale [mm]-1. Original: 0.4 cm-1
gamma_e : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.gamma_e = NArray(label=’\(\\gamma_e\)‘, dtype=float64, default=array([0.3]), dim_names=(), ndim=None, required=True)
Neurotransmitter rate constant”for EPSP [ms]-1
gamma_i : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.gamma_i = NArray(label=’\(\\gamma_i\)‘, dtype=float64, default=array([0.065]), dim_names=(), ndim=None, required=True)
Neurotransmitter rate constant”for IPSP [ms]-1
G_e : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.G_e = NArray(label=’\(G_e\)‘, dtype=float64, default=array([0.18]), dim_names=(), ndim=None, required=True)
peak ampplitude of EPSP [mV]
G_i : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.G_i = NArray(label=’\(G_i\)‘, dtype=float64, default=array([0.37]), dim_names=(), ndim=None, required=True)
peak ampplitude of IPSP [mV]
N_b_ee : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.N_b_ee = NArray(label=’\(N_{ee}^{\x08eta}\)‘, dtype=float64, default=array([3034.]), dim_names=(), ndim=None, required=True)
Total number of local exc to exc synaptic connections.
N_b_ei : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.N_b_ei = NArray(label=’\(N_{ei}^{\\beta}\)‘, dtype=float64, default=array([3034.]), dim_names=(), ndim=None, required=True)
Total number of local exc to inh synaptic connections.
N_b_ie : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.N_b_ie = NArray(label=’\(N_{ie}^{\\beta}\)‘, dtype=float64, default=array([536.]), dim_names=(), ndim=None, required=True)
Total number of local inh to exc synaptic connections.
N_b_ii : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.N_b_ii = NArray(label=’\(N_{ii}^{\\beta}\)‘, dtype=float64, default=array([536.]), dim_names=(), ndim=None, required=True)
Total number of local inh to inh synaptic connections.
N_a_ee : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.N_a_ee = NArray(label=’\(N_{ee}^{\\alpha}\)‘, dtype=float64, default=array([4000.]), dim_names=(), ndim=None, required=True)
Total number of synaptic connections from distant exc populations
N_a_ei : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.N_a_ei = NArray(label=’\(N_{ei}^{\\alpha}\)‘, dtype=float64, default=array([2000.]), dim_names=(), ndim=None, required=True)
Total number of synaptic connections from distant exc populations
theta_e : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.theta_e = NArray(label=’\(\\theta_e\)‘, dtype=float64, default=array([-60.]), dim_names=(), ndim=None, required=True)
inflection point voltage for sigmoid function [mV]
theta_i : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.theta_i = NArray(label=’\(\\theta_i\)‘, dtype=float64, default=array([-60.]), dim_names=(), ndim=None, required=True)
inflection point voltage for sigmoid function [mV]
g_e : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.g_e = NArray(label=’\(g_e\)‘, dtype=float64, default=array([0.28]), dim_names=(), ndim=None, required=True)
Sigmoid slope at inflection point exc population [mV]-1
g_i : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.g_i = NArray(label=’\(g_i\)‘, dtype=float64, default=array([0.14]), dim_names=(), ndim=None, required=True)
Sigmoid slope at inflection point inh population [mV]-1
lambd : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.lambd = NArray(label=’\(\\lambda\)‘, dtype=float64, default=array([1.]), dim_names=(), ndim=None, required=True)
Anesthetic effects
state_variable_range : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.state_variable_range = Final(field_type=<class ‘dict’>, default={‘he’: array([-90., 70.]), ‘hi’: array([-90., 70.])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random inital conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots.
variables_of_interest : tvb.contrib.simulator.models.liley_steynross.LileySteynRoss.variables_of_interest = List(of=<class ‘str’>, default=(‘he’,), required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired. The corresponding state-variable indices for this model are \(E = 0\) and \(I = 1\).

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

A_ee

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

A_ei

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

G_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

G_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

N_a_ee

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

N_a_ei

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

N_b_ee

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

N_b_ei

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

N_b_ie

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

N_b_ii

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]

TODO: include equations here and see how to add the local connectivity or the the laplacian oeprator. This model is the one used in Bojak 2011.

g_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

g_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gamma_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gamma_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

h_e_rest

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

h_e_rev

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

h_i_rest

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

h_i_rev

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

lambd

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

p_ee

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

p_ei

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

p_ie

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

p_ii

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

tau_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

tau_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

theta_e

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

theta_i

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

variables_of_interest

The attribute is a list of values. Choices and type are reinterpreted as applying not to the list but to the elements of it

morris_lecar

A contributed model: Morris-Lecar

class tvb.contrib.simulator.models.morris_lecar.MorrisLecar(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

The Morris-Lecar model is a mathematically simple excitation model having two nonlinear, non-inactivating conductances.

[ML_1981](1, 2, 3, 4) Morris, C. and Lecar, H. Voltage oscillations in the Barnacle giant muscle fibre, Biophysical Journal 35: 193, 1981.

See also, http://www.scholarpedia.org/article/Morris-Lecar_model

Morris-Lecar phase plane (V, N)

The (\(V\), \(N\)) phase-plane for the Morris-Lecar model.

dfun(state_variables, coupling, local_coupling=0.0)[source]

The dynamics of the membrane potential \(V\) rely on the fraction of Ca++ channels \(M\) and K+ channels \(N\) open at a given time. In order to have a planar model, we make the simplifying assumption (following [ML_1981], Equation 9) that Ca++ system is much faster than K+ system so that \(M = M_{\infty}\) at all times:

\[\begin{split}C \, \dot{V} &= I - g_{L}(V - V_L) - g_{Ca} \, M_{\infty}(V) (V - V_{Ca}) - g_{K} \, N \, (V - V_{K}) \\ \dot{N} &= \lambda_{N}(V) \, (N_{\infty}(V) - N) \\ M_{\infty}(V) &= 1/2 \, (1 + \tanh((V - V_{1})/V_{2}))\\ N_{\infty}(V) &= 1/2 \, (1 + \tanh((V - V_{3})/V_{4}))\\ \lambda_{N}(V) &= \overline{\lambda_{N}} \cosh((V - V_{3})/2V_{4})\end{split}\]

where external currents \(I\) provide the entry point for local and long-range connectivity. Default parameters are set as per Figure 9 of [ML_1981] so that the model shows oscillatory behaviour as \(I\) is varied.

gCa : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.gCa = NArray(label=’\(g_{Ca}\)‘, dtype=float64, default=array([4.]), dim_names=(), ndim=None, required=True)
Conductance of population of Ca++ channels [mmho/cm2]
gK : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.gK = NArray(label=’\(g_K\)‘, dtype=float64, default=array([8.]), dim_names=(), ndim=None, required=True)
Conductance of population of K+ channels [mmho/cm2]
gL : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.gL = NArray(label=’\(g_L\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
Conductance of population of leak channels [mmho/cm2]
C : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.C = NArray(label=’\(C\)‘, dtype=float64, default=array([20.]), dim_names=(), ndim=None, required=True)
Membrane capacitance [uF/cm2]
lambda_Nbar : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.lambda_Nbar = NArray(label=’\(\\lambda_{Nbar}\)‘, dtype=float64, default=array([0.06666667]), dim_names=(), ndim=None, required=True)
Maximum rate for K+ channel opening [1/s]
V1 : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.V1 = NArray(label=’\(V_1\)‘, dtype=float64, default=array([10.]), dim_names=(), ndim=None, required=True)
Potential at which half of the Ca++ channels are open at steady state [mV]
V2 : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.V2 = NArray(label=’\(V_2\)‘, dtype=float64, default=array([15.]), dim_names=(), ndim=None, required=True)
1/slope of voltage dependence of the fraction of Ca++ channels that are open at steady state [mV].
V3 : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.V3 = NArray(label=’\(V_3\)‘, dtype=float64, default=array([-1.]), dim_names=(), ndim=None, required=True)
Potential at which half of the K+ channels are open at steady state [mV].
V4 : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.V4 = NArray(label=’\(V_4\)‘, dtype=float64, default=array([14.5]), dim_names=(), ndim=None, required=True)
1/slope of voltage dependence of the fraction of K+ channels that are open at steady state [mV].
VCa : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.VCa = NArray(label=’\(V_{Ca}\)‘, dtype=float64, default=array([100.]), dim_names=(), ndim=None, required=True)
Ca++ Nernst potential [mV]
VK : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.VK = NArray(label=’\(V_K\)‘, dtype=float64, default=array([-70.]), dim_names=(), ndim=None, required=True)
K+ Nernst potential [mV]
VL : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.VL = NArray(label=’\(V_L\)‘, dtype=float64, default=array([-50.]), dim_names=(), ndim=None, required=True)
Nernst potential leak channels [mV]
state_variable_range : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.state_variable_range = Final(field_type=<class ‘dict’>, default={‘V’: array([-70., 50.]), ‘N’: array([-0.2, 0.8])}, required=True)
The values for each state-variable should be set to encompass the expected dynamic range of that state-variable for the current parameters, it is used as a mechanism for bounding random inital conditions when the simulation isn’t started from an explicit history, it is also provides the default range of phase-plane plots.
variables_of_interest : tvb.contrib.simulator.models.morris_lecar.MorrisLecar.variables_of_interest = NArray(label=’Variables watched by Monitors’, dtype=int64, default=array([0], dtype=int32), dim_names=(), ndim=None, required=True)
This represents the default state-variables of this Model to be monitored. It can be overridden for each Monitor if desired. The corresponding state-variable indices for this model are \(V = 0\), and \(N = 1\).

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

C

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V1

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V2

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V3

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

V4

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VCa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VK

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

VL

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]

The dynamics of the membrane potential \(V\) rely on the fraction of Ca++ channels \(M\) and K+ channels \(N\) open at a given time. In order to have a planar model, we make the simplifying assumption (following [ML_1981], Equation 9) that Ca++ system is much faster than K+ system so that \(M = M_{\infty}\) at all times:

\[\begin{split}C \, \dot{V} &= I - g_{L}(V - V_L) - g_{Ca} \, M_{\infty}(V) (V - V_{Ca}) - g_{K} \, N \, (V - V_{K}) \\ \dot{N} &= \lambda_{N}(V) \, (N_{\infty}(V) - N) \\ M_{\infty}(V) &= 1/2 \, (1 + \tanh((V - V_{1})/V_{2}))\\ N_{\infty}(V) &= 1/2 \, (1 + \tanh((V - V_{3})/V_{4}))\\ \lambda_{N}(V) &= \overline{\lambda_{N}} \cosh((V - V_{3})/2V_{4})\end{split}\]

where external currents \(I\) provide the entry point for local and long-range connectivity. Default parameters are set as per Figure 9 of [ML_1981] so that the model shows oscillatory behaviour as \(I\) is varied.

gCa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gK

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

gL

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

lambda_Nbar

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

variables_of_interest

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

wong_wang

The original Wong and Wang model

class tvb.contrib.simulator.models.wong_wang.WongWang(**kwargs)[source]

Bases: tvb.simulator.models.base.Model

[WW_2006]Kong-Fatt Wong and Xiao-Jing Wang, A Recurrent Network Mechanism of Time Integration in Perceptual Decisions. Journal of Neuroscience 26(4), 1314-1328, 2006.
[WW_2006_SI]Supplementary Information
[WW_2007]Kong-Fatt Wong, Alexander C. Huk2, Michael N. Shadlen, Xiao-Jing Wang, Neural circuit dynamics underlying accumulation of time-varying evidence during perceptual decision making. Front. Comput. Neurosci., 2007.

A reduced model by Wong and Wang: A reduced two-variable neural model that offers a simple yet biophysically plausible framework for studying perceptual decision making in general.

S is the NMDA gating variable. Since its decay time is much longer that those corresponding to AMPAand GABA gating variables, it is assumed that is \(S_{NMDA}\) that dominates the time evolution of the system.

The model (\(Sl\), \(Sr\)) phase-plane, including a representation of the vector field as well as its nullclines, using default parameters, can be seen below:

Notation and parameter selection follows _Materials and methods_ from [WW_2007].

To reproduce the phase plane in Figure 5B, page 1320:
Jll = Jrr = 0.3725 Jlr = Jrl = 0.1137 J_ext = 1.1e-3 I_o = 0.3297 mu_o = 30 c = 6.4

To reproduce C & D vary c parameter respectively.

a : tvb.contrib.simulator.models.wong_wang.WongWang.a = NArray(label=’\(a\)‘, dtype=float64, default=array([0.27]), dim_names=(), ndim=None, required=True)
(mVnC)^{-1}. Parameter chosen to fit numerical solutions.
b : tvb.contrib.simulator.models.wong_wang.WongWang.b = NArray(label=’\(b\)‘, dtype=float64, default=array([0.108]), dim_names=(), ndim=None, required=True)
[kHz]. Parameter chosen to fit numerical solutions.
d : tvb.contrib.simulator.models.wong_wang.WongWang.d = NArray(label=’\(d\)‘, dtype=float64, default=array([154.]), dim_names=(), ndim=None, required=True)
[ms]. Parameter chosen to fit numerical solutions.
gamma : tvb.contrib.simulator.models.wong_wang.WongWang.gamma = NArray(label=’\(\\gamma\)‘, dtype=float64, default=array([0.0641]), dim_names=(), ndim=None, required=True)
Kinetic parameter divided by 1000 to set the time scale in ms
tau_s : tvb.contrib.simulator.models.wong_wang.WongWang.tau_s = NArray(label=’\(\\tau_S\)‘, dtype=float64, default=array([100.]), dim_names=(), ndim=None, required=True)
Kinetic parameter. NMDA decay time constant.
tau_ampa : tvb.contrib.simulator.models.wong_wang.WongWang.tau_ampa = NArray(label=’\(\\tau_{ampa}\)‘, dtype=float64, default=array([2.]), dim_names=(), ndim=None, required=True)
Kinetic parameter. AMPA decay time constant.
J11 : tvb.contrib.simulator.models.wong_wang.WongWang.J11 = NArray(label=’\(J_{11}\)‘, dtype=float64, default=array([0.2609]), dim_names=(), ndim=None, required=True)
Synaptic coupling
J22 : tvb.contrib.simulator.models.wong_wang.WongWang.J22 = NArray(label=’\(J_{22}\)‘, dtype=float64, default=array([0.2609]), dim_names=(), ndim=None, required=True)
Synaptic coupling
J12 : tvb.contrib.simulator.models.wong_wang.WongWang.J12 = NArray(label=’\(J_{12}\)‘, dtype=float64, default=array([0.0497]), dim_names=(), ndim=None, required=True)
Synaptic coupling
J21 : tvb.contrib.simulator.models.wong_wang.WongWang.J21 = NArray(label=’\(J_{21}\)‘, dtype=float64, default=array([0.0497]), dim_names=(), ndim=None, required=True)
Synaptic coupling
J_ext : tvb.contrib.simulator.models.wong_wang.WongWang.J_ext = NArray(label=’\(J_{ext}\)‘, dtype=float64, default=array([0.52]), dim_names=(), ndim=None, required=True)
Synaptic coupling
I_o : tvb.contrib.simulator.models.wong_wang.WongWang.I_o = NArray(label=’\(I_{o}\)‘, dtype=float64, default=array([0.3255]), dim_names=(), ndim=None, required=True)
Effective external input
sigma_noise : tvb.contrib.simulator.models.wong_wang.WongWang.sigma_noise = NArray(label=’\(\\sigma_{noise}\)‘, dtype=float64, default=array([0.02]), dim_names=(), ndim=None, required=True)
Noise amplitude. Take this value into account for stochatic integration schemes.
mu_o : tvb.contrib.simulator.models.wong_wang.WongWang.mu_o = NArray(label=’\(\\mu_{0}\)‘, dtype=float64, default=array([0.03]), dim_names=(), ndim=None, required=True)
Stimulus amplitude
c : tvb.contrib.simulator.models.wong_wang.WongWang.c = NArray(label=’\(c\)‘, dtype=float64, default=array([51.]), dim_names=(), ndim=None, required=True)
[%]. Percentage coherence or motion strength. This parameter comes from experiments in MT cells.
state_variable_range : tvb.contrib.simulator.models.wong_wang.WongWang.state_variable_range = Final(field_type=<class ‘dict’>, default={‘S1’: array([0. , 0.3]), ‘S2’: array([0. , 0.3])}, required=True)
n/a
variables_of_interest : tvb.contrib.simulator.models.wong_wang.WongWang.variables_of_interest = List(of=<class ‘str’>, default=(‘S1’,), required=True)
default state variables to be monitored

gid : tvb.basic.neotraits._core.HasTraits.gid = Attr(field_type=<class ‘uuid.UUID’>, default=None, required=True)

I_o

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

J11

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

J12

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

J21

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

J22

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

J_ext

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

a

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

b

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

c

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

configure()[source]
d

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

dfun(state_variables, coupling, local_coupling=0.0)[source]

The notation of those dynamic equations follows [WW_2007]. Derivatives of s are multiplied by 0.001 constant to match ms time scale.

gamma

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

mu_o

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

sigma_noise

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

state_variable_range

An attribute that can only be set once. If a default is provided it counts as a set, so it cannot be written to. Note that if the default is a mutable type, the value is shared with all instances of the owning class. We cannot enforce true constancy in python

tau_ampa

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

tau_s

Declares a numpy array. dtype enforces the dtype. The default dtype is float32. An optional symbolic shape can be given, as a tuple of Dim attributes from the owning class. The shape will be enforced, but no broadcasting will be done. domain declares what values are allowed in this array. It can be any object that can be checked for membership Defaults are checked if they are in the declared domain. For performance reasons this does not happen on every attribute set.

update_derived_parameters()[source]

Derived parameters

variables_of_interest

The attribute is a list of values. Choices and type are reinterpreted as applying not to the list but to the elements of it