ExpSyn#

class braincell.synapse.ExpSyn(size, name=None, tau=Quantity(0.1, 'ms'), e=Quantity(0., 'mV'))[source]#

NEURON-compatible ExpSyn template.

This class follows the dynamics in NEURON’s expsyn.mod:

  • state: g in uS

  • decay: g' = -g / tau

  • step-boundary event: g <- g + weighted_pre_drive

  • inward-positive point current: I = g * (e - V_post)

Parameters:
apply_events(payload, V_post=None)[source]#

Apply one already-aggregated event payload vector.

compute_derivative(V_post=None)[source]#

Compute the derivative of the channel’s state variables.

This method should be implemented by subclasses to calculate how the channel’s state changes over time.

Parameters:
  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

Raises:

NotImplementedError – This method must be implemented by subclasses.

current(V_post)[source]#

Calculate the current for this ion channel.

This method should be implemented by subclasses to compute the current based on the channel’s specific properties and state.

Parameters:
  • *args – Variable length argument list.

  • **kwargs – Arbitrary keyword arguments.

Raises:

NotImplementedError – This method must be implemented by subclasses.

root_type#

alias of HHTypedNeuron

classmethod validate_parameter_values(parameters)[source]#

Require a positive decay time constant.