Skip to main content

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:

http://limhes.net/upload/images_ecsim/cv_readme.png

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)

Table of built distributions (wheels) for pyecsim 0.2.3.post2
File
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

Release history Release notifications | RSS feed

This release

0.2.3.post2 This release

10 release files

0.2.3

10 release files

0.2.2

10 release files

0.2.1

10 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page