NRV (NeuRon Virtualizer) is an open-source Python framework for simulating peripheral nerves and their electrical interactions. It provides a common environment for setting up nerve and electrode geometries, describing stimuli and analysing neural responses.

Official website · GitHub repository · Documentation · PyPI

From stimulation parameters to neural responses

NRV combines NEURON for axon dynamics with extracellular field calculations, including finite-element models using FEniCS. It supports arbitrary stimulation waveforms, electrode configurations and populations of axons, with parallel computation and post-processing tools. Applications include stimulation, extracellular recordings and bioimpedance modeling.

The models use the quasistatic approximation of Maxwell’s equations and do not include ephaptic coupling. The documentation explains the modeling assumptions, installation and examples.

NRV workflow: stimulation and electrode parameters, nerve models and simulated neural responses

Research and community

I initiated NRV at ETIS, with contributions from Louis Regnacq, Thomas Couppey and Roland Giraud. Development continued at IMS after my move to Bordeaux in 2023. The project now has its own NRV Framework organisation, connected to our broader Neuro Interface Lab initiative.

The framework is described in Couppey et al., PLOS Computational Biology (2024), NRV: An open framework for in silico evaluation of peripheral nerve electrical stimulation strategies.

In December 2025, NRV received the French Open Science Research Software Award, Documentation – Espoir, recognising its resources for users and contributors. Read the announcement.

NRV is distributed under the CeCILL-C licence. To get started or contribute, visit the official website and repository above.