Skip to content
/ CVsim Public

A Python package for simulating cyclic voltammograms semi-analytically

License

Notifications You must be signed in to change notification settings

ericfell/CVsim

Repository files navigation

codecov

CVsim

Semi-analytical method1 for simulating cyclic voltammograms on a disk macroelectrode, using a semiintegration algorithm. In the limit of infinitely small potential steps, this algorithm is an exact solution. Due to the precision of standard potentiostats simulations using potential steps of 1-5 mV typically provide a reasonable accuracy-computing time trade-off, where accuracy sanity checks (e.g. Randles-Sevcik relationship for Er and Eq mechanisms) have been performed.

Files

  1. one_electron_CV.py provides the OneElectronCV class for the Er , Eq , and EqC schemes
  2. two_electron_CV.py provides the TwoElectronCV class for the EqEq , and square schemes
  3. test_plots_fits.py provides quick examples of a) calling the OneElectronCV or TwoElectronCV class to simulate and plot mechanistic schemes, and b) fitting real/simulated data (likely a few ways to do this, some more forgiving than others)
  4. one_electron_multiscan.py provides the OneElectronCV_multi class which enables multiple-scan simulation (pseudo steady state) of schemes contained in OneElectronCV

Input Parameter Units

  • Estart/Eswitch/Eo = V
  • Scanrate = V/s
  • Potential Step = mV
  • Active species concentration = mM (mol/m3)
  • Diffusion coefficients = cm2/s
  • Disk radius = mm
  • Temperature = K

and if needed

  • Standard rate constant, ko = cm/s
  • 1st order chemical rate constants (kforward, kbackward) = s-1
  • Scans = integer number of full CV scans desired

[1] Oldham, K. B.; Myland, J. C. Modelling cyclic voltammetry without digital simulation, Electrochimica Acta, 56, 2011, 10612-10625.

*The schemes for CEr , catalytic C'Eq , and ErCEr are currently in development

About

A Python package for simulating cyclic voltammograms semi-analytically

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages