A package for cyclic voltammetry simulation via the semi-analytical method
Project description
CVsim
cvsim is a Python package for cyclic voltammogram (CV) simulation via a semi-analytical method developed by Oldham and Myland1. It is valid for CV experiments performed on disk macroelectrodes, and uses a semi-integration algorithm. In the limit of infinitely small potential steps, this algorithm is an exact solution.
Due to the precision of standard potentiostats, simulations that use a potential step 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.
Currently available mechanisms:
- One-electron process: Er , Eq , and EqC
- Two-electron process: EqEq and Square scheme
Installation
cvsim can be installed from PyPI using pip:
pip install cvsim
See Getting started with cvsim.py for instructions on simulating CVs.
Dependencies
cvsim requires:
- Python (>=3.10)
- SciPy
Package Structure
mechanisms.py: Specifies one-/two-electron process mechanisms to be simulated.fit_curve.py: Performs fitting of experimental CV data according to a desired mechanism.
Example
To simulate a reversible (Nernstian) CV:
from cvsim.mechanisms import E_rev
potential, current = E_rev(
start_potential=0.3, # V vs. reference
switch_potential=-0.5, # V vs. reference
reduction_potential=-0.1, # V vs. reference
scan_rate=0.1, # V/s
c_bulk=1.0, # mM (mol/m^3)
diffusion_reactant=1e-6, # cm^2/s
diffusion_product=2e-6, # cm^2/s
).simulate()
Input Parameters
- Estart/Eswitch/Eo' = V vs ref.
- Scanrate = V/s
- Active species concentration = mM (mol/m3)
- Diffusion coefficients = cm2/s
Optional Parameters
- Potential step size = mV
- Disk radius = mm
- Temperature = K
and if needed
- Standard rate constant, ko = cm/s
- 1st order chemical rate constants (kforward, kbackward) = s-1
*The schemes for CEr , catalytic C'Eq , and ErCEr need development, PRs welcome!
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cvsim-1.0.0.tar.gz.
File metadata
- Download URL: cvsim-1.0.0.tar.gz
- Upload date:
- Size: 262.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8597ea604ea69943116746c749f53246ecac15a347032a23ed5fe99afc633efd
|
|
| MD5 |
e050e3c41dbfaaf82858898dd26002ee
|
|
| BLAKE2b-256 |
340be424bc7c0c9de574c62fac7dae04930b38ed5a7a209c16ed12791221b7e1
|
File details
Details for the file cvsim-1.0.0-py3-none-any.whl.
File metadata
- Download URL: cvsim-1.0.0-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f39295a76361a50aa02bc24d92940db79b710395b51116d7f5c5618301f64b5
|
|
| MD5 |
cdaf92c65272754c029e9ad3746da90c
|
|
| BLAKE2b-256 |
11fe9cceb606e746a4a1a4b0cb0d608972b5b8c7ffdf9b48e8e3ca911e529df9
|