NEST-Compatible Models

NEST-Compatible Models#

JAX re-implementations of NEST simulator neuron, synapse, plasticity, and device models — preserving NEST’s parameter names, defaults, and unit conventions so a researcher coming from NEST can port a model with minimal friction. The models are built on brainstate, use brainunit for physical units, compile through JAX to CPU, GPU, and TPU, and are differentiable where the dynamics allow it.

They are numerically validated against a live NEST install within documented tolerance bands — see Validation status for the per-family parity evidence and the A–E tolerance categories.

You build NEST-compatible networks with the explicit Simulator API, which mirrors NEST’s vocabulary — create populations and devices, connect them with NEST-like rules, simulate:

import brainunit as u
from brainpy import state as bp

sim = bp.Simulator(dt=0.1 * u.ms)
neuron = sim.create(bp.iaf_psc_alpha, 1, I_e=376. * u.pA)
vm = sim.create(bp.voltmeter)
sim.connect(vm, neuron)                     # the voltmeter observes the neuron
res = sim.simulate(1000. * u.ms)
v = res.trace(vm, "V_m")                    # (T, 1) membrane-potential trace

This hub is self-contained: it has its own first-steps tutorials, build-your-own- network guides, and the porting / fidelity material — and it links up into the shared Core Concepts spine (State, physical units, the transform loops) where the deeper ideas live. We do not duplicate NEST’s model physiology here — for the biophysics of any model, follow the link out to the upstream NEST documentation; our pages cover the brainpy.state API, porting parity, semantic divergences, and the validation showcase.

Scaling up: large networks

Looking for full-scale reference networks — Brunel random balanced networks, EI-clustered networks, astrocyte–neuron networks? The NEST example gallery catalogues 75 ported scripts as a NEST → brainpy.state Rosetta map, each backed by a live-NEST parity test.

NEST-Compatible Examples

First steps#

Start here. Four short tutorials in the brainpy.state idiom (State, units, and the Simulator API) — mirroring PyNEST Parts 1–4.

1 · One neuron

Create one iaf_psc_alpha, drive it with a current and Poisson noise, and record its membrane potential and spikes.

One neuron
2 · Populations & devices

Build populations, combine and slice them with NodeView algebra, and attach stimulation and recording devices.

Populations and devices
3 · Connect a network

Wire populations with NEST-like connection rules and assemble a small Brunel random balanced network.

Connect a network
4 · Record & analyze

Use recorders and detectors, read traces back, and analyze firing rate, raster, and ISI statistics.

Record and analyze

Build your own network#

Reference guides for the building blocks: models, connectivity, devices, and spatial structure.

Models

The model directory by family (IAF, AdEx, GIF/GLIF, HH, rate, …), linking to the API reference and out to NEST for physiology.

Model directory
Connectivity

Connection rules and the synapse spec — weights, delays, static and plastic synapses, population algebra.

Connectivity
Devices

Generators, recorders, and detectors — 27 device models and how to read their data back.

Devices
Spatial networks

Spatially-structured networks: grid layouts, distance-dependent connectivity, and position queries.

Spatially-structured networks
Example gallery

All 75 ported nest_like scripts as a NEST → brainpy.state map.

NEST-Compatible Examples

Porting & fidelity#

The distinctive material: a side-by-side port, the semantic-divergence catalog, the validation showcase, and how the integrators work under the hood.

Porting walkthrough

Brunel side by side — NEST vs brainpy.state — with the parameter map and the divergences a port must account for.

Porting walkthrough: Brunel, side by side
Semantic divergences

Where state lives, parameter-location maps, numerical bands, and pairing conventions — every entry backed by a live-NEST parity test.

Semantic divergences
Validation status

Per-family live-NEST parity, the A–E tolerance categories, and how to run the parity harness yourself.

Validation status
Integration categories

Under the hood: RKF45, analytic propagators, vectorized rate updates, and no-ODE devices.

Integration categories