Electrochemical modeling

EchemLab

Loading browser engine

Forward simulation

Simulate a reaction mechanism

Select a mechanism, choose cyclic voltammetry or a potential step, and simulate the electrochemical response.

Reaction setup

Start from a familiar mechanism, then edit its species, reactions, and parameter values. The setup shown here is always the model used for simulation.

Edit species, reactions, and transport

Species

Choose each phase first. Solution species use concentration and diffusion; surface species use coverage and do not have a diffusion coefficient. Changing phase resets the initial amount because its units change.

Reactions

Define the species and their phases first. For each elementary step, enter its participants; EchemLab will then offer only reaction types compatible with those phases.

Adsorption, electron transfer, and custom rate-law reference

Adsorption means binding at the electrode surface (not absorption into a bulk material). Model each hypothesized elementary step explicitly:

  1. Adsorption first: Ox(solution) + * → Ox_ads, followed by Ox_ads + n e⁻ ⇌ Red_ads. Create Ox as a solution species and both Ox_ads and Red_ads as surface species. Use an Adsorption row, then a Surface-confined electron transfer row.
  2. Electron transfer first: Ox(solution) + n e⁻ ⇌ Red(solution), followed by Red(solution) + * → Red_ads. Create all three species, then use a Solution electron transfer row and an Adsorption row.
  3. Concerted adsorption and electron transfer: Ox(solution) + * + n e⁻ ⇌ Red_ads. Use one Concerted electron-transfer adsorption row only when binding and electron transfer are treated as the same elementary event.

The * represents a vacant surface site; do not add it as a species. EchemLab accounts for available sites through the maximum surface coverage and the Surface-site occupancy choices. The product is counted automatically; select another surface species only if it competes for the same site pool. A very fast second row can represent the fast-step limit of a sequential mechanism when that intermediate is chemically plausible, but it is not a substitute for a concerted row: the intermediate, its site occupancy, and its kinetic parameters can change the voltammogram.

Solution electron transfer connects two solution species. Surface-confined electron transfer connects two surface species. Plain adsorption and desorption each represent one direction, transfer no electron, and produce no faradaic current. Add both rows when the model requires an adsorption equilibrium. Concerted electron-transfer adsorption does produce faradaic current; its k0 is an exchange flux and requires a finite maximum surface coverage.

Interfacial mass action is available when a step contains a surface species because dissolved and adsorbed species can react chemically at the interface—for example, A_sol + B_ads → C_ads. It is irreversible, includes no electron-transfer current, and has no vacant-site factor. Use Adsorption when the intended forward step is site-limited binding.

Mass-action and custom rate laws describe chemical steps without an electron-transfer current. Formulas can use species names, declared parameters, arithmetic, powers, and exp, log, log10, sqrt, abs, min, max, sin, cos, tanh, and ifelse.

Homogeneous rates return M s⁻¹. Interfacial rates return mol cm⁻² s⁻¹. Formula inputs use M for solution species and mol cm⁻² for surface coverages.

Electrode film

Keep surface-site occupancy separate from any optional loss or relocation of electroactive area.

Fixed film coverage is available now. Add a surface-bound species only if film coverage should evolve with its amount.

Transport

Use supported-electrolyte diffusion for routine work or solve migration and diffuse charge explicitly with PNP.

Validate the reaction setup to review its equations and browser compatibility.

Experimental conditions

Numerical settings

Uses automatic fixed resolution with second-order fully implicit stepping after a BDF1 startup step. EchemLab reports the change relative to a calculation using half as many steps and spatial intervals.

Adaptation begins when the simulation starts.

Simulated response

Cyclic voltammogram

Plot

Run a simulation to calculate the current for this setup.

U.S. convention: cathodic current is positive and more negative potentials appear to the right.

Peak current—
Peak potential—
Comparison peak ratio—
Solver time—

Expected response

Select a mechanism to review the expected dependence of the voltammogram on its parameters.

Check the supporting-electrolyte approximation

Use independently measured electrolyte properties to screen whether migration and diffuse charge are small enough to omit. This is a validity check for the current simulation, not a migration-corrected model.

Inside the experiment

Concentrations over time

Run a simulation to explore how the species change during the experiment.

Parameter estimation · Step 1

Add the experiments you want to fit

Load one or more cyclic voltammograms or potential-step traces collected for the same fixed species inventory, confirm their normalization, then continue to parameter selection.

Shared conditions from Simulate
A

Import one or more electrochemical traces

Select several files together or return later to add another batch. Every loaded experiment is fitted simultaneously.

B

Study datasets 0 loaded

Confirm the technique, column mapping, unit conversion, current sign, and reference-potential shift before fitting.

Current background for the whole studyThe shared scan-rate charging model applies only to cyclic voltammetry. Potential-step data use the explicit Cdl and Ru values in the forward model; subtract a separately measured blank before fitting if the strip has additional background current.
No experimental files loaded yet.

Your data are processed in memory and fitted together as one study. The application does not retain uploaded files.

Parameter estimation · Step 2

Select the parameters to estimate

Estimate the unknown quantities and hold independently measured quantities at their reported values.

A

Active reaction setup and parameter vector

The editable reaction setup from the simulation page is the forward model. Choose parameters supported by the number and range of experimental datasets.

Shared conditions from Simulate
Free and fixed quantitiesChecked: estimated from the loaded electrochemical traces. Unchecked: held at the displayed value. Starting values and bounds are configured here, after data have been supplied.
B

Optimization

Deterministic multistart reduces dependence on a single starting guess. Review every warning before interpreting a fit.

Select the unknown parameters using the Estimate checkboxes above.

Fit result

Parameter estimates

Estimate the selected parameters to see results.

Load your experiments in Fit data before comparing mechanisms.

Model selection

Discover plausible reaction networks

Compare standard EC mechanisms or chemically balanced candidates, and retain mechanisms whose predicted currents cannot be distinguished by the supplied experiments.

Each candidate is fitted through the Rust transport model and ranked with a complexity penalty. Use at least three scan rates whenever possible.

Describe every known dissolved and surface-confined species, including initially absent intermediates. Enter the number of atoms of each element, for example Fe=1; C=6; N=6 for a hexacyanoferrate complex, and enter its charge separately. Initial values are mol/L in solution and mol/cm² on the surface.

Copy your current species, then enter their elemental compositions. Required reactions stay in every model; Candidate reactions are tested; Excluded reactions are never used. Species diffusion values here remain fixed.

Automatic search enumerates every admissible support when the generated library has at most the selected limit; larger spaces use the beam budget.

Generate candidates to estimate the number of fitted supports.

Start with the known species and electron-transfer steps in the active reaction setup. Choose one unresolved homogeneous reaction below. Each candidate polynomial rate is placed inside the transport model, fitted to the loaded voltammograms, and compared by its predicted current. Concentrations remain unobserved model states.

Bootstrap stability is optional and needs at least three voltammograms. It resamples complete experiments to show how often each rate term wins; 20 replicates is a useful first check but requires roughly 20 additional searches.

C

Candidate concentration inputs

Select the species that may appear in the rate law and give a representative concentration for coefficient scaling.

Optional concentration–rate regression check

If independent concentration and local-rate measurements later become available, this secondary STLSQ utility can check a proposed expression without solving the voltammetry inverse problem.

No concentration–rate table loaded.

Estimate an ideal EC′ catalytic rate from a catalytic voltammogram and its matched substrate-free catalyst trace. These analytical checks assume reversible electron transfer, pseudo-first-order substrate excess, and either a linear foot or a flat kinetic plateau; the result reports failed applicability checks instead of silently accepting them.

The two traces must share the same sampled potential grid. Use the import controls to normalize potential and current units before running this diagnostic.

Mechanism evidence

Ranked models and reaction inclusion

Run a discovery analysis to compare mechanisms.

Parameter inference

How well are the parameters determined?

Start with a profile likelihood, then account for measured-input uncertainty. Bayesian sampling is an advanced option and requires converged chains.

No fitted model selected. Complete a fit, then choose Analyze uncertainty.

A

Profile likelihood

Pin one fitted parameter and refit the remainder.

B

Measured fixed-input uncertainty

Refit at ± one standard uncertainty for independently measured inputs, then combine their effects with the conditional fit covariance.

No measured-input uncertainties added.
Advanced: Bayesian posterior sampling
C

Bayesian posterior sampling · advanced

Run independent chains and check whether they agree. More samples alone may not fix poor mixing; do not report intervals while diagnostics need review.

Start with independent noise. Compare AR(1) only when fitted residuals show substantial lag-one correlation or long runs.

Parameter priors

The default is uniform in the parameter's natural units over its fitted bounds. Add a normal or log-normal prior only when it represents information obtained independently of this voltammogram; using the fitted estimate as prior information would count the data twice.

Complete a fit to configure parameter priors.

Finite fitted bounds are converted to unconstrained sampling coordinates; proposals are never clipped at a boundary. Report intervals only when R̂, effective sample sizes, and the likelihood profile are satisfactory.

Uncertainty result

Confidence and identifiability

Complete a parameter fit or choose a ranked rate law for UQ.

Reference

Browser simulation guide

How to define, run, compare, and export solution-mechanism simulations.

1

Choose and edit the reaction setup

Load a familiar template, then edit its species, elementary steps, parameter values, or rate laws directly on the simulation page.

2

Choose the experiment and simulate

Select cyclic voltammetry or potential-step chronoamperometry, set the potentials and scan rate or hold times, then validate and simulate the editable setup. Import and export mechanism JSON when you want to preserve or share it.

3

Compare controlled variants

Save a simulated trace, change one or more parameters, and run the model again. The saved trace remains available as a user-controlled dashed comparison; set a reaction rate to zero when you want a nonreactive reference.

4

Export calculated data

Download the latest time, potential, and current arrays as CSV for plotting or analysis elsewhere. Keep the mechanism JSON with the exported trace so the calculation remains interpretable.

5

Fit data and assess uncertainty

Upload measured time, potential, and current, confirm each experiment's conditions, and select the parameters to estimate. Inspect the fit and residuals, then use profiles or posterior sampling to assess which parameters the data constrain.