PyECsim is a fast and general simulator of voltammetry experiments. Using the latest state-of-the-art algorithms, it simulates
any number of electrode processes, using Butler-Volmer charge transfer kinetics, coupled to
any number of homogeneous reactions (first or second order), using
user-defined voltammetry waveforms.
A typical simulation, even with very large reaction rate constants (10e9 /s), takes around 10 ms to run. Because the simulations are fast, you can use them inside the target function of an optimization routine.
In-depth documentation can be found on read the docs.
# Install
Installing PyECsim is easy:
pip install --user pyecsim
# Quick-start
The below example is a minimal piece of code that simulates a charge transfer step (ox + e <-> red) coupled to a chemical reaction (ox <-> prod).
Import PyECsim into your Python code (and matplotlib to plot the voltammogram):
import pyecsim as ecs
import matplotlib.pyplot as plt
Then create a simulator and species, a charge transfer step and a chemical reaction:
sim = ecs.Simulation(True) # or False to suppress output
red = ecs.Species('reduced species', 1.0, 1.0e-9) # name, concentration [mol/m3], diffusion coefficient [m2/s]
ox = ecs.Species('oxidized species', 0.0, 1.0e-9)
prod = ecs.Species('reaction product', 0.0, 1.0e-9)
rdx1 = ecs.Redox(ox, red, 1, 0.0, 10.0, 0.5).enable() # ox, red, n, E_0 [V], k_e [m/s], alpha
sim.sys.addRedox( rdx1 )
rxn1 = ecs.Reaction(ox, None, prod, None, 5.0, 0.0).enable() # reactant1, reactant2, product1, product2, k_f, k_b
sim.sys.addReaction( rxn1 )
Lastly, we set the electrode type and radius, the voltammograms initial/vertex/final potentials and the scan rate:
sim.el.disk(1.0e-3) # radius [m]
sim.exper.setScanPotentials(-0.5, [0.5], -0.5) # potentials [V]: initial, [0 or more vertices], final
sim.exper.setScanRate(1.0) # scan rate [V/s]
And then we can run the simulation and plot the results:
[potential, current] = sim.run()
plt.plot(potential, current)
Which gives:
Metadata
Release files for pyecsim 0.2.3.post2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| pyecsim-0.2.3.post2-cp39-cp39-win_amd64.whl | CPython 3.9 | CPython 3.9 | Windows x86-64 | Details |
| pyecsim-0.2.3.post2-cp39-cp39-manylinux2014_x86_64.whl | CPython 3.9 | CPython 3.9 | Linux glibc 2.17+ x86-64 | Details |
| pyecsim-0.2.3.post2-cp38-cp38-win_amd64.whl | CPython 3.8 | CPython 3.8 | Windows x86-64 | Details |
| pyecsim-0.2.3.post2-cp38-cp38-manylinux2014_x86_64.whl | CPython 3.8 | CPython 3.8 | Linux glibc 2.17+ x86-64 | Details |
| pyecsim-0.2.3.post2-cp37-cp37m-win_amd64.whl | CPython 3.7 | CPython 3.7 pymalloc | Windows x86-64 | Details |
| pyecsim-0.2.3.post2-cp37-cp37m-manylinux2014_x86_64.whl | CPython 3.7 | CPython 3.7 pymalloc | Linux glibc 2.17+ x86-64 | Details |
| pyecsim-0.2.3.post2-cp36-cp36m-win_amd64.whl | CPython 3.6 | CPython 3.6 pymalloc | Windows x86-64 | Details |
| pyecsim-0.2.3.post2-cp36-cp36m-manylinux2014_x86_64.whl | CPython 3.6 | CPython 3.6 pymalloc | Linux glibc 2.17+ x86-64 | Details |
| pyecsim-0.2.3.post2-cp35-cp35m-win_amd64.whl | CPython 3.5 | CPython 3.5 pymalloc | Windows x86-64 | Details |
| pyecsim-0.2.3.post2-cp35-cp35m-manylinux2014_x86_64.whl | CPython 3.5 | CPython 3.5 pymalloc | Linux glibc 2.17+ x86-64 | Details |
Total release size: 23.8 MB
Release files / pyecsim-0.2.3.post2-cp39-cp39-win_amd64.whl
| Download URL | pyecsim-0.2.3.post2-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 172.4 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4003b07599f4cebbb92abb7f468a571a7e07a9147af91f76c007fddca7e7ccb5
|
|
BLAKE2b-256 checksum How to use checksums |
0e01745038faa4b75dbf9190dcf5b301df63235d811ba8f7f2e1f2a5985f4c37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp39-cp39-manylinux2014_x86_64.whl
| Download URL | pyecsim-0.2.3.post2-cp39-cp39-manylinux2014_x86_64.whl |
|---|---|
| Size | 4.5 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a6acb98526f64701e8786dada09a3367f521b1b69e80289345f7ce727d91d2d0
|
|
BLAKE2b-256 checksum How to use checksums |
108471b8eaf0d21a5e48ec216afad18967b8b2840b691aac7838dfa9366cb382
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp38-cp38-win_amd64.whl
| Download URL | pyecsim-0.2.3.post2-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 171.7 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1909d90ae9da522b3c4ef4092285793dc43cc42d53a8d61513fbf3bed05a6a69
|
|
BLAKE2b-256 checksum How to use checksums |
86eace1e4d22be04052f877b5b747f7974100d15a2b3e5e88c923865be867ece
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp38-cp38-manylinux2014_x86_64.whl
| Download URL | pyecsim-0.2.3.post2-cp38-cp38-manylinux2014_x86_64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
de644d581b059991511feb1cb47f8908198cc6e37b14296ef995c639cefcd8e3
|
|
BLAKE2b-256 checksum How to use checksums |
7dcfee38f12fe32e12a0a2974d5f4890cddfd070ce12da6bee496dd82fe7b1e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp37-cp37m-win_amd64.whl
| Download URL | pyecsim-0.2.3.post2-cp37-cp37m-win_amd64.whl |
|---|---|
| Size | 170.2 kB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
570473a7bb7ac016405c4a22def5ea26364534f6942b6d7cc9882d5c1933158e
|
|
BLAKE2b-256 checksum How to use checksums |
113a74cf8bf3ce295a677a45e60c06f9012ee411f683a94eaf33af7afa8aa01c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp37-cp37m-manylinux2014_x86_64.whl
| Download URL | pyecsim-0.2.3.post2-cp37-cp37m-manylinux2014_x86_64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d0d20ffe29fbde902a0743909b02431a6090be04596989d44da67dc2e7de0a1c
|
|
BLAKE2b-256 checksum How to use checksums |
f57e94d24dd29cf8addb5ca46b45cc40fe04ed7e938b8b1f2ea58e53766496f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp36-cp36m-win_amd64.whl
| Download URL | pyecsim-0.2.3.post2-cp36-cp36m-win_amd64.whl |
|---|---|
| Size | 228.4 kB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a2f83dd3d6886f7051b630e591817ad825e68655a4a7ead4e88665addb6bade5
|
|
BLAKE2b-256 checksum How to use checksums |
db363119ed2c2660cf9bec6e3c50377c5860cfcb450725dbb04963272defa566
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp36-cp36m-manylinux2014_x86_64.whl
| Download URL | pyecsim-0.2.3.post2-cp36-cp36m-manylinux2014_x86_64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
6c1595e9c6de17c8b2e492116b58999ed3d7203d4fae7bb94fe7ba6fb5d1314f
|
|
BLAKE2b-256 checksum How to use checksums |
2c59a22fa56a4c324df8666715783467aa831b0f3f52717e1e9f9ebbb36c6373
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp35-cp35m-win_amd64.whl
| Download URL | pyecsim-0.2.3.post2-cp35-cp35m-win_amd64.whl |
|---|---|
| Size | 180.7 kB |
| Tags | CPython 3.5 CPython 3.5 pymalloc Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c0a70d670a5e621387ded7000b7a4efa3ec3ecf245b162aebf705266895c8749
|
|
BLAKE2b-256 checksum How to use checksums |
ccce97765a11bef721bb80c6dee39f9fe9a4acb722ceb06b25e6537b42bff3a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / pyecsim-0.2.3.post2-cp35-cp35m-manylinux2014_x86_64.whl
| Download URL | pyecsim-0.2.3.post2-cp35-cp35m-manylinux2014_x86_64.whl |
|---|---|
| Size | 4.6 MB |
| Tags | CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
48b35d8022f542154cf02f51346b9eb58578b3d901169444ee76e77491628853
|
|
BLAKE2b-256 checksum How to use checksums |
edbaffd1647d71b87907551d8942731e51188156b54cb5b1759571e1519c02ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|