Simulation of voltammetric electrochemistry This is a development version!
Stuff might (will!) go wrong...


On this webpage you can simulate electrochemical voltammetric experiments using state-of-the-art methodology (as of 2020). This is a proper numerical simulation that aims to compete with commercial software such as DigiElch.

At its core, this simulator is an extension of the code provided with the excellent article Brute force (or not so brute) digital simulation in electrochemistry revisited by Molina.1 Implementations from the books by Compton2 and Britz3 turned the core algorithm into practically useful software. An important note to make here, is that the information in these books was only used to transform the system of redox steps and chemical reactions into matrix form. The resulting matrices where then solved the lazy way: by matrix inversion with the sparse solver algorithms in the Eigen library.

The simulator can handle any (reasonable) amount of species, redox steps and chemical reactions. Redox steps use Butler-Volmer kinetics. The system is pre-equilibrated before the simulation starts (using the starting concentrations and chemical reactions). Various electrode geometries are supported, and most simulation settings can be changed if necessary (for advanced users only!).

The simulator cannot (yet) handle:

  • Surface-adsorbed species
  • Very high values of Kcomp (cf. Compton section 6.2)
  • Uncompensated solution resistance
  • Migration and convection

info_outline Software description


  1. A. Molina et al. Chem. Phys. Lett. 2016 (643), 71—76 (10.1016/j.cplett.2015.11.011)
  2. R. Compton et al. Understanding Voltammetry: Simulation of Electrode Processes, Imperial College Press, London, 2014
  3. D. Britz et al. Digital Simulation in Electrochemistry, 4th ed., Springer, Switzerland, 2016


About me

René Becker, Ph.D. in chemistry (thesis), believes in open-source tools for all aspects in life, and thus also for science. Although physicists and mathematicians generally embrace open-source tools (because they program themselves?), chemists are generally wary of these tools (unless they are widely adopted). It is time for chemists to open their minds and be a bit more adventurous ;)

Visit my ResearchGate or LinkedIn for more information about me.


add_circle Species

Remove species from system Cannot remove species, because it is in use. remove_circle

add_circle Redox steps: Ox + ne e ↔ Red

remove_circle {{ }} {{ }}

add_circle Chemical reactions: R1 (+ R2) ↔ P1 (+ P2)

remove_circle {{ }} (none) {{ }} {{ }} (none) {{ }}

Note: when applicable (e.g. EE or ECE mechanism with the second electron transfer easier than the first), you have to add disproportionation/comproportionation equilibria yourself.



{{ et.typename }}



Currently, only CV is implemented (other techniques will follow (soon?))

  • Conditioning for {{experiment.conditioningPotential}} s (tcond.) at {{experiment.conditioningTime}} V (Econd.)
  • Equilibration for {{experiment.equilibrationTime}} s (tequil.) at {{experiment.initialPotential}} V (Einitial)
  • Sequence/scanning, repeated {{experiment.numCycles}} times (#cycles) at a scan rate of {{experiment.scanRate}} V/s (ν):
    • from {{experiment.initialPotential}} V (Einitial)
    • to {{v.pot}} (Evertex,{{$index}}) then a delay of {{experiment.vertexDelay}} s (tvertex)
    • to {{experiment.finalPotential}} V (Efinal)

Simulation settings

Number of coefficients for derivative and current simulation:

Dimensionless potential step Δθ and grid expansion factor γe:

First dimensionless distance in grid X0 = 10−F / √σ where σ is the dimensionless scan rate. F changes with log10(max. homogeneous rate [1/s]) = lograte, as:

F = when lograte <
F = when lograte >

...and is varied linearly between these values of lograte. The relationship is thus as depicted in the following image, where it can be observed that the dimensionless distance next to the electrode is smaller when the reaction rate is increased:

Run simulation Cannot run simulation because there are errors in the input fields Results Click here to copy the simulation data so you can paste it into e.g. Microsoft Excel or LibreOffice Calc.
Or your (e.g. experimental) data from Microsoft Excel or LibreOffice Calc
You can also right-click the graph to save the figure as a PNG file.
{{ simoutput }}