CSTR with Heat
Transfer
Lets look at the illustrative case of a liquid-phase irreversible, elementary reaction,
A à B, where –rA = kCA =koExp[-EA/RT]
From Stoichiometric table, and assuming liquid volume does not change with conversion or temperature, CA = CAO(1-X), and
-rA = koCAO(1-X)Exp[-EA/RT]
For a CSTR, the design equation (mass balance in terms of conversion) is:

Given a reactor volume, inlet conditions and requisite kinetic parameters, we can rewrite the mass balance to solve conversion, as a function of temperature, recognizing that
, and ![]()
Then the design equation, or mass balance, gives us the following conversion-temperature relationship, written below in terms of X = fn(T).
, or
(1)
For a CSTR with a Heat Exchanger (where the coolant temperature is constant), the energy balance gives us the following conversion-temperature relationship, written below in terms of X = fn(T).
(2)
Thus, we have two unknowns, and two equations. For the relatively simple case of an irreversible, unimolecular, elementary reaction, the design equation (mass balance) and energy balance can be equated, to cancel out the conversion term, as follows:

This equation can be solved for reaction temperature, given values for reaction kinetics (EA, ko), thermodynamics (DCp, DHrxn), reactor operation (t, FAO), and heat addition/removal parameters (Ta, U, A). Once the reaction temperature is solved, use either the design equation or the energy balance to obtain the corresponding conversion.
In the textbook, Fogler employs the above example to illustrate steady-state multiplicity for the case of an exothermic chemical reaction. (It is worthwhile to note that there is no multiplicity for the case of an endothermic reaction. An illustration of this is shown elsewhere).
For more complex (and realistic) rate expressions, it may be easier to iteratively solve for the conversion which satisfies both the mass and energy balance. We illustrate this in the following example, and then use the resulting solutions to demonstrate steady-state multiplicity.
Example: Multiplicity in an Exothermic CSTR
Lets revisit the exothermic combination of hydrogen and carbon monoxide from syn-gas to form methanol. The overall reaction is written as:
CO + 2 H2 à CH3OH
And can be approximated as an elementary reaction, such that the rate expression (assuming irreversible reaction, as written above) is:
![]()
Where
, ko = 5.7x1010
L2.mol-2.sec-1, EA = 100.5 kJ/mol
The Thermodynamics of reaction species are (From Felder & Rousseau)
|
Species |
Cp(J/mol.K) |
Hf (kJ/mol)
at 298K |
|
CO |
29 |
-110.5 |
|
H2 |
28.8 |
0 |
|
CH3OH |
43 |
-201.2 |
We can then calculate the change in thermodynamic properties (Enthalpy and heat capacity) upon reaction, using stoichiometry.
DCprxn = 1*43 – 2*28.8 – 1*29 = -14.8 J/mol.K
DHrxn = -201.2 – 2*0 – 1*(-110.5) = -80.7 kJ/mol.K
For a CSTR with heat removal via cooling jacket or cooling coil (assuming constant coolant temperature) the energy balance yields the following conversion vs. temperature dependency:
![]()
We can write a general stoichiometric table for this reaction system, accounting for the presence of inert diluent, I.
|
Species |
Initial |
Change |
Final |
|
CO |
|
|
|
|
H2 |
|
|
|
|
CH3OH |
|
|
|
|
Inert |
|
0 |
|
|
Total |
|
|
|
If we assume that everything is ideal gas, then concentration = moles/volume, and accounting for changing volume with temperature and conversion, (Pressure is constant, or pressure drop defined by momentum balance, e.g. Ergun equation)

Our concentrations for each species can then be calculated from stoichiometric table, in terms of conversion, pressure and temperature



We can substitute these terms into the rate expression, as follows:

Thus, for a given temperature, we can calculate the rate of reaction. From the design equation for a CSTR, the rate of reaction is related to conversion via
, or
. Substituting these two equations together yields the
following non-linear equation for obtaining conversion at a given temperature:

This can solved numerically (using goal seek in Excel, or
any minimization alogorithm in polymath or matlab, or by hand in Fortran or
C++, etc.) to find conversion at any given temperature.
We’ll use the following inlet conditions:
And we’ll assume a reactor volume of 230 liters.

For a given value of reactor temperature, T, use goal-seek
or
![]()
Likewise, for a given reactor temperature, the rate of heat removal can be calculated from the inlet temperature and cooling characteristics (coolant temperature, surface area, heat-transfer coefficient), as follows:
![]()
The cooling coil has the following properties:
This second relationship is a straight line, with the slope being a function of fluid thermal properties and cooling characteristics. The intercept of this line is a function of either the inlet feed temperature or the coolant temperature – in short, a quick way to manipulate the reactor temperature is by changing one or both.
Using excel, one can generate conversion-temperature values, and corresponding heat removal and generation values.
|
T |
X |
G(T) |
R(T) |
|
273.15 |
0 |
9.4e-7 |
-5.8e4 |
|
373.15 |
0 |
5.3e-2 |
-3.9e4 |
|
473.15 |
0.00027 |
25 |
-2.0e4 |
|
573.15 |
0.01275 |
1.2e3 |
-7.0e2 |
|
673.15 |
0.153 |
1.5e4 |
1.8e4 |
|
735 |
0.3713 |
3.6e4 |
3.0e4 |
|
743.15 |
0.402 |
3.9e4 |
3.2e4 |
|
773.15 |
0.507 |
5.0e4 |
3.8e4 |
|
803.15 |
0.595 |
5.8e4 |
4.3e4 |
|
823.15 |
0.643 |
6.3e4 |
4.7e4 |
|
853.15 |
0.702 |
6.9e4 |
5.3e4 |
|
873.15 |
0.732 |
7.3e4 |
5.7e4 |
|
903.15 |
0.771 |
7.7e4 |
6.3e4 |
|
923.15 |
0.791 |
7.9e4 |
6.6e4 |
|
953.15 |
0.817 |
8.2e4 |
7.2e4 |
|
1003.15 |
0.849 |
8.6e4 |
8.2e4 |
|
1103.15 |
0.890 |
9.1e4 |
1.0e5 |
|
1203.15 |
0.915 |
9.5e4 |
1.2e5 |
|
1303.15 |
0.930 |
9.8e4 |
1.4e5 |
|
1403.15 |
0.940 |
1.0e5 |
1.6e5 |
|
1503.15 |
0.948 |
1.0e5 |
1.8e5 |
|
1603.15 |
0.953 |
1.0e5 |
2.0e5 |
|
1703.15 |
0.957 |
1.1e5 |
2.2e5 |
|
1803.15 |
0.961 |
1.1e5 |
2.3e5 |
|
1903.15 |
0.963 |
1.1e5 |
2.5e5 |
|
|
|
|
|
If we plot these two curves, we see that there are three steady-states, where heat removal is equal to heat generation.

All three are possible – however only two are stable. Which steady-state is occurring within the reactor depends on how it is started up.
Start Up and Light-Off
Lets say the reactor initially has an inlet feed temperature of 298.15K. Solving for R(T) and G(T), as before, yields the following two lines, plotted together to spot the steady-state.
![]()

We can see that there is only one intersection, or steady-state. This occurs at zero conversion. A nice stable starting point… Lets then increase the feed temperature to 398.15K. The G(T) curve does not change – it is a pure function of the kinetics and the reactor volume and feed rate. However, this shifts the heat removal curve to the right.
![]()

Well, there is still only one intersection, at X ~ 0.0. So, this reactor still hasn’t started up yet. Lets continue to raise the reactor temperature by raising the inlet temperature, To, to 573.15 K.

Well,
now there are two intersections. One is at low conversion, the other at significant
conversion (at a significantly higher temperature). But, there is no way this
reactor is going to “jump” from that stable low-conversion steady-state,
because it is stable. So, we’re still stuck at ~ 500oC. So, we
continue to heat the reactor by increasing the inlet temperature to To = 813.15K.
![]()

Now, there are two intersections – both are stable-steady states. Since we’re heating up, and therefore climbing up the G(T) curve, our reactor will be operating around 673.15K, at the lower steady-state. But, if we increase the feed temperature just a little bit more, to To = 853.15 K, then the two curves look like this:
![]()

Now, there is only one intersection – only one steady-state. So, our reactor temperature is now an impressive 1100 Kelvin. The reactor has now passed what is termed the “light-off” point, which we can see graphically is a function of both the R(T) slope and the shape of G(T).
At some point in time, we will want to shut down the reactor. Again, a nice way to manipulate CSTR temperature is by decreasing the inlet temperature. If we decrease the inlet temperature to 813.15 Kelvin, the curves look the same as before.

The
only difference is, we are now at the high-temperature stable-steady state (T =
1050 K). Because that steady-state is stable, there is no way the reactor
temperature can jump back down to the cold-temperature steady-state. So, we
have to lower the feed temperature to To
= 553.15 Kelvin.

Now,
we’re at the limit of only two steady-states again (both stable). We’re still
stuck at a high temperature steady-state, but can see from the above plot that
if we shift the heat removal curve any further to the left, then that
high-temperature steady-state disappears entirely, and the reactor has
quenched.
If we kept track of all these solutions at each inlet temperature in a table,
|
To |
T |
|
298 K |
367 K |
|
398 K |
412 K |
|
573 K |
500 K |
|
813 K |
673 K |
|
853 K |
1100 K |
|
813 K |
1050 K |
|
553 K |
853 K |
|
398 K |
412 K |
![]()

![]()
![]()
![]()
![]()
![]()

You can also view an animation of this process here (windows mediaplayer)