Table of Contents

Struct NeuronModel

Namespace
DotFly.Core.Models
Assembly
DotFly.Core.dll

Parameters of the leaky integrate-and-fire (LIF) point-neuron model used by dotFly. Defaults reproduce Shiu et al. 2024 (philshiu/Drosophila_brain_model@91bdd1e7, model.py):

dv/dt = (v_0 - v + g) / t_mbr   (unless refractory)
dg/dt = -g / tau                (unless refractory)
threshold: v > v_th;  reset: v = v_rst, g = 0;  refractory t_rfc
synapse:   g += w (after delay t_dly), w = signed contact count × w_syn

All voltages are in millivolts and all times in milliseconds so the descriptor is unit-free at the kernel boundary. Use Discretize(double) to obtain the per-step constants of the exact (matrix-exponential) integrator.

public readonly record struct NeuronModel : IEquatable<NeuronModel>
Implements
Inherited Members

Constructors

NeuronModel()

Creates a model with the Shiu et al. 2024 defaults.

public NeuronModel()

Properties

DelayMs

Homogeneous synaptic transmission delay t_dly in ms. Default 1.8.

public double DelayMs { get; init; }

Property Value

double

MembraneTauMs

Membrane time constant t_mbr in ms. Default 20.

public double MembraneTauMs { get; init; }

Property Value

double

PoissonWeightMv

Voltage added to v by one Poisson input event, w_syn × f_poi, in mV. Default 0.275 × 250 = 68.75, i.e. every event fires the neuron at the next threshold check.

public double PoissonWeightMv { get; init; }

Property Value

double

RefractoryMs

Absolute refractory period t_rfc in ms. Default 2.2.

public double RefractoryMs { get; init; }

Property Value

double

ResetMv

Reset potential v_rst in mV. Default −52.

public double ResetMv { get; init; }

Property Value

double

RestMv

Resting potential v_0 in mV. Default −52.

public double RestMv { get; init; }

Property Value

double

Shiu2024

The Shiu et al. 2024 model with all defaults.

public static NeuronModel Shiu2024 { get; }

Property Value

NeuronModel

SynapseWeightMv

Unitary synaptic weight w_syn in mV per contact. Default 0.275.

public double SynapseWeightMv { get; init; }

Property Value

double

SynapticTauMs

Synaptic time constant tau in ms. Default 5.

public double SynapticTauMs { get; init; }

Property Value

double

ThresholdMv

Spike threshold v_th in mV; a spike is emitted when v > v_th. Default −45.

public double ThresholdMv { get; init; }

Property Value

double

Methods

Discretize(double)

Computes the per-step constants of the exact integrator for a given timestep.

public LifStepConstants Discretize(double dtMs)

Parameters

dtMs double

Integration timestep in ms (Brian2 default and all inspected demos: 0.1).

Returns

LifStepConstants

Exceptions

ArgumentOutOfRangeException

Timestep is not positive, or the two time constants are equal (the closed form has a removable singularity there that is not implemented).