tvb.JansenRit

experimental.network_dynamics.dynamics.tvb.JansenRit(**kwargs)

Jansen-Rit neural mass model with multi-coupling support.

This implementation accepts two coupling inputs (instantaneous and delayed), both of which add into the excitatory interneuron population equation.

Notes

The model describes the dynamics of three neural populations: pyramidal cells, excitatory interneurons, and inhibitory interneurons.

State equations:

\[ \begin{aligned} \frac{dy_0}{dt} &= y_3 \\ \frac{dy_3}{dt} &= A a S(y_1 - y_2) - 2a y_3 - a^2 y_0 \\ \frac{dy_1}{dt} &= y_4 \\ \frac{dy_4}{dt} &= A a (\mu + a_2 J S(a_1 J y_0) + c_{\text{instant}} + c_{\text{delayed}}) - 2a y_4 - a^2 y_1 \\ \frac{dy_2}{dt} &= y_5 \\ \frac{dy_5}{dt} &= B b (a_4 J S(a_3 J y_0)) - 2b y_5 - b^2 y_2 \end{aligned} \]

Sigmoid function:

\[S(v) = \frac{2 \nu_{\text{max}}}{1 + \exp(r(v_0 - v))}\]

State variables:

  • \(y_0\): Average membrane potential of pyramidal cells
  • \(y_1\): Average membrane potential of excitatory interneurons
  • \(y_2\): Average membrane potential of inhibitory interneurons
  • \(y_3, y_4, y_5\): Time derivatives of \(y_0, y_1, y_2\)

Attributes

Name Type Description
STATE_NAMES tuple of str State variable names: ("y0", "y1", "y2", "y3", "y4", "y5")
INITIAL_STATE tuple of float Default initial conditions: (0.0, 5.0, 5.0, 0.0, 0.0, 0.0)
COUPLING_INPUTS dict Coupling input specification: {'instant': 1, 'delayed': 1}
DEFAULT_PARAMS Bunch Standard Jansen-Rit parameters (A, B, a, b, v0, nu_max, r, J, a_1-a_4, mu)

Methods

Name Description
dynamics Compute Jansen-Rit dynamics with two coupling inputs.

dynamics

experimental.network_dynamics.dynamics.tvb.JansenRit.dynamics(
    t,
    state,
    params,
    coupling,
    external,
)

Compute Jansen-Rit dynamics with two coupling inputs.

Parameters

Name Type Description Default
t float Current time (unused for autonomous system) required
state jnp.ndarray Current state with shape [6, n_nodes] containing (y0, y1, y2, y3, y4, y5) required
params Bunch Model parameters including: A, B, a, b, v0, nu_max, r, J, a_1, a_2, a_3, a_4, mu required
coupling Bunch Coupling inputs with attributes .instant[1, n_nodes] and .delayed[1, n_nodes] required
external Bunch External inputs (currently unused) required

Returns

Name Type Description
derivatives jnp.ndarray State derivatives with shape [6, n_nodes]
auxiliaries jnp.ndarray Auxiliary variables with shape [3, n_nodes] containing sigmoid function values