Week 5.1 - Compact Notation Derivation for a simple Mechanism
Compact notation to represent reaction mechanism:
In real combusiton applicaitons, there are a lot of species involved including multiple number of reactions. The list of reactions that could occur based on various parameters can be listed out in a mechanism file and solved using computer. But these mechanisms should be written in a compact manner preferrably in matrix notations that can be solved by computers. In the current scenario, the compact notations are derived for net reaction rate and production rate of species for a simle mechanism involving 4 reactions.
The following are the list of reactions to be considered
`CO + O_2 <=> CO_2 + O` ---> reaction(1)
`O + H_2O <=> OH + OH` ---> reaction(2)
`CO + OH <=> CO_2 + H` ---> reaction(3)
`H + O_2 <=> OH + O` ---> reaction(4)
We take index i, ranging from 1 to 4 to represent the reaction equation index shown above
To represent the reactions in matrix format, a list of species present in the equations are listed in a column vector as
`S = [[CO,O_2,CO_2,O,H_2O,OH,H]]^T`
We take index j, ranging from 1 to 7, to represent the index of a species in species vector shown above.
Then the set of reaction equations can be shown in matrix format as
`v_(ij)' *S <=> v_(ij)''.S`
where `v_(ij)'`-> stoichiometric coefficient matrix of reactants for forward reaction
and `v_(ij)''` -> stoichiometric coefficient matrix of products for forward reaction
Comparing the reaction equations and S vector, the coefficient matrix can be defined as follows
`v_(ij)' = [[1,1,0,0,0,0,0],[0,0,0,1,1,0,0],[1,0,0,0,0,1,0],[0,1,0,0,0,0,1]]` and `v_(ij)'' = [[0,0,1,1,0,0,0],[0,0,0,0,0,2,0],[0,0,1,0,0,0,1],[0,0,0,1,0,1,0]]`
The net reaction rate determines if the reaction takes place in forward or reverse direction. It is defined by the compact notation as
`q_i = kf_i*prod_(j=1)^N(X_j)^(v_(ij)') - kr_i*prod_(j=1)^N(X_j)^(v_(ij)'')`
where indices i and j represent reaction index and species index as mentioned above
`kf_i` -> rate of reaction in forward direction for `i^(th)` reaction
`kr_i` -> rate of reaction in reverse direction for `i^(th)` reaction
`X_j`-> concentration of `j^(th)`species per unit volume
`N`-> represents the number of species, in this case it's 7
`v_(ij)'` -> stoichiometric coefficient of `j^(th)` species in reaction side of `i^(th)` reaction. This can be obtained from (i,j) elment of `v_(ij)'` matrix
`v_(ij)''` -> stoichiometric coefficient of `j^(th)` species in products side of `i^(th)` reaction. This can be obtained from (i,j) elment of `v_(ij)''` matrix
Zero entries in coefficient matrices will result in a value of 1 in the product of concentrations. Hence, considering only non-zero coefficient matrix entries, the net reaction rate can be expanded for each reaction as
`q_1 = kf_1*[CO]*[O_2] - kr_1*[CO_2]*[O]`
`q_2 = kf_2*[O]*[H_2O] - kr_2*[OH]^2`
`q_3 = kf_3*[CO]*[OH] - kr_1*[CO_2]*[H]`
`q_4 = kf_4*[O_2]*[H] - kr_4*[O]*[OH]`
Net product rate `w_j` for `j^(th)` species is written as
`w_j = sum_(i=1)^L v_(ij)q_i`
where i and j are reaction and species index as described above
`L` -> Number of reactions
`v_(ij)` -> `(i,j)^(th)` element of `v_(ij)` matrix,
`v_(ij)` matrix is defined as the difference of products and reactants coefficient matrices
`v_(ij) = v_(ij)'' - v_(ij)' = [[0,0,1,1,0,0,0],[0,0,0,0,0,2,0],[0,0,1,0,0,0,1],[0,0,0,1,0,1,0]] - [[1,1,0,0,0,0,0],[0,0,0,1,1,0,0],[1,0,0,0,0,1,0],[0,1,0,0,0,0,1]] = [[-1,-1,1,1,0,0,0],[0,0,0,-1,-1,2,0],[-1,0,1,0,0,-1,1],[0,-1,0,1,0,1,-1]]`
`q_i` -> net rate of reaction for `i^(th)` reaction obtained from above description
Zero entries in `v_(ij)` matrix will result in 0 value in the summation of reaction rates. Ignoring the zero entries, the production rate of each species can be expanded to
`w_1 = (d[CO])/(dt) = sum_(i=1)^L v_(i1)q_i = -q1 -q3`
`w_2 = (d[O_2])/(dt) = sum_(i=1)^L v_(i2)q_i = -q1 -q4`
`w_3 = (d[CO_2])/(dt) = sum_(i=1)^L v_(i3)q_i = q1 + q3`
`w_4 = (d[O])/(dt) = sum_(i=1)^L v_(i4)q_i = q1 -q2+q4`
`w_5 = (d[H_2O])/(dt) = sum_(i=1)^L v_(i1)q_i = -q2`
`w_6 = (d[OH])/(dt) = sum_(i=1)^L v_(i6)q_i = 2*q2 -q3+q4`
`w_7 = (d[H])/(dt) = sum_(i=1)^L v_(i7)q_i = q3 - q4`
In matrix form these set of equations can be written as
`w = v_(ij)*q`
where,
`w` -> column matrix containing rate of change of species for list of species in S vector containing 7 elements
`q` -> column matrix containing the net rate of reactions for all the reactions containing 4 elements