Multiple Reaction Stoichiometry
by
Richard K. Herz
herz@ucsd.edu
THE PURPOSE:
This lab module presents visual demonstrations of...
how the number of moles of molecular species can vary...
while keeping the mass of each element constant...
in simple reactors such as...
batch, plug flow, and continuous-flow stirred tank reactors,
and shows how to write the minimum number of species balances for reactor design.
INTRODUCTION:
A set of Independent Stoichiometric Equations (ISE) can be determined solely from a list of the species present. ISE are used in writing necessary and sufficient sets of (a) equilibrium relations and (b) species balances in reactor design. The ISE are purely mathematical expressions, in chemical notation, that represent conservation of elements in simple reactors. They do not show how the species react with each other. Experimental measurements are required in order to identify the "reactions" (also, "reaction pathways"), the physical processes in which the species interconvert, and to write the rate expressions which appear in the species balances. It is important to distinguish between the ISE and the stoichiometric equations that represent reaction pathways.
"Single reaction systems" have by only one ISE. The stoichiometric equation that represents the single reaction pathway also serves as the one ISE. The single reaction pathway is reversible and a rate equation for each of the forward and backward reactions can be written. "Multiple reaction systems" have two or more ISE and two or more reaction pathways. The set of stoichiometric equations that represents the reaction pathways often does not equal a set of ISE, and the numbers of equations in the two sets often differ. The mathematical development below applies to both single and multiple reaction systems.
THE LIST OF SPECIES USED AS AN EXAMPLE: N2, O2, H2O, NH3, NO, NO2
For the six species in this example, there are three ISE, so this is a multiple reaction system. The determination of a set of ISE for these species is explained below.
For "simple" reactors, the necessary and sufficient number of species balances that need to be written is equal to the number of ISE. Simple reactors are defined here as those in which the relative amounts of species change only by chemical reaction. The "ideal" batch, plug flow, and continuous-flow stirred tank reactors are simple reactors. "Complex" reactors are defined as those in which the relative amounts of reactive species change by an additional mode. For example, a membrane reactor in which H2 is removed through permeable walls is a complex reactor. For complex reactors, a greater number of species balances may be required.
The examples on the following screens show two possible sets of ISE for this list of species. One set can be transformed to another by linear operations.
Click on the arrow buttons in the lower-right corner of the screen window to move between this screen and the example screens. In each example, vary the stoichiometric extents and the initial composition and watch the changes in final composition.
THE THEORY:
Below is a brief explanation of the theory behind the labs, with the given list of 6 species used as an example. Equations are given using MATLAB's notation. With the exception of the reactor species balance section and the examples shown, this development follows that of W. R. Smith and R.W. Missen, "Chemical Reaction Equilibrium Analysis: Theory and Algorithms," John Wiley & Sons, New York, 1982.
The column vector b = [ b1 b2 b3 ]' represents the number of moles of each element present, where (') is MATLAB notation for the transpose operation. Here, b1 is the number of moles of N, b2 is the number of moles of O, and b3 is the number of moles of H. For a given closed system, the numbers of moles of the elements remains constant. A "simple reactor" such as a batch, plug flow, or continuous-flow stirred tank reactor can be considered a closed system for this purpose. For flow reactors, the units are moles/time (molar flow rate) rather than moles.
The column vector n = [ n1 n2 n3 n4 n5 n6 ]' represents the number of moles of each species present. We call n the "composition vector." For this example, n1 is the number of moles of N2, n2 is moles of O2, n3 is moles of H2O, n4 is moles of NH3, n5 is moles of NO, and n6 is moles of NO2. In general, the same chemical species present in two different phases or two different isomers in a system is counted as two different species. For flow reactors, the numbers of moles can be replaced by molar flow rates (mol/time).
The formula matrix A is a 3 row (corresponding to the three elements) by 6 column (corresponding to the 6 species) matrix for this example list of species. Each of element of this A is the subscript of the corresponding chemical element in the corresponding species.
For a given initial composition vector n0, there will be a fixed number of elements given by the values of the vector b:
A*n0 = b
If the species react and the composition vector changes from the initial n0, all other values of the vector n must also contain the same number of elements, so:
A*n = b
The change in composition, (n0 - n), can be called the change vector Dn. The change in the moles of elements associated with Dn must be zero:
A*n0 - A*n = A*(n0 - n) = A*Dn = (b - b) = 0 (where 0 is a null vector)
There can be a semi-infinite number of changes in composition, Dn, but all valid ones must maintain conservation of elements and obey the equation A*Dn = 0. The general solution for this equation is:
A*(Y*e) = 0
where Y is called the "complete stoichiometric matrix" and e is a column vector whose elements [e1 e2 e3]' we call "stoichiometric extents". They are scalar parameters that describe the change in composition of the system. The columns of Y represent a set of Independent Stoichiometric Equations (ISE) for the system. For this example list of species, Y has 6 rows corresponding to the 6 species and 3 columns corresponding to the number of degrees of stoichiometric freedom in the system and, thus, the number of ISE (NOT to the 3 elements).
Often, the number of ISE, i.e., number of degrees of stoichiometric freedom, equals the number of species, S, minus the number of elements, E. This is the case for our example list of 6 species with 3 elements and 6 - 3 = 3 ISE. The exception is when some elements always occur in fixed ratios with other elements. A simple example is the system of butene isomers: n-1-butene, cis-2-butene, and trans-2-butene. There are 3 species and 2 elements: C and H. Since C and H are always in the ratio C4H8, there are 2 ISE, since, mathematically, C4H8 acts as one "element". The general mathematical result is that the number of ISE, M, equals the number of species minus the rank of the formula matrix A, that is M = (S - rank(A)) >= (S - E).
The columns of Y represent one set of ISE for the system. In a column, the element in a row represents the stoichiometric coefficient corresponding to the species that row represents. Species that increase in amount with an increase in the stoichiometric extent corresponding to that column (stoichiometric equation) have positive stoichiometric coefficients. Species that decrease in amount with an increase in the stoichiometric extent corresponding to that column (stoichiometric equation) have negative stoichiometric coefficients.
A set of ISE is called "Independent" because none of its columns can be eliminated by elementary linear column operations (e.g., multiplying any column by a constant and adding the result to another column). The set is not unique because other valid sets can be obtained by performing elementary linear column operations on the members of the set.
Given a list of species specified to be present, the formula matrix A can be written. A method for obtaining Y "by hand" is given in Smith and Missen (1982). A method for obtaining Y with Mathematica is given by Missen, Mims and Saville, "Introduction to Chemical Reaction Engineering and Kinetics," Wiley, 1999. Y may be obtained with MATLAB by using the standard MATLAB function "null" with the 'r' option set:
Y = null(A,'r')
In mathematical terms, Y is a "rational basis for the null space" of A. A rational basis is provided when the 'r' option is set, vs. the default orthonormal basis.
This Y can be used "as is," or elementary linear column operations can be performed to get another Y.
Since,
Y*e = Dn = n0 - n
the final composition in the lab for a given initial composition n0 and set of stoichiometric extents [e1 e2 e3]' can be determined from
n = n0 + Y*e
When expanded, this gives an equation for the number of moles of each species as a function of the initial moles of that species present, the stoichiometric coefficients for that species in Y, and the stoichiometric extents. Such an expanded set of equations can be called a "stoichiometric table" which is useful when writing species balances. For flow reactors, the numbers of moles can be replaced by molar flow rates (mol/time).
For the 6 species in this example, there are 3 ISE. For "simple" reactors, the necessary and sufficient number of species balances that need to be written is equal to the number of ISE. Simple reactors are defined as those in which the relative amounts of reactive species change only by chemical reaction.
A set of ISE can always be written such that each equation has at least one species that only appears in that equation. Obtaining the matrix Y for a system results in a set of ISE with "unique" species, which are referred to as "noncomponent" species by Missen et al. (1999).
Such a set is seen in screen 2 of this lab module. Write the species balances for those "unique" species, with the number required equal to M, the number of ISE. Use experimental information about the reaction pathways to write expressions for the rates that appear in the species balances. Then use the stoichiometric table to express the concentrations of each species in terms of the initial composition and the stoichiometric extents. The stoichiometric extents are the unknowns to be found. Note that stoichiometric extents may have negative values. A solution for the values of the extents can be substituted back into the stoichiometric table to get the amounts of all species present.
Alternatives to writing M species balances for simple reactors are:
(a) write a balance for each species (see p. 298 in H.S. Fogler, "Elements of Chemical Reaction Engineering," 3rd ed., Prentice-Hall, 1999),
(b) write P species balances, where P is the number of reaction pathways and where an "extent" variable has been defined for each of the pathways and a stoichiometric table has been written using those variables (see p. 152 in L.D. Schmidt, "The Engineering of Chemical Reactions, Oxford, 1998, where P here = Schmidt's R).
The development is shown below for this example set of species. The rows of formula matrix A correspond to the elements N, O, H in that order, top to bottom. The columns of A correspond to the list of species in this order from left to right: N2, O2, H2O, NH3, NO, NO2.
A =
Y =
2 0 0 1 1 1 % row -> N
0 2 1 0 1 2 % row -> O
0 0 2 3 0 0 % row -> H
-0.5000 -0.5000 -0.5000
0.7500 -0.5000 -1.0000
-1.5000 0 0
1.0000 0 0
0 1.0000 0
0 0 1.0000
The order of rows in Y corresponds to the species in the same order as in the columns of A in this example. Each column of Y defines an ISE:
ISE 1: 0 = - 0.5 N2 + 0.75 O2 - 1.5 H2O + NH3 % corresponds to column 1 of Y
ISE 2: 0 = - 0.5 N2 - 0.5 O2 + NO % corresponds to column 2 of Y
ISE 3: 0 = - 0.5 N2 - O2 + NO2 % corresponds to column 3 of Y
Rearranging to standard form:
ISE 1: 0.5 N2 + 1.5 H2O = NH3 + 0.75 O2
+ O2 = NO2
ISE 2: 0.5 N2 + 0.5 O2 = NO
ISE 3: 0.5 N2
This is the set of ISE in the first example in this lab module (on screen 2). The set of ISE for the second example (on screen 3) is obtained from this set by linear operations (multiplying one ISE by a constant and adding to another).
The stoichiometric table for this set of ISE is written by expanding n = n0 + Y*e
nN2 = n0N2 - 0.5 e1 - 0.5 e2 - 0.5 e3
nO2 = n0O2 + 0.75 e1 - 0.5 e2 - e3
nH2O = n0H2O - 1.5 e1
nNH3 = n0NH3 + e1
nNO = n0NO + e2
nNO2 = n0NO2 + e3
ninert = n0inert
_____________________________________________
ntotal = n0total - 0.25 e1 - 0.5 e3
Note that any inert species must be considered when determining the total moles present.
Since there are three degrees of stoichiometric freedom in this system, we need three independent species balances: three independent equations in the three unknowns e1, e2, e3. The shortest mathematical route to these equations starts by writing a species balance for each of the "unique" species. For a batch reactor:
dnNH3/dt = de1/dt = rNH3V
dnNO/dt = de2/dt = rNOV
dnNO2/dt = de3/dt = rNO2V
where V is the volume of the batch reactor.
Next, express the rates in terms of concentrations (mol/volume) using experimentally determined kinetic information about the reaction pathways. The rate of generation for any species s, rs, equals the sum of the net rates of generation of that species in all reaction pathways. The dimensions of the rates rs in the equations shown are (mol time–1 volume–1). The reaction pathways are not the same as the ISE, although, in some systems, stoichiometric equations that represent reaction pathways may also serve, in a different function, as ISE.
Now use the stoichiometric table to express the mole terms in the rate expressions in terms of initial composition and the three stoichiometric extents. The equations may be made dimensionless. Finally, the three ordinary differential equations can be integrated. For a nonisothermal batch reactor, they must be integrated along with a coupled energy balance equation. At any time t, the values of the stoichiometric extents can be substituted into the stoichiometric table to determine the amount of each species at that time.