Parameters & Units

#exp004 · SNNSIM ·

Using this reference

Use this page when setting a CLI flag, reading a saved configuration, or checking a neuron update. The legacy SNNSIM biophysical model uses ms for time, mV for voltage, nF for capacitance, μS for conductance, nA for current, and Hz for rates. A --dt 1 means 1 ms, not 1 s. Names are not uniformly suffixed: sim_ms, ref_ms_E, tau_gaba, and dt all represent milliseconds.

The values below describe library defaults or explicitly labelled examples, not a universal experiment recipe. CLI defaults, loaded configurations, and committed experiment recipes can differ. Graph bundles declare their own units and parameters; see exp105Networks, signals, and parameters.

Quantities

QuantityUnitDefault or exampleVariable
Integration stepms0.25dt / --dt
Simulation lengthms200 (CLI); 600 (Config)sim_ms / --t-ms
Membrane time constantms20 (E), 5 (I)tau_m_E, tau_m_I
Refractory periodms3 (E), 1.5 (I)ref_ms_E, ref_ms_I
AMPA decayms2tau_ampa
GABA decayms9tau_gaba
Resting / leak potentialmV−65E_L
Spike thresholdmV−50V_th
Reset potentialmV−65V_reset
AMPA reversalmV0E_e
GABA reversalmV−80E_i
Membrane capacitancenF1.0 (E), 0.5 (I)C_m_E, C_m_I
Leak conductanceμS0.05 (E), 0.1 (I)g_L_E, g_L_I
External driveμS0.0006 (Config baseline)t_e_async
Max input rateHz25max_rate_hz
Population firing rateHz20–80r_E, r_I
Gamma frequencyHz30–80f_0

COBA / PING biophysical constants

These are the default constants in tools/snnsim/models.py used by exp100COBANet. They are model choices, not universal biological constants. Capacitance and leak satisfy 𝜏𝑚=𝐶𝑚𝑔𝐿. Here 𝜏𝑚 is the passive membrane time constant, 𝐶𝑚 the capacitance, and 𝑔𝐿 the leak conductance.

ParameterE populationI population
𝜏𝑚 (ms)205
𝐶𝑚 (nF)1.00.5
𝑔𝐿 (µS)0.050.1
𝜏ref (ms)31.5
𝐸𝐿 (mV)−65−65
𝑉th (mV)−50−50
𝑉reset (mV)−65−65
𝐸𝑒 (mV, reversal)00
𝐸𝑖 (mV, reversal)−80−80

Synapse time constants: 𝜏AMPA=2 ms (excitation), 𝜏GABA=9 ms (inhibition). These are decay times, not a sufficient timestep-stability criterion. Check timestep sensitivity for the intended input, recurrence, and measurement. --tau-gaba overrides the inhibitory decay; --train-leak allows bounded, per-neuron membrane time constants instead of fixed leak defaults.

Internal consistency

The chosen units are self-consistent — no conversion factors appear in the integration code. Two equations carry the whole system.

The membrane time constant is 𝜏𝑚=𝐶𝑚/𝑔𝐿. With 𝐶𝑚 in nF and 𝑔𝐿 in μS,

(𝜏𝑚)[ms]=(𝐶𝑚)[nF](𝑔𝐿)[𝜇S]
(1)

so 𝐶𝑚=1 nF and 𝑔𝐿=0.05 μS give 𝜏𝑚=20 ms directly.

The LIF voltage update is d𝑉𝑚=(Δ𝑡sim/𝐶𝑚)(𝑔𝐿(𝑉𝑚𝐸𝐿)+𝐼ext). With Δ𝑡sim in ms, 𝐶𝑚 in nF, 𝑉𝑚 and 𝐸𝐿 in mV, 𝑔𝐿 in μS, and 𝐼ext in nA,

(d𝑉𝑚)[mV]=(Δ𝑡sim)[ms](𝐶𝑚)[nF](𝐼ext)[nA]
(2)

because ms·nA / nF = mV exactly.

Conductance-current products share the same ledger: 𝑔(𝑉𝑚𝐸) is μS × mV = nA, so synaptic currents fold into 𝐼ext alongside any direct input current without a scale factor.

Why not SI?

Pure SI (F, S, V, A, s) forces every value to a large negative exponent — 𝐶𝑚=109 F, 𝑔𝐿=5×108 S, Δ𝑡sim=2.5×104 s. The neuroscience convention (ms, mV, nF, μS, nA) keeps every typical value between 103 and 102, which makes numerical debugging and human intuition faster. Conversion to SI remains available as an independent check; the equations above show why no extra scale factor is needed in these units.

Checking a configuration

  1. Separate defaults from overrides. Read the saved config.json and the recipe that supplied it. For CLI inference, explicit flags override inherited values; omitted fields fall back to defaults.
  2. Convert rates once. With integration timestep Δ𝑡sim in ms and input rate 𝑟input in Hz, a Bernoulli spike encoder uses event probability 𝑝event=𝑟inputΔ𝑡sim1000 per step. Here 𝑝event is dimensionless. Check that the probability is meaningful for the chosen rate and timestep.
  3. Check duration and counters. The legacy path uses int(t_ms / dt) simulation steps. Avoid assuming a non-integral duration is preserved exactly. Refractory times are also discretised to steps.
  4. Check the stored weights. Initialization means are on a summed-coupling scale; individual stored edges are fan-in normalised. Readout weights can use direct initialization instead. See exp006Training.

exp003SNNSIM API Reference · exp100COBANet