Reaction Block - Solving Reactions
Navigation: Models ➔ Sub-Models ➔ Reaction Block (RB) ➔ Solving Reactions
| Overview | Reaction Block Data Section | RB Sub Model (Model Theory) | ||||||
|---|---|---|---|---|---|---|---|---|
| Reaction Editor | Reaction Block Summary | Reaction Block Tabs (Main) | Individual Reactions | Reaction Extents | Source / Sink / Heat Exchange | Solving Order - Sequential or Simultaneous | Energy Balance | Heat of Reaction / Heat of Dilution / Partial Pressures |
Related Links: Solver
Reaction Solving Order
By default, reactions will be solved SEQUENTIALLY in the order that they appear in the reaction file. However, the user can cause reactions to be solved SIMULTANEOUSLY by using sequence numbers on the Options tab. Both of these methods of solution have their advantages and disadvantages, and hence the user must decide which method suits the modelling requirements.
Advantages and Disadvantages
- Generally a reaction block containing Sequential reactions will solve faster and is more efficient.
- Sequential Reactions can use products from previous reactions.
- Simultaneous Reactions cannot use products from other reactions with the same or a higher sequence number.
- When using Sequential Reactions users can use a source to provide 'recycle' species.
- A 'Recycle' species is one that is consumed by some reactions and produced by other reactions. Often the user will have to place the reactions that use the recycle species before (lower order) the ones that produce it (higher order). Products from reactions with a higher order are NOT available to reactions that are lower order. However, if the user inserts a source of the recycle species, then SysCAD ensures that the recycle species from higher order reactions IS available to lower order reactions. This does NOT work for Simultaneous reactions.
- When defining simultaneous reactions, users can specify multiple reactions using extent types such as Final Conc, Final Frac, Equilibrium, or Ratio, all within a single sequence number. These reactions will be solved concurrently, yielding the correct ‘final’ extent at that sequence step. In the case of sequential reactions, extent types like Final Conc, Final Frac, Equilibrium, or Ratio should only be used for the last reaction in the reaction file. If these reaction types are applied to more than one reaction, the ‘Final’ extent is only accurate for that specific reaction step. Any subsequent reaction may cause the concentration to deviate from the value calculated in the previous step.
- If a number of reactions use the same reagent and there is insufficient reagent to satisfy all of the requirements then the following will occur:
- With Sequential reactions the first reaction will use as much of the reagent that it requires, any that is left over is available for the next reaction and so on. So, the first reactions may achieve their required extents and subsequent reactions may be completely starved.
- With Simultaneous reactions the reagent is distributed proportionality amongst the reactions based on the molar requirements of each reaction.
Sequential Reactions
Example 1
Consider the following reactions:
# Formula Extent 1 A + B ➔ C + D Fraction A = 0.5 2 E + F ➔ G + H Fraction E = 0.1 3 C + J ➔ F + K + L Fraction C = 0.9
- These three reactions will occur in order as they are added in the Reaction Editor - First Reaction 1, then 2 and lastly 3.
- Products from previous reactions are available as reactants for subsequent reactions - e.g. Product C from reaction 1 is available as a reactant in reaction 3.
- Products from subsequent reactions will NOT be available for previous reactions - e.g. Product F from reaction 3 will not be available as a reactant in reaction 2. Therefore, rather use the reactions in the following order:
# Formula Extent 1 A + B ➔ C + D Fraction A = 0.5 2 C + J ➔ F + K + L Fraction C = 0.9 3 E + F ➔ G + H Fraction E = 0.1
Now, product C from reaction 1 is available as a reactant for reaction 2 and product F from reaction 2 is available as a reactant for reaction 3.
(Please see the Sequential Reaction Examples below for more hints and tips on reactions)
Example 2
Defining Reaction Extents for Reactions involving the same reactant:
# Formula Extent 1 C(s) + O2(g) = CO2(g) Fraction C(s) = 0.98 2 2C(s) + O2(g) = 2CO(g) Fraction C(s) = 1.00
In the above set of reactions, we want to convert all the carbon by burning with Oxygen. Oxygen is normally in excess so that it will not be the limiting factor. We require a carbon conversion of 98% for reaction 1 and the carbon conversion in reaction 2 to be 2%.
- Reaction 1 will be occur first, converting 98% of the carbon to CO2(g) and leaving 2% available for reaction 2.
- When defining the reaction extent for reaction 2, the user must specify an extent of 100%.
- Therefore, at the end of this reaction set, 100% of the carbon will have been reacted, in the required proportions.
Note: Compare this with Simultaneous_Reactions.
Simultaneous Reactions
Reactions can occur simultaneously if they are assigned the same sequence number.
The following algorithm is used for series of reactions with the same sequence number (i.e. Simultaneous Reactions):
- Consider each equation separately and determine maximum extents based on user extent specifications and species availability.
- Calculate total species requirements for all equations, and determine (available/required) ratios for all species.
- Carry out all reactions containing the species corresponding to the lowest ratio. Eliminate these reactions from the equation list.
- Repeat steps 2 & 3 until all reactions have been eliminated.
- Go on to the next sequence block.
Notes:
- When specifying the sequence number for any reaction in the list, the user MUST make sure the first reaction also has a sequence number defined. If not, SysCAD will generate an error message and will not proceed.
- It is not necessary to specify the sequence number for each reaction as once a sequence number has been specified, all the following reactions are assumed to be at the same sequence unless a new sequence number is found.
- Reactions with the same sequence number will be solved simultaneously.
- Reactions with the lowest sequence are solved first.
Example 1
The following set of reactions are all defined as Sequence 1:
# Formula Extent Sequence Sequence 1 1 A + B ➔ C + D Fraction A = 0.5 1 2 E + F ➔ G + H Fraction E = 0.1 1 3 C + J ➔ F + K + L Fraction C = 0.9 1
- The above three reactions will all occur simultaneously.
- Products from any of the reactions will not be available as reactants in reactions in the same set of simultaneous reactions.
- The amount of C available for reaction 3 will be purely from the feed - it will NOT include the amount generated in the reaction 1.
- Therefore, if there is no C in the feed, reaction 3 will not proceed at all.
If the user wants to include the product C from reaction 1 in reaction 3, then reaction 1 must have different sequence number, as shown in the example below:
Example 2
The above reaction set with different sequence numbers:
# Formula Extent Sequence Sequence 1 1 A + B ➔ C + D Fraction A = 0.5 1 Sequence 2 2 E + F ➔ G + H Fraction E = 0.1 2 3 C + J ➔ F + K + L Fraction C = 0.9 2
- Reaction 1 will occur first, producing products C and D.
- Then Reactions 2 and 3 will occur simultaneously.
- In this case, reactant C in reaction 3 = C in FEED + product C from Reaction 1.
Example 3
Defining Reaction Extents of SIMULTANEOUS Reactions involving the same reactant:
# Formula Extent Sequence Sequence 1 1 C(s) + O2(g) = CO2(g) Fraction C(s) = 0.98 1 2 2C(s) + O2(g) = 2CO(g) Fraction C(s) = 0.02 1
In the above set of reactions, we want to convert all the carbon by burning with Oxygen. Oxygen is normally in excess so that it will not be the limiting factor. We require a carbon conversion of 98% for reaction 1 and the carbon conversion in reaction 2 to be 2%.
- Set reaction 1 conversion extent to be 98%
- Set reaction 2 conversion to be 2%.
- Because the reactions are solved simultaneously, the total conversion = 98% + 2% = 100%.
Note: Compare this with Sequential Reactions.
Examples
Sequential Reactions
Below are some examples of sequential reactions:
Example 1
Consider the following set of equations:
# Formula Extent 1 B + A ➔ C Fraction B = 0.6 2 B + D ➔ F Fraction B = 0.9 3 B + E ➔ G Fraction B = 1.0
Assuming that there is no shortage of reactants A, D or E, and the Feed contains 100kg of B, then the amount of B reacted in each reaction is:
# Calculation Mass B Reacted Mass B Remaining 1. 100kg * 0.6 = 60kg 40kg 2. 40kg * 0.9 = 36kg 4kg 3. 4kg * 1.0 = 4kg 0kg
Example 2
Now consider a set of reactions where one reagent is consumed and then generated:
# Formula Extent 1 A + H ➔ B + L Fraction A = 0.6 2 C + H ➔ D + L Fraction C = 0.9 3 B + F ➔ H + G Fraction D = 0.7
- Reagent H is required for reactions 1 and 2 to proceed.
- A product from reaction 1 is used in reaction 3 to generate reagent H.
- The mass of product H generated in reaction 3 is NOT available for reactions 1 and 2.
This could cause problems where reagent H is controlled based on the amount, or concentration, or H in the final product. Because H is generated by reaction 3, but this is not available to reactions 1 and 2, the amount of H in the final product may be the required value, but reactions 1 and 2 are starved of H.
In this case, adding a 'Source' of H will ensure that reactions 1 and 2 are never starved and when the model is converged the amount of H added in the Source will be zero - since the controller will ensure that sufficient H is added externally.
The reaction file required is:
# Formula Extent 1 Source H 2 A + H ➔ B + L Fraction A = 0.6 3 C + H ➔ D + L Fraction C = 0.9 4 B + F ➔ H + G Fraction D = 0.7
Simultaneous Reaction
Below are some examples of how the model determines the extent of reaction: We are processing a number of Ore species (Or1, Or2, Or3) with reagents (Re1, Re2, Re3) to produce products. (Pr1, Pr2, Pr3) etc. Our target is to react 100% of each ore species. Each reaction will use one or more of the reagents - and we want to examine how SysCAD apportions the reagents when the reactions are starved of some or all of these.
Example 1
Consider the following set of equations with a single common reagent:
1. Or1 + Re1 ➔ P1 2. Or2 + Re1 ➔ P2 3. Or3 + Re1 ➔ P3
Assuming the available quantity in moles to react (product of number of moles and extent) are 20 Or1, 6Or2, 1Or3, 21 Re1. The maximum extents, considering each reaction individually, would be:
1. 20 Or1 + 20 Re1 ➔ Products 2. 6 Or2 + 6 Re1 ➔ Products 3. 1 Or3 + 1 Re1 ➔ Products
The total requirement for B would be 27. Component B should be apportioned as follows:
1. (21/27) * 20 = 15.5 2. (21/27) * 6 = 4.7 3. (21/27) * 1 = 0.8 4. TOTAL = 21.0
We can describe the extents of the reactions as follows: the molar transfers for the reactions are [math]\displaystyle{ \xi_i }[/math] and this gives us an initial region in 3D space with [math]\displaystyle{ [0 \le \xi_1 \le 20, 0 \le \xi_2 \le 6, 0 \le \xi_3 \le 1] }[/math] The constraints on the ores give a rectangular block with , then the constraint on the reactant [math]\displaystyle{ \xi_1+\xi_2+\xi_3\le 21 }[/math],"chops off" a corner of this block, creating a simplex. If our target (in this case [20, 6, 1]) lies outside this region we can't achieve all the extents simultaneously and we need to reduce the extents. Here we just reduce all the extents by a common fraction until we end up with a point on the surface of the simplex.
Example 2
Now consider a set of equations where each reaction competes for more than one reagent - we have 15 Re2 available.
1. Or1 + Re1 + 0.5 Re2 ➔ Products 2. Or2 + Re1 + 2 Re2 ➔ Products 3. Or3 + Re1 + Re2 ➔ Products
Total requirements are 27Re1 and 23Re2. The ratios (21/27) = 0.778 and (15/23) = 0.651 are compared, and the lowest number is applied to each maximum extent equation to give the final results.
The constraint on the second reagent is [math]\displaystyle{ \xi_1/2+2\xi_2+\xi_3\le 15 }[/math] chops off another chunk and our simplex now looks like this:
Again, we reduce the extents by a common ratio until we the surface of the simplex (the blue dot on the magenta facet). Note that there is some R1 remaining since the extents are less than in the previous example where we only had a single reagent constraint.
Example 3
The following case gets more complicated, with three reactions competing for three reagents.
1. Or1 + Re1 + 0.5 Re2 ➔ Products 2. Or2 + Re1 + Re3 ➔ Products 3. Or3 + 4 Re2 + 100 Re3 ➔ Products
Available are 20 Or1, 6 Or2, 1 Or3, 20 Re1, 12 Re2, 100 Re3. The maximum extents are:
1. 20 Or1 + 20 Re1 + 10 Re2 ➔ Products 2. 6 Or2 + 6 Re1 + 6 Re3 ➔ Products 3. Or3 + 4 Re2 + 100 Re3 ➔ Products
The ratios for the species are:
Re1: (20/26) = 0.769 Re2: (12/14) = 0.857 Re3: (100/106) = 0.943
The ratio chosen for equation (1) will be the lowest of Re1 and Re2 (i.e. Re1). The ratio for (2) will be the lowest of Re1 and Re3 (i.e. Re1) and the ratio for (3) will be the lowest of Re2 and Re3 (i.e. Re3).
Note, however, that both Re2 and Re3 will be consumed in equations (1) and (2), thereby changing the possible extent of (3). It is necessary to carry out all reactions limited by Re1 first, then reassess the components available for (3). In this case, Re2 will be in slight excess, and the ratio for Re3 will increase to 0.954.
There are now three reagent constraints, and the process described above is illustrated here. We perform reaction 1 first, then reaction 2 and have now used all Re1. Reaction 2 has used some Re3, and we use the remainder in reaction 3, ending up at the red dot.
Summary
This discussion shows that allocating reagents to a starved set of reactions is essentially a geometric problem. We want to find a point on a surface which is "closest" (in some sense) to our target, which lies outside the surface. There is no one solution to this problem since the answer depends on the "metric" which measures distance in a multidimensional space. We can measure this in many ways, for example total molar transfer or total mass transfer, which may give different answers. If we aim at maximizing total mass transfer, this will prioritize reactions which transfer high molecular weight species.
Another approach is to assign a rate to each of the reactions: some reactions will proceed faster, thus use up reagents first. This effectively changes the direction in n-dimensional space at which the reactions proceed so that it may intersect the simplex at a different point.
In practical terms, the problem is one that can be formulated using linear algebra along with optimization tools such as linear or quadratic programming. The linear programming Simplex algorithm solves the following problem
- maximize [math]\displaystyle{ \mathbf{c^T} \mathbf{\xi} }[/math]
- subject to [math]\displaystyle{ A\mathbf{\xi} \leq \mathbf{b} }[/math] and [math]\displaystyle{ \mathbf{\xi} \ge 0 }[/math]
In our problem [math]\displaystyle{ \mathbf{c} }[/math] represent weights on the individual reaction extents, and [math]\displaystyle{ \mathbf{A, b} }[/math] characterize the reagent abundance constraints
Applying the Simplex algorithm to the last example finds the black dot which uses all the available reagents.