Ecco - A Compiler for (Electro-)Chemistry

The Input Language


Copyright (C) 2005-2007, Kai Ludwig

Universitaet Tuebingen, Institut fuer Organische Chemie
Auf der Morgenstelle 18, 72076 Tuebingen

kai.ludwig@uni-tuebingen.de


Contents
Dissolved, Adsorbed Species, Ions & Electrons [Up]

Ecco supports the formulation of species names starting with one or more of the symbols '(', '[', characters or numbers followed by zero or more characters, numbers or the symbols ')', ']', '-' or '_'.


1-Butanol
CH3(CH2)CH3OH
K[A(X)_4]
1

All names can be supplied with a charge qualifier, starting with the '^(' -symbol, followed by a number and its sign '+' or '-' an closed by ')'.


A^(1+)

and/or with a adsorbed qualifier, '{ads}'.
1{ads}
A^(2-){ads}

Electrons are specified as
e-


Homogeneous Reactions [Up]

Chemical reactions are build upon educts, a reaction arrow and products. Each reaction is closed by a semicolon. Educts, or products, respectively, constitute a sum of reaction partners. A reaction partner is described by a leading coefficient ('1' can be omitted) and the species name. Note that a blank between coefficient and name is necessary. Otherwise the compiler would confuse the coefficient with a part of the species name.


2 A <=> S + 5 D;
1^(1+)   --> 1^(2+) + 1;

The kinetics of a reaction is per default determined by its reaction arrow. The arrow '<=>' describes a reaction with a reversible power rate law (see below). The arrow '-->' describes an irreversible power rate law.


Boundary Indices  [Up]

In general, all heterogeneous reaction steps as well as surface reactions occur locally on specific boundary faces, e.g. on an electrode surface. Depending on the geometric model, various boundaries are involved which can be supplied with so called boundary indices, e.g. a boundary with index 1 is described by the boundary operator


b<1>


Adsorptions, Surface Reactions & Electron Transfer [Up]

Within the input language, adsorptions and surface reactions as well as heterogeneous electron transfers need to be linked with the corresponding boundary face. Boundary operators are specified behind the according reaction in the so called option section which is again closed by a semicolon.
Thus, an adsorption process can be formulated as:


A <=> A{ads};    b<1>;

By now, adsorption processes are supported in which only one surface site per molecule is occupied (A + s <=> A{ads}, where s describes a free site).

Surface reactions may be formulated solely between adsorbed molecules, e.g.


A{ads} + B{ads}  --> C{ads};    b<1>;

Here, you have to pay attention to the balance of surface sites! In the reaction above, species A{ads} and B{ads} block two surface sites (A-s and B-s), while C{ads} occupies only one site (C-s). Don't bother about it for irreversible reactions: the products have no impact on the underlying kinetic model equations. However, for a reversible reaction that may lead to wrong model expressions! We're currently thinking about an extension of the input language that also include the formulation of surface sites.
Other surface reactions might take place between adsorbed and dissolved molecules:


A{ads} + X  --> C{ads};   b<1>;

For such reactions, in principle, the same problem exists. Future extensions concerning the formulation of surface sites are necessary.

Heterogeneous electron transfers,


A + 2 e- <=> B;    b<1>;

as well as electron transfers between an electrode and adsorbed species


1{ads} <=> 1^(1+){ads} + e-;    b<1>;

are specified in an analogous way.


Power Rate Laws [Up]

For homogeneous and surface reactions, Ecco assumes per default that the reaction kinetics follow a power rate law (r = kf * prodi(cipi) - kb * prodj(cjqj) ) in which the reaction order of a species (p or q) equals its stoichiometric coefficient. For irreversible reactions, it is kb = 0.
Optionally, each reaction order can be changed to any real number (as long as equilibrium conditions are fullfilled) through so called power operators, p<>, e.g.


A{ads} <=> B{ads};    b<1>, p< A{ads} > = 2, p< B{ads} > = 2;
2 CO + 3 H2 <=> CH3OH + CO + H2;    p<CO> = (-0.3,-1.3), p<H2> = (1.3,-0.7);

This will change the reaction orders of A{ads} and B{ads} to 2. The orders of CO and H2 are set to -0.3 and 1.3 for the forward reaction (=>) and -1.3 and -0.7 in the backward reaction (<=).


Generic Rates [Up]

The most general concept supported is that of generic rate laws. These reaction rates can be specified for homogeneous and surface reactions as arbitrary algebraic expressions, composed of species concentrations, kinetic and equilibrium constants, as well as user defined constants. Species concentrations are described by concentration operators, c<>, forward and backward rate constants by 'kfj ' and 'kbj ', respectively. Equilibrium constants are denoted as 'Kj ' (j is the number, counted from zero, of the corresponding reaction). The mechanism


E + S <=> ES;
ES <=> P + E;    r = kf1*E0*c<S>/(K0 + c<S>);

describes Michaelis-Menten kinetics. 'kf1' is the forward rate constant of the second reaction and K0 the equilibrium constant of the first reaction. For example, E0 (arbitrary name) denotes the initial concentration of species E. Note that for adsorbed species, the boundary index has to be specified within the concentration operator, e.g.
c< A{ads,b} >

for a species adsorbed at boundary with index b.