<<

CALCULATING LIMITS TO PRODUCTIVITY IN REACTOR-SEPARATOR

SYSTEMS OF ARBITRARY DESIGN

DISSERTATION

Presented in Partial Fulfillment of the Requirements for

The Degree Doctor of Philosophy in the Graduate School of

The Ohio State University

By

Yangzhong Tang, B.S.

* * * * * *

The Ohio State University

2005

Dissertation Committee: Approved by

Dr. Martin R. Feinberg, Adviser

Dr. James F. Rathman Adviser Graduate Program in Dr. Bhavik R. Bakshi

ABSTRACT

This thesis aims to solve the following major problem in the process synthesis

area of chemical engineering: Given a network of chemical reactions with its associated

kinetics, given certain available resources such as the catalyst mass, given specific feed rates, given permissible temperature and pressure ranges within reactor units, and given

certain environmental constraints, what is the maximum production rate that can be

achieved for a certain desired species over all possible steady-state reactor-separator systems consistent with those specifications?

The most difficult part in solving this problem is the huge varieties of the reactor- separator configurations that can be applied in the process. Besides the classical types of reactors that are widely known (i.e. continuous flow stirred tank reactors or plug flow reactors), there could be reactors that are beyond our imagination. So on top of the complexity already present in consideration of the great variety of already-existent reactor-separator systems, one must also allow for consideration of the as-yet-unknown types of reactors.

ii While it seems that it is almost impossible to solve the problem, an idea called the

CFSTR Equivalence Principle for Reactor-Separator Systems was provided in 2001 by

Feinberg and Ellison as a very important tool. This principle says that to sort out all attainable effluents, it suffices to look at an exceptional design in which the only reactors are continuous flow stirred tank reactors (CFSTRs) whose number is determined by the network of chemical reactions. So the search for the maximum production rate of a certain desired species can be carried out among different variations of this CFSTR-only design rather than among the vast spectrum of different combinations of many types of reactors and separators.

However, the CFSTR Equivalence Principle only serves as a theoretical tool for the problem. What this thesis tries to do is to provide concrete implementation methods, based on the principle, for searching the kinetic bounds on productivity for stipulated resources and specified process constraints. Five linear methods and one nonlinear method are explored for this purpose and a software package called Productivity Limit

Calculator (PLC) is developed with all these methods imbedded.

Case studies are carried out by using the software package both for academic test examples and for more practical . It can be seen that in general the nonlinear method is better than the linear methods in performance. The nonlinear method uses a commercial-grade solver for the search of the maximum production rate. It gives good results for both large and small-sized problems. Although linear methods are only

iii good for small-sized problems, they do not depend on any commercial-grade solver, and their underlying algorithms are freely available. For this reason, the linear methods are useful in educational settings.

Besides searching for the kinetic bounds on productivity in reactor-separator

systems of arbitrary design, the software also provides means to examine certain

theoretical questions. In particular, it becomes possible to examine how changes in

available reactor capacity or how tightening of environmental constraints affect the

maximum possible production rate of some desired chemical species. These issues are

examined in the context of two examples.

iv

DEDICATED TO MY PARENTS

v

ACKNOWLEDGMENTS

I would like to express my deepest appreciation to my advisor, Dr. Martin R.

Feinberg, for his advice and guidance throughout my research period. I would also like to thank him for his patient criticism during the writing of this thesis. Working with Dr.

Feinberg has been the most challenging and rewarding experience in my life. He has inspired me in many different ways. Besides being an advisor, Dr. Feinberg is also like a father to me for all these years with his support and encouragement.

My group-mate Thomas Abraham has always been very nice and helpful. It is amazing that he knows so many things besides chemical engineering that I always went to seek answers from him in the first place. Now that he graduated recently and got a job,

I wish him and his families all of the best.

Finally, I am grateful to Chemical and Biomolecular Engineering Department at

The Ohio State University and United States National Science Foundation for their financial supports of my doctoral studies.

vi

VITA

June 25, 1978…………………………… Born – Zhuzhou, Hunan, China

2000…………………………………….. B.S., Control Science and Engineering,

Zhejiang University,

Hangzhou, Zhejiang, China

2000 – 2004…………………………….. Department Fellow,

Chemical Engineering,

The Ohio State University,

Columbus, OH

2004 – 2005…………………………….. Graduate Research Associate

Chemical Engineering,

The Ohio State University,

Columbus, OH

FIELDS OF STUDY

Major Field: Chemical Engineering

vii

TABLE OF CONTENTS

Page

ABSTRACT...... ii

DEDICATION...... v

ACKNOWLEDGMENTS ...... vi

VITA...... vii

LIST OF FIGURES ...... xii

LIST OF TABLES...... xiv

LIST OF ABBREVIATIONS...... xvi

NOMENCLATURE ...... xvii

Chapters:

1. INTRODUCTION ...... 1

1.1 A Big Question in Chemical Engineering ...... 1 1.2 Current Progress in Process Synthesis...... 2 1.2.1 Progress in the Pure Reactor Synthesis Area...... 3 1.2.1.1 Geometric Approach...... 3 1.2.1.2 The Superstructure and Mixed-integer Nonlinear Programming Approach7 1.2.1.3 Target-based Approach...... 10 1.2.1.4 Stochastic Optimization Approach and Other Approaches ...... 11 1.2.2 Progress in the Reactor-Separator Synthesis Area...... 12 viii 1.3 Finding Kinetic Bounds on Productivity in Reactor-Separator Systems of Arbitrary Design ...... 16 1.3.1 Addressing the Problem...... 16 1.3.2 An Important Conceptual Tool  The CFSTR Equivalence Principle for Reactor-Separator Systems ...... 21 1.3.3 Beyond the Theory  One Step Further ...... 24 1.4 Summary of Chapter 1...... 25

2. THE CFSTR EQUIVALENCE PRINCIPLE FOR REACTOR-SEPARATOR SYSTEMS...... 27

2.1 Some Preliminaries...... 28 2.1.1 A Few Mathematical Preliminaries ...... 28 2.1.2 Stoichiometric and Kinetic Preliminaries ...... 29 2.2 The CFSTR Equivalence Principle for Reactor-Separator Systems...... 32 2.3 Applying the CFSTR Equivalence Principle to Find the Kinetic Bounds on Productivity in Reactor-Separator Systems of Arbitrary Design...... 37 2.3.1 A Few More Mathematical Preliminaries...... 37 2.3.2 How the CFSTR Equivalence Principle Provides Kinetic Bounds...... 39 2.3.3 Constraint Set Ω...... 40 2.3.4 The Role of the CFSTR Equivalence Principle in Finding the Kinetic Bounds ...... 44 2.3.4.1 The CFSTR Equivalence Principle Characterizes the Attainable Effluent Rate Vectors...... 44 2.3.4.2 Another Equivalent Form of Expressing the Attainable Effluents ...... 48 2.3.4.3 Applications of the Two Forms ...... 49 2.3.4.3.1 Application 1: How to Tell If a Molar Effluent Rate Vector is Attainable? ...... 49 2.3.4.3.2 Application 2: Finding the Maximum Productivity without Environmental Constraints...... 50 2.3.4.3.3 Application 3: Finding the Maximum Productivity with Environmental Constraints...... 52 2.4 Summary of Chapter 2...... 55

ix 3. IMPLEMENTATION METHODS FOR SEARCHING FOR KINETIC BOUNDS ON PRODUCTIVITY IN REACTOR-SEPARATOR SYSTEMS OF ARBITRARY DESIGN...... 56

3.1 A Sample Problem...... 57 3.2 The General Problem...... 64 3.2.1 Statement A...... 68 3.2.2 Statement B...... 70 3.3 Linear Methods...... 72 3.3.1 The Qhull Once Algorithm ...... 74 3.3.1.1 Some Preliminaries ...... 74 3.3.1.1.1 Introduction to Qhull...... 74 3.3.1.1.2 The Stoichiometric Subspace...... 79 3.3.1.2 Implementation of the Qhull Once Algorithm...... 85 3.3.1.2.1 First Step: Discretization of the Constraint Set Ω...... 87 3.3.1.2.2 Second Step: Computation of the Convex Hull from Ω* ...... 98 3.3.1.2.3 Third Step: Finding the Maximum Production Rate...... 104 3.3.1.2.4 Summary of the Qhull Once Algorithm...... 110 3.3.2 The Qhull Twice Algorithm...... 112 3.3.3 The Linear Programming (LP) Only Algorithm...... 116 3.3.4 The Qhull Once + Linear Programming Algorithm ...... 120 3.3.5 The Multi-stage Linear Programming Algorithm...... 124 3.3.6 Summary of All Linear Methods ...... 126 3.4 A Nonlinear Method ...... 128

4. A SOFTWARE PACKAGE: THE PRODUCTIVITY LIMIT CALCULATOR...... 132

4.1 Demonstration of the Software Package by the van de Vusse Example ...... 132 4.2 Efficient Computation in the Nonideal Gas Mixture Case...... 145

5. CASE STUDIES...... 153

5.1 The van de Vusse Example Revisited...... 154 5.2 Other Network Examples...... 157 5.3 Summary of the Discussions Based On the Results of the Previous Examples ... 179 x 5.4 Practical Examples...... 181 5.4.1 Cumene Production...... 181 5.4.2 Allyl Chloride Production...... 187 5.4.3 Acrylic Acid Production ...... 193 5.4.4 Phthalic Anhydride Production...... 199 5.5 Summary of All Case Studies...... 205

6. CONCLUSION AND FUTURE RESEARCH WORK ...... 207

6.1 Conclusion ...... 207 6.1.1 An Important Conceptual Tool – The CFSTR Equivalence Principle ...... 209 6.1.2 Different Algorithms in the Software Package Productivity Limit Calculator ...... 211 6.2 Suggested Future Research Work...... 212 6.2.1 Effect of the Environmental Constraint on the Productivity Limit...... 213 6.2.2 Effect of the Reactor Capacity on the Attainable Region...... 221 6.2.3 Sensitivity of the Result to Errors from Different Sources...... 224 6.2.4 True Maximum ...... 224 6.2.5 Improving the Current Design ...... 225

REFERENCES ...... 226

xi

LIST OF FIGURES

Figure Page

1.1 A chemical process with an unspecified design…………………………………. 19

1.2 Varieties of reactor-separator systems…………………………………………… 20

2.1 Illustration of the CFSTR Equivalence Principle………………………………... 34

2.2 Illustration of convex hull………………………………………………………... 38

2.3 The CFSTR-only design…………………………………………………………. 45

3.1 A 4-CFSTR design for the van de Vusse network……………………………….. 59

3.2 A (s+1)-CFSTR design for the general case……………………………………... 66

3.3 A five-point input to Qhull………………………………………………………. 75

3.4 Output of Qhull for the five-point input…………………………………………. 77

3.5 Four points given in R3 live in a 2-d subspace…………………………………... 78

3.6 Illustration of the Qhull Once Algorithm………………………………………… 87

3.7 Valid (c1, c2) combinations in the shadowed area………………………………... 92

3.8 Illustration of discretization of the concentration vector………………………… 94

3.9 A simple discretization of Ω in the van de Vusse example……………………… 98

3.10 A linear map from S to Rs…………………………………………………….… 100

3.11 Comparison of Qhull Once and Qhull Twice Algorithm………………………..114

xii 3.12 Comparison of Qhull Once + LP and Qhull Twice Algorithm…………………. 121

3.13 Illustration of the Multi-stage Linear Programming Algorithm………………... 126

5.1 Cumene production process diagram…………………………………………… 182

5.2 Illustration of the two types of designs in cumene production…………………. 185

5.3 Cumene production rates at different operating temperatures………………….. 186

5.4 Allyl chloride production process flow diagram……………………………….. 188

5.5 Allyl chloride production rates at different operating temperatures……………. 192

5.6 Acrylic acid production process diagram………………………………………. 194

5.7 Phthalic anhydride production process flow diagram…………………………... 200

6.1 Effect of the M3 constraint on the M4 maximum in the Network Example D

in Section 5.2…………………………………………………………………….215

6.2 Effect of the M3 constraint on the M4 maximum in the van de Vusse example

in Section 5.1…………………………………………………………………….217

6.3 Illustration of possible positions of the critical environmental constraint……… 219

6.4 Attainable regions at different reactor volumes for

the van de Vusse example……….……………………………………………… 221

xiii

LIST OF TABLES

Table Page

3.1 Occurrence rate of each reaction in a small reaction network…………………… 80

3.2 Occurrence rate function of each reaction in a small reaction network………….. 81

5.1 Results for the van de Vusse example…………………………………………...155

5.2 Result for the maximum M4 (mol/s) with no limit on M3 in Network A………..160

5.3 Result for the maximum M4 (mol/s) with limit on M3 to be

less than 0.25 mol/s in Network A……………………………………………… 160

5.4 Result for the maximum M4 (mol/s) with no limit on M3 in Network B……….. 165

5.5 Result for the maximum M4 (mol/s) with limit on M3 to be

less than 0.1 mol/s in Network B…………………………………………….…. 165

5.6 Result for the maximum M3 (mol/s) with no other limit in Network C………....168

5.7 Result for the maximum M3 (mol/s) with limit on M2 to be

less than 0.5 mol/s in Network C……………………………………………….. 168

5.8 Result for the maximum M3 (mol/s) with limits on both M2 and M4

to be less than 0.5 mol/s in Network C…………………………………………. 168

5.9 Result for the maximum M4 (mol/s) with no other limit in Network C………... 169

5.10 Result for the maximum M4 (mol/s) with limit on M3 to be

xiv less than 1.0 mol/s in Network C……………………………………………….. 169

5.11 Result for the maximum M4 (mol/s) with limit on M3 to be

less than 0.1 mol/s in Network D……………………………………………….. 173

5.12 Detailed information of the two CFSTRs which gives

the maximum M4 in Network Example D……………………………………… 175

5.13 Manually calculated results of the effluent rates in Network Example D…….... 176

5.14 Process specifications/constraints for cumene production………………………183

5.15 Critical temperature, critical pressure, and Pitzer acentric factor

of all the involved species in the cumene production case……………………... 185

5.16 Process specifications for allyl chloride production……………………………. 190

5.17 Critical temperature, critical pressure, and Pitzer acentric factor

of all the involved species in the allyl chloride production case……………….. 191

5.18 Feed streams information for acrylic acid production………………………….. 193

5.19 Kinetic information for acrylic acid production………………………………... 196

5.20 Process specifications for acrylic acid production……………………………… 196

5.21 Critical temperature, critical pressure, and Pitzer acentric factor

of all the involved species in the acrylic acid production case…………………. 198

5.22 Process specifications for phthalic anhydride production……………………… 202

5.23 Critical temperature, critical pressure, and Pitzer acentric factor

of all the involved species in the phthalic anhydride production case………….. 203

xv

LIST OF ABBREVIATIONS

AR – Attainable region

CFSTR – Continuous flow stirred tank reactor

DLL – Dynamic link library

DSR – Differential side-stream reactor

LP – Linear programming

MINLP – Mixed-integer nonlinear programming

NLP – Nonlinear programming

PFR – Plug flow reactor

PLC – Productivity limit calculator

xvi

NOMENCLATURE

c composition vector

th ci concentration of the i species conv convex hull

M0 molar feed rate vector

M molar effluent rate vector

M the set of all attainable effluent rate vectors

N number of species in a network

P pressure

Pc critical pressure

Pmin minimum allowable pressure

Pmax maximum allowable pressure r(•,•) volumetric species formation rate vector (or function)

RN N-dimensional vector space

N N R + a part of R where every vector has non-negative components s rank of a chemical reaction network

S stoichiometric subspace

T temperature xvii Tc critical temperature

Tmin minimum allowable temperature

Tmax maximum allowable temperature

T a linear map from the stoichiometric subspace S to space Rs

th vi partial molar volume of the i species

V total reactor volume

V maximum total reactor volume

V interval [0, V ]

ω Pitzer acentric factor

Ω constraint set

Ω* discretized constraint set

xviii

CHAPTER 1

INTRODUCTION

1.1 A Big Question in Chemical Engineering

There has been a long-standing question in the process synthesis area of chemical engineering that remained unsolved, and this thesis attempts to answer it in a general way.

Roughly, the question is: Given a system of chemical reactions with its associated kinetics, given certain available resources (e.g., available feed stream, available catalyst mass), and given certain constraints including the temperature-pressure ranges in the reactor units and applicable environmental constraints, what is the maximum production rate for a certain desirable species over all possible steady-state reactor-separator designs consistent with all these specifications?

There are certain ideas that can be used to bound the production rate. One of them is the stoichiometric limit, derived from the mass balance according to the underlying chemical reaction network. However, the stoichiometric limit does not take into account the kinetic information of the underlying chemical reaction network and the available reactor capacity. Therefore, it cannot provide a sharp production bound for a specified

1 reactor size. This thesis tries to provide a much more precise production limit by considering all factors including the kinetics of the underlying chemical reaction network, the available resources (e.g., the available feed streams, the mass of catalyst used in the reactor), and all other constraints including the temperature and pressure ranges in the reactors and applicable environmental constraints.

By saying all possible steady-state reactor-separator configurations, we are considering not only the traditional reactor types such as the continuous flow stirred tank reactor (CFSTR), the plug flow reactor (PFR), and combinations of these, but also many other types including ones that are even unknown to us at this time. Such a huge selection of reactor-separator systems makes the search for the maximum production rate of a certain desired species extremely difficult and seems almost unsolvable. However, this thesis is going to face the challenge and provide ways to answer this big question in chemical engineering.

Before giving a precise statement of the problem that this thesis tries to solve, it is worthwhile to first review the other related work in the process synthesis area.

1.2 Current Progress in Process Synthesis

For many years scholars from different countries have tried different ways and have achieved a lot in solving problems in and process synthesis. Some of the processes studied involve only reaction and mixing, and some processes involve reaction, mixing, and separation. For those processes involving only reaction and mixing, we call the problem that is associated with them the pure reactor synthesis problem. And

2 for those processes involving reaction, mixing, and separation, we call the related problem the reactor-separator synthesis problem. In the following sections, achievements and progress in these two areas will be summarized.

1.2.1 Progress in the Pure Reactor Synthesis Area

1.2.1.1 Geometric Approach

A new concept called the attainable region (AR) was proposed by F.J.M. Horn in

1960’s for the purpose of trying to study process design from a geometric point of view

(Horn, 1964). Generally speaking, the attainable region is the set of all possible output states of a process (with a specific feed stream) by using all possible designs that can be subject to specified constraints. If the attainable region could be known, the process designers would be able to tell which output is achievable and which is not. For example, by searching on the boundary of the set of all possible steady-state production rate vectors, the maximum production rate of a certain desirable chemical species over all possible steady-state designs could be obtained. And by comparing that maximum production rate with the rate for a candidate design, designers would be able to tell how far the production rate of the candidate design is from the best that could be achieved.

Based on the attainable region idea, Glasser, Crowe and Hildebrandt (1987) tried to find all possible composition vectors that can be achieved from a specified feed composition vector by all processes involving only reaction and mixing, given a chemical reaction scheme and its kinetics. (Here, assuming that there are N species A1, …, AN

3 involved in the chemical reactions, then the attainable region is the set of all composition

N vectors [c1, …, cN] in R achievable from a given feed composition. Here, ci represents the concentration of species Ai, i = 1, …, N.) Only isothermal systems with no density change during reaction and mixing were considered. Some necessary conditions were derived for the attainable region, one of which being that the attainable region must be convex with non-zero reaction rate vectors on its boundary not pointing outward. Based on this necessary condition, Glasser, Crowe, and Hildebrandt (1987) claimed to construct a region in RN that could not be further extended by any combination of plug flow reactors (PFRs), continuous flow stirred tank reactors (CFSTRs), and recycle reactors.

Later, Hildebrandt, Glasser, and Crowe (1990) claimed to construct another region, extending the previous results for isothermal, fixed-volumed systems (Glasser, Crowe and Hildebrandt, 1987) to include adiabatic and variable-density systems. By only considering certain types of reactor systems in segregated, maximum mixed, and other reactor models, Glasser, Hildebrandt, and Godorr (1994) compared the achieved conversions of these proposed reactor systems with the conversions of a broader selection of reactor systems. In a summary about the synthesis of networks with heat integration (Hildebrandt and Biegler, 1995), two approaches were compared. One approach used a reactor superstructure idea to try to find the optimal reactor structure within a reactor superstructure for a certain performance index, which made the problem appear as an optimization problem. (This superstructure idea will be explained more in

Section 1.2.1.2.) Another approach tried to construct the whole attainable region based on a chosen performance target. The second approach was a geometric approach, and it was

4 severely limited by the dimensionality of the problem. Normally only 2- or 3-dimensional problems could be approached in this way. Nevertheless, this geometric approach gave some insight into the general properties of the optimal reactor structures. The first approach, which was based on the superstructure idea, although not as rigorous as the geometric approach, could extend the problems to higher dimensions. In one application,

Nicol, Hildebrandt, and Glasser (1997) used the attainable region technique to search for the optimal process design for an exothermic reaction system with external cooling consisting of two external cooling utilities. The optimal process structure they claimed to find consisted of a CFSTR followed by a PFR, a cold shot converter, and then the two external cooling utilities. In another application of the attainable region idea, the task choosing an optimal reactor structure as well as optimal operating temperature was assisted by looking at the geometry of the boundary of a candidate attainable region

(Godorr et al., 1999). A practical industrial example based on the attainable region idea was studied in the oxidative dehydrogenation of 1-butene in inert porous membrane reactors (Milne et al., 2004). There, a candidate region was proposed in order to search for the optimal process operating conditions like the partial pressure of oxygen. A systematic approach of trying to construct the attainable region was proposed by Rooney,

Hausberger, Biegler, and Glasser (2000). The idea was to build the attainable region from its lower dimensional attainable region projections. And Kauchali et al. (2004) tried to find the attainable region for a -gas shift reaction system.

5

Feinberg and Hildebrandt (1997) studied general properties of the attainable region for all possible steady-state designs that involve only reaction and mixing, given a specified feed and the associated reaction network kinetics. It was found that despite the wide varieties of reactors which could be connected in countless ways, it is always true that manifolds of extreme points on the attainable region’s boundary are made up of PFR composition trajectories. Moreover, CFSTRs and differential sidestream reactors (DSRs) provide ways to access those PFR trajectories. Feinberg (2000) [16] pointed out that critical DSRs whose yields were extreme points on the boundary of the attainable region had to obey a certain rule (or a certain design equation), restricting the addition policy of side streams along the reactor. Later, Feinberg (2000) [17] also studied the critical

CFSTRs whose effluent compositions lie on the boundary of the attainable region.

Similar to the fact that critical DSRs need to obey a certain side stream addition rule, critical CFSTRs need to have certain residence times whose values can be determined by the structure of the underlying chemical reaction network and its associated kinetics. To find the boundary of the attainable region, many efforts have been tried. But most of the methods were to extend the existing set of compositions by further reaction and mixing, which can be called a “build from the inside” technique. As a new idea compared with this “build from the inside” method, Abraham and Feinberg (2004) proposed a “bound from the outside” technique to confine the attainable region by a set of bounding hyperplanes. It has been shown for the classical van de Vusse network (Feinberg and

6 Ellison, 2001) that this bounding-hyperplane method provided a region that tightly confined all attainable compositions. This region appeared to be very close to the previously found region by the “build from the inside” method.

1.2.1.2 The Superstructure and Mixed-integer Nonlinear Programming Approach

The superstructure idea has been widely adapted in the reactor synthesis area.

Generally speaking, a superstructure refers to a set of all possible reactor configurations from various combinations of limited numbers of known-types of reactors (e.g., CFSTRs and PFRs), with the same resources (e.g., feed streams, catalyst mass) and the same process constraints (e.g., temperature and pressure ranges in the reactor units and applicable environmental constraints). Once the superstructure is generated, a search can be conducted to find the optimal reactor configuration within this superstructure aiming at a certain objective. Normally, the search for the optimal reactor configuration (within the superstructure) is modeled as a mixed-integer nonlinear optimization problem

(MINLP) because the objective and some constraints are nonlinear functions of the variables that include integer-typed variables for the numbers of certain types of reactors used in the optimal reactor configuration. A big drawback of the superstructure idea, however, is that it can only encompass a limited number of reactor configurations from limited types of reactors, although the generated superstructure could be fairly big. In other words, no matter how large the superstructure is, it is always a subset of all possible reactor configurations that could be used since it only considers a limited number of

7 reactors and limited types of reactors. Thus, the optimal reactor configuration for the chosen superstructure can only get close to, but does not give the true optimum for a certain objective.

Achenie and Biegler (1986, 1990) proposed a superstructure based nonlinear programming (NLP) formulation for optimally generating a reactor network including certain number and types of reactors as well as complex mixing patterns. And by heat addition/removal in the network, this formulation also included nonisothermal reactors.

The solution of this model gave the optimal reactor structure, the types of reactors that needed to be used, and the amount of heat that needed to be added for the chosen superstructure, allowing for serial and parallel connections of all proposed reactor units.

Based on the general properties of the attainable region for processes involving only reaction and mixing (Feinberg and Hildebrandt, 1997; Feinberg, 2000 [16, 17]), a reactor module that consisted of CFSTRs, PFRs, and DSRs was used to synthesize the optimal reactor network within a superstructure with respect to a certain objective function

(Lakshmanan and Biegler, 1996 [41]). The whole problem thus was formulated as a mixed integer nonlinear programming problem (MINLP). As an application to the mixed integer nonlinear programming based reactor network synthesis, Lakshmanan, Rooney, and Biegler (1999) studied a vinyl chloride production process. Here, vinyl chloride was produced from ethylene, chlorine, and oxygen and the objective of the integrated reactor network synthesis was to minimize the waste production. As a result, a candidate flowsheet based on this objective was proposed.

8

Kokossis and Floudas (1989) proposed a superstructure-based method for reactor network synthesis under isothermal condition. This superstructure included many possible configurations of CFSTRs, PFRs (which were approximated as a cascade of

CFSTRs), and recycle reactors (which were used to deal with different feeding, recycling, and bypassing strategies). Based on this superstructure, the reactor network synthesis problem became a mixed-integer nonlinear programming problem and its solution gave the optimal reactor network relative to the chosen superstructure for a specific objective.

For more complex reactor networks, the superstructure-based reactor network synthesis problem then became a large-scale mixed-integer nonlinear programming problem

(Kokossis and Floudas, 1990). Similar to the isothermal case, Kokossis and Floudas

(1994) [37] studied the reactor network synthesis problem under nonisothermal condition.

The superstructure idea was still implemented here with an additional consideration of the temperature control of the intercooled/interheated reactors. The whole problem was still formulated as a mixed integer nonlinear programming problem and the solution provided the optimal temperature control, the optimal temperature profile, and the optimal reactor network with certain types and sizes of reactor units (CFSTRs, PFRs) etc.

Kokossis and Floudas (1995) also studied a synthesis problem for a chemical process where it involved a complex reaction network and two liquid phases. Some discontinuous aspects related with the operational or/and structural alternatives of the chemical process were considered and those aspects were incorporated in the mixed-integer nonlinear programming problem as discrete variables. Another application of the superstructure

9 idea in the reactor network synthesis problem could also be found in Schweiger and

Floudas (1999). Later, Pahor et al. (2001) used the superstructure approach in an industrial example of allyl chloride production.

1.2.1.3 Target-based Approach

In this section, target-based approaches will be introduced. Here, target refers to a bound on a chosen performance index and targeting refers to finding such a bound.

By modifying and extending a two-part model proposed by Ng and Rippin (1965),

Achenie and Biegler (1988) modeled the reactor synthesis problem as the following two- compartment problem:

(a) Find a bound on the chosen performance index (targeting) irrespective of reactor types and configurations;

(b) Find a reactor network (with certain reactor types and sizes) that could achieve the above target.

By studying a variable residence time distribution and different mixing profiles between segregation and maximum mixedness, Achenie and Biegler (1988) claimed to successfully generate targets for many isothermal/nonisothermal reacting systems.

Balakrishna and Biegler (1992) [6] developed a simpler and more efficient formulation for finding a bound on a chosen performance index of an isothermal system by considering special cases in Achenie and Biegler (1988) and by applying some of the attainable region concepts of Glasser et al. (1987). A targeting model was developed that provided a rich representation of possible reactor configurations. This model was

10 formulated as a dynamic optimization problem and different solution strategies were presented. Meanwhile, a nonisothermal reaction system was studied where a similar target model was developed (Balakrishna and Biegler, 1992) [7]. The difference between this work and the previous work (for the isothermal reaction system) was that here both reaction and energy synthesis were considered. The targeting model was still formulated as a dynamic optimization problem where the temperature, the feed distribution function etc. acted as control parameters. And the solution strategy was to successively extend the reactor network based on the performance index until no further extension could be carried out. Based on targeting concepts, a targeting approach was applied for the synthesis of waste-minimizing process (Lakshmanan and Biegler, 1994) due to an increasing concern on the development of clean and efficient processes. Tradeoffs between the waste minimization and the profit maximization were incorporated in this approach. To improve the existing methods which lacked robustness and only gave local or near optimal solutions, a new optimization method was proposed for the synthesis of nonisothermal reactor networks (Mehta and Kokossis, 2000). This new method focused on targets instead of network design details.

1.2.1.4 Stochastic Optimization Approach and Other Approaches

Marcoulaki and Kokossis (1995) proposed to use the stochastic optimization technique as a new optimization approach for the reactor network synthesis problem.

Some examples were studied with isothermal reaction kinetics. Manousiouthakis et al.

(2004) utilized the properties of the attainable region for the reactor network synthesis

11 problem to create a so-called shrink-wrap algorithm in order to approximate the true attainable region to an arbitrarily accurate degree. For the reactor network synthesis problem where reactors include CFSTRs and PFRs under isothermal steady-state condition, a new method called Infinite DimEnsionAl State-space (IDEAS) approach was proposed by Burri et al. (2002). With this new method, the reactor network synthesis problem was formulated as an infinite dimensional convex optimization problem.

Kauchali et al. (2002) used a linear programming (LP) technique in the attainable region analysis to provide a method in constructing candidate regions using fully connected

CFSTRs of arbitrary non-negative volumes.

1.2.2 Progress in the Reactor-Separator Synthesis Area

Kokossis and Floudas (1991) proposed a systematic approach for the synthesis of reactor-separator-recycle systems. This approach was based on a superstructure idea that was previously studied by Kokossis and Floudas (1989). Here, the superstructure included a limited number of classical reactors (e.g., CFSTRs and PFRs) and separators, and it encompassed all possible interconnections of those units. The whole problem was formulated as a mixed-integer nonlinear programming problem where the objective included both integer and continuous variables, and the objective was subject to a set of nonlinear constraints. Different objectives were studied for the synthesis problem, including the minimization of the annual plant cost, the maximization of the profit, and the traditional optimization of the performance of the reactor-separator system, i.e., the productivity or selectivity. Again, a big drawback of this superstructure idea is that there

12 are only limited numbers and types of reactors considered in the superstructure. So the optimum found within this superstructure is not the true optimum that is relative to all possible steady-state reactor-separator systems.

Balakrishna and Biegler (1993) proposed a unified approach for the simultaneous synthesis of reaction, energy, and separation systems. This method was based on the idea of the previously studied target-based approach for reactor networks (Balakrishna and

Biegler, 1992 [6, 7]) and the objective in this study was to optimize energy management.

The synthesis problem was formulated as a mixed-integer optimum control problem where the control profiles included the temperature profile, the separation profile, and the residence time distribution defined for the network. Also, costs of separations were embedded in the model.

McGregor, Glasser, and Hildebrandt (1997) applied the attainable region idea in a binary component system where a more volatile reactant was converted to a less volatile product in a reaction. A number of systems were examined including a reactor- system, a reactor-stripper-recycle system, and two catalytic distillation systems where one was with recycle and the other was at total reflux. Each system was optimized according to a simple linear cost function. It was found that the optimal reactor- distillation-recycle system was the most economical one among all studied systems. As a revisit to this paper where no cost was considered in finding the optimal reflux ratio, the effect of including the cost for the processes used to control the reflux ratio on the operation conditions and the distillation column structure was studied by Kauchali et al.

(2000).

13 Shah and Kokossis (1997) proposed a novel methodology called conceptual programming. Using only some basic information, this method focused on a chosen performance index of chemical processes based on which a few promising candidate processes were screened out to be further tested by more rigorous models. Some complex reactor-separator systems were studied by this new method that proved to be better than some previously studied technologies such as pure mathematical programming.

Another novel method for the synthesis of reaction-separation systems was proposed by Linke et al. (2000). It combined previous achievements in multiphase reactor network synthesis (Mehta and Kokossis, 1996, 1997, 2000) and the superstructure idea (Kokossis and Floudas, 1989) to solve problems in both isothermal and nonisothermal systems. Later, Linke and Kokossis (2002) proposed a systematic decision-making strategy for optimal multiphase reaction and separation system design.

The synthesis scheme utilized a superstructure that consisted of two generic units: the reactor/mass exchange units and the separation task units. This scheme supported the decision making in both early and late process design stages and it could incorporate the design information gained at the early stage into the superstructure formulation at a later stage. Following this technology, Linke and Kokossis (2003) [46] used the stochastic optimization technology in the synthesis of reaction/separation systems. Two stochastic optimization algorithms, the simulated annealing search and the tabu search, were presented.

14 As a powerful tool for the reactor-separator synthesis problem, a theorem called the CFSTR Equivalence Principle for Reactor-Separator Systems was proposed in

Feinberg and Ellison (2001). Using this conceptual tool, Feinberg and Ellison (2001) studied the general kinetic bounds on productivity and selectivity in reactor-separator systems of arbitrary design. A reaction network called the van de Vusse network was presented as an example to see how the CFSTR Equivalence Principle could be used to find the maximum productivity of a certain desirable species given the feed stream information, the maximum capacity of the reactor units, the underlying reaction network with its associated kinetics, and other constraints including temperature and pressure ranges in the reactor units, and an applicable environmental constraint. The van de Vusse example is, however, a very small problem and the result of this example was found in an analytical way. To find the kinetic bounds on productivity for larger and more complicated chemical reaction networks will require more sophisticated methods, which is one of the main objectives of this thesis.

Although a lot of work has been done in both pure reactor synthesis problem and reactor-separator synthesis problem, some mentioned in the previous paragraphs, there are still problems that await us to solve and to implement, one of which is of the primary concern in this dissertation. The following section 1.3 will give a detailed description of the problem.

15

1.3 Finding Kinetic Bounds on Productivity in Reactor-Separator Systems of

Arbitrary Design

1.3.1 Addressing the Problem

The problem that this thesis is trying to solve is different from any of the problems in the previous work. What distinguishes the work in this thesis from all other work is that this thesis is trying to find the kinetic bounds of all possible effluents for a chemical reaction network with given kinetics over all possible steady-state reactor- separator designs. Speaking of all possible designs, we are looking at not only the traditional types of reactors (e.g., CFSTR and PFR), but also other types of reactors that could be even beyond our imagination. None of the previous work has tried this before because they only consider limited types of reactors, ones that we know.

By “all possible” steady-state reactor-separator systems, we need to clarify certain things before we move any further. Just for practical purposes, should we consider extremely high or extremely low temperatures in the reactor units? Should we consider extremely high or extremely low pressures in the reactors? And speaking of the reactor units, is it reasonable to consider infinitely large volumes or infinitely large amount of catalysts used in the reactors? With these practical constraints in mind, we can see that by

“all possible” steady-state reactor-separator systems, we really mean the set of all steady- state reactor-separator systems in which reactors are not operated under unreasonable temperatures or pressures and the total capacity of the reactors is not infinitely large.

16 (Here, we use the total capacity of a reactor to indicate how “big” a reactor is. It could be thought of as the actual physical size of the reactor, or it could be referred to as the total mass of the catalyst used in the reactor.)

Meanwhile, in almost all chemical processes, environmental impact is one of the concerns besides the productivity and the economics of the process. While trying to increase the production rate of a certain desirable chemical species, the production rate of some environmentally unfavorable species needs to be controlled within a certain limit.

This adds another constraint in addition to the previous constraints including the temperature-pressure ranges in the reactor units and the available reactor capacity.

With all these constraints born in our mind, the question that this thesis tries to answer is stated as follows: Given a system of chemical reactions (or a chemical reaction network) with its associated kinetics, given a specified feed stream, what is the highest production rate of a certain desirable chemical species over all possible steady-state reactor-separator systems of arbitrary design that are consistent with all constraints including the temperature-pressure ranges in the reactor units, the available reactor capacity, and applicable environmental concerns? In other words, what are the kinetic bounds on the productivity in reactor-separator systems of arbitrary design?

The importance of addressing this problem is that the answer to this question provides us an important guideline in designing chemical processes. The reason is that once we know the maximum productivity of a certain desired chemical species for a chemical reaction network over all possible steady-state reactor-separator systems of arbitrary design, we can compare this maximum with the productivity of a candidate

17 design. If the candidate design is economical and at the same time yields a production rate close to that maximum, it means that the candidate design is doing very well. On the other hand, if the candidate design is not very economical and gives a production rate far from the maximum, we might want to take a look at the candidate design and see if we can come up with something better that can yield more of the desired species and cost less at the same time. In other words, knowledge of the maximum production rate of a desired chemical species over all possible steady-state reactor-separator designs provides an important benchmark against which existing designs can be measured.

One thing to keep in mind is that it is not the purpose of this thesis to come up with an economical design for a chemical process. The purpose of this thesis is to tell the best possible yield of a desired chemical species over all possible steady-state reactor- separator systems given the underlying chemical reaction network with its associated kinetics, given the feed stream information, and given the constraints like the temperature and pressure ranges in the reactor units, the available reactor capacity, and applicable environmental constraints. To achieve that best possible yield may require a very costly process. However, knowing the upper limit of how much the desired species can be produced gives designers a picture of where their own designs stand and therefore helps them to make decisions about whether or not they need to consider improving their own designs.

To get a better picture of the problem, let us suppose that we have a chemical process operated at steady state with unspecified design. We can envision this process as a “black box” into which certain feed streams enter and from which certain effluent

18 steams exit, as shown in Figure 1.1. There are N species A1, A2, …, AN involved in the

00 0 reactions. At the “entrance” of the chemical process, we use symbols M12,MM ,..., N to

0 represent the total molar feed rates of species A1, A2, …, AN. (That is, M i ≥ 0 represents the total rate at which moles of species Ai are carried into the process by means of all feed streams.) For convenience, we can define a molar feed rate vector M0 such that

0000 M = [MM12 , ,..., MN ] . Similarly, at the “exit” of the chemical process, we use M1,

M2, …, MN to represent the total molar effluent rates of species A1, A2, …, AN and define a molar effluent rate vector M such that M = [M1, M2, …, MN]. (That is, Mi ≥ 0 represents the total rate at which moles of species Ai are carried out from the process by means of all effluent streams.) Suppose that we know the reactions and the associated kinetics, and we want to know what the highest production rate is for a certain desired chemical species, say, A1, over all possible steady-state reactor-separator systems of arbitrary design, but consistent with broadly specified constraints.

Figure 1.1: A chemical process with an unspecified design.

19 Looking at Figure 1.1, we can see that even if we constrain our thinking to reactor-separator systems under certain temperature, pressure and reactor capacity constraints, there is still an enormously wide range of possible reactor-separator configurations which can be employed in the chemical process. Figure 1.2 shows a small sample of feasible reactor-separator systems.

Figure 1.2: Varieties of reactor-separator systems.

20

Figure 1.2 tells us two things. First, we can consider all kinds of combinations of reactors that we already know. That is, by combining different reactors in different ways we can have hundreds of designs. For example, we can have one single CFSTR, or one single PFR. We can have two CFSTR in series, or we can put them in parallel. Second, besides all the designs we can imagine, there could be something that is even beyond our imagination. And for those unknown reactors, we can continue our game of combining reactors and separators in endless ways. So from the figure, it can be seen that to find out the maximum productivity by examining all possible reactor-separator configurations seems extremely difficult and almost impossible, because the possible combinations of reactors and separators (including knowns and unknowns) are just countless.

1.3.2 An Important Conceptual Tool  The CFSTR Equivalence Principle for

Reactor-Separator Systems

Facing such a difficulty described as above, does that mean that there is no way of knowing the maximum productivity (of a certain desired species) over all possible steady-state reactor-separator configurations? The answer is no. A very important and powerful conceptual tool for leading us out of this dilemma is a theory that creates a

“bypass” to find that maximum. This theory is called the CFSTR Equivalence Principle for Reactor-Separator Systems (Feinberg and Ellison, 2001). By this theory, we no longer need to look at all reactor-separator configurations while at the same time we are

21 able to get the maximum productivity of a certain desired species for any chemical reaction network. We will give details of the theory and explain why this theory can help us to find the maximum productivity in Chapter 2.

Before we get into the details of the theory, there is something to think about.

What, really, gives the breadth of reactor-separator configurations? Let us imagine the situation where no reactor is involved in the process except that only separators are allowed. We can use different types of separators and combine all these separators in whatever way we want. But no matter how complicated the separation system will be, the molar effluent rate vector M will always be the same as the molar feed rate vector M0 because no reaction is involved in the process, so there should be no change of the mole numbers of all species. From this, we can clearly see that it is the variety of reactors that gives the breadth of possible molar effluent rate vectors. And it is mainly the variety of reactors that makes the problem of finding the maximum productivity of the desired species so difficult. Since reactors play a somewhat more important role than separators, we thereby make an important assumption of arbitrary separation ability of the separation system in the CFSTR Equivalence Principle. To make such an assumption is not to make the problem appear simpler. Rather, doing this is to ensure that the bounds of the attainable effluents are as broad as possible, because what can be attained with the existence of arbitrary separations also includes what can be attained from limited separation ability. Therefore, the maximum productivity (of a certain desired species) obtained from the arbitrary separation assumption is the upper limit of all feasible

22

productivity that can be found. (We can also regard the kinetic bounds of what is attainable from the assumption of arbitrary separation ability the theoretical limit of the attainable effluents.)

There is a small issue to address about the arbitrary separation ability. As we have seen in the literature review of some previous work, one branch of process synthesis problem that is the pure reactor synthesis problem studies processes involving only reaction and mixing. However, what we are interested in here is the reactor-separator synthesis problem where separators are not only allowed, they are also presumed to have arbitrary separation ability. It is obvious to see that the difference between these two problems is that one does not use separation at all, and the other uses separation to an arbitrary degree. It might be wondered why we should study the pure reactor synthesis problem when separation is widely used in chemical processes. The reason is that sometimes separation could be very expensive so it is worth knowing the best that can be achieved if no separation is involved. So while separation is commonly used, it does not mean that the pure reactor synthesis problem loses its importance. However, in this thesis we only study the reactor-separator synthesis problem for a couple of reasons. First, since separation is a common practice, why not allow it in our study? Second, what we can get allowing arbitrary separation ability will also include what we can get if no separation is used. In other words, the bound of what is attainable for the reactor-separator synthesis problem is also a bound of what is attainable for the pure reactor synthesis problem. It

23 may not be a sharp bound for the pure reactor synthesis problem. Nevertheless, it gives a coarse estimation and provides some idea at the initial stage of the pure reactor synthesis problem.

1.3.3 Beyond the Theory  One Step Further

We have seen in Section 1.3.1 that the problem that the thesis is trying to solve is to find kinetic bounds on productivity in reactor-separator systems of arbitrary design.

And Section 1.3.2 tells us that the CFSTR Equivalence Principle for Reactor-Separator

Systems is a very important tool to solve this problem. Although the theory provides an idea for solving the problem in general, how to get the actual answers (that is, values of the maximum production rates of the desired species) for individual cases hasn’t been answered. So the most important task of the thesis is to use the idea of the CFSTR

Equivalence Principle to come up with a brand-new practical computational tool for calculating the kinetic bounds on productivity in reactor-separator systems of arbitrary design. It is a big step from having a conceptual tool to having a computational tool that everybody can use (even if the user doesn’t understand the background theory), either for educational purposes or for application to real chemical processes. The importance of having such a computational tool is not only that it can calculate the maximum production rate (of certain desired species) for each individual case, but also that the results from the computational tool can sometimes lead to other important questions and

24 thinking which may not be seen otherwise. In other words, the computational tool is not just for computational purposes, but also has a deeper use in exploring more interesting questions and in making further progresses in the process synthesis area.

1.4 Summary of Chapter 1

A big question in the process synthesis area in chemical engineering has been introduced. That is, given a system of chemical reactions with its associated kinetics, the feed stream information, the available reactor capacity, the allowable temperature- pressure ranges within the reactor units, and applicable environmental constraints, what is the highest production rate of a certain desirable species over all possible steady-state reactor-separator systems of arbitrary design consistent with all the constraints?

To answer this question, there is an available conceptual tool (or theory) that is called the CFSTR Equivalence Principle for Reactor-Separator Systems. However, by the theory itself, the answer to this question can only stay on a conceptual level. Trying to push that answer from the conceptual level to a practical level is what the thesis is mainly about. And the ultimate goal of the thesis is to utilize the idea in the CFSTR Equivalence

Principle to come up with a convenient computational tool that can be used to calculate the kinetic bounds on productivity in reactor-separator systems of arbitrary design.

Having stated the main objective of this thesis, it is time to briefly look at how the contents of this thesis are organized. Chapter 2 will give a detailed explanation of the

CFSTR Equivalence Principle for Reactor-Separator Systems, which is the primary

25 conceptual tool in this thesis for calculating the kinetic bounds on productivity in reactor- separator systems of arbitrary design. From this theory, characterization of attainable effluents will be given in a proposition. After that, several practical implementation methods of finding the kinetic bounds of attainable effluents will be given in Chapter 3.

Based on these methods, a software package is developed to serve as a computational tool to get the productivity limit in the reactor-separator synthesis problem; this will be demonstrated in Chapter 4. By using this software package, we will look at some concrete examples in Chapter 5. At the end of this thesis, conclusions will be given and some future research work will be proposed in Chapter 6.

26

CHAPTER 2

THE CFSTR EQUIVALENCE PRINCIPLE FOR REACTOR-

SEPARATOR SYSTEMS

We already mentioned in Chapter 1 that to find the kinetic bounds on productivity of a certain desired species for a chemical reaction network over all possible steady-state reactor-separator systems is difficult and almost impossible if the way to do this is to enumerate and examine all possible reactor-separator configurations. And we also mentioned that there is an available conceptual tool that can be used to solve this problem.

The conceptual tool (or theory) is called the CFSTR Equivalence Principle for Reactor-

Separator Systems. Basically, what the theory says is that it is not necessary to look at all specific designs to find out the kinetic bounds of the attainable effluent rates given a chemical reaction network with its associated kinetics, the feed stream information, and other information including the temperature-pressure ranges in the reactor units, the available reactor capacity, and the environmental constraints, if there are any. Rather, the theory proves that, for the sole purpose of getting that kinetic bound, it suffices to look at

27 a surprisingly small class of reactor configurations. What that small class of reactor configurations is, why and how it can give the kinetic bounds on the productivity will be explained later in this chapter in detail.

Before explaining the theory, there are some preliminaries that need to be introduced.

2.1 Some Preliminaries

2.1.1 A Few Mathematical Preliminaries

Here we introduce some basic mathematical concepts in preparation of the introduction of the CFSTR Equivalence Principle.

Linear Independence and Linear Subspace:

The usual vector space of N-tuples of real numbers is denoted as RN. And the set

N N of vectors in R with entirely nonnegative components is denoted as R+ . The standard

N basis for R is denoted as e1, e2, …, eN. That is,

e1 = [1, 0, 0, …, 0], e2 = [0, 1, 0, …, 0], …, eN = [0, 0, 0, …, 1].

N Suppose we have vectors v1, v2, …, vk in R . We say that v1, v2, …, vk are linearly dependent if there is a set of real numbers {α1, α2, …, αk}, not all zero, such that

α1 v1 + α2 v2 +… + αk vk = 0.

Otherwise, v1, v2, …, vk are linearly independent.

28 A set Ω of vectors in RN is said to have rank r (r is an integer) if Ω contains r linearly independent vectors but no set of r + 1 linearly independent vectors.

A nonempty set U of vectors in RN is a linear subspace if, for all vectors u and u’ in U and all real numbers α and α’, the vector αu + α’u’ is also a member of U. When U is a linear subspace, the rank of U is called the dimension of U.

2.1.2 Stoichiometric and Kinetic Preliminaries

Reaction Vectors

For a network of chemical reactions having N species, we associate with each reaction a vector in RN as indicated in the following example:

Example: Suppose we have a chemical reaction network which has five species

A1, A2, …, A5. The network is shown as follows:

AA12+→ A 3

2AA34→ AA14+ A 5

5 For reaction AA12+→ A 3 we associate with it a reaction vector in R which is

e3 – e1 – e2 = [-1, -1, 1, 0, 0]; for reaction 2A34→ A we associate with it a reaction

vector e4 – 2e3 = [0, 0, -2, 1, 0]; for reaction A14+AA→ 5 we associate with it a

reaction vector e5 – e1 – e4 = [-1, 0, 0, -1, 1]; and for reaction AAA514→+ we associate with it a reaction vector e1 + e4 – e5 = [1, 0, 0, 1, -1]. 29

Rank of a Chemical Reaction Network

The rank of a chemical reaction network is the rank of the network’s associated reaction vectors.

For the reaction network in the above example

AA12+→ A 3

2AA34→ AA14+ A 5 the set of associated reaction vectors in R5 is:

{[-1, -1, 1, 0, 0],

[0, 0, -2, 1, 0],

[-1, 0, 0, -1, 1],

[1, 0, 0, 1, -1]}.

The first three vectors [-1, -1, 1, 0, 0], [0, 0, -2, 1, 0], [-1, 0, 0, -1, 1] are linearly independent. But all the four vectors are linearly dependent. (The last vector [1, 0, 0, 1, -1] can be obtained by multiplying the third vector [-1, 0, 0, -1, 1] by -1.) So the rank of the set of these four vectors is 3, which means that the rank of the chemical reaction network is 3.

In another chemical reaction network shown as follows:

AAA→ 123

AA12+→2 A 3 there are four reaction vectors in R3 listed as follows:

30 {[-1, 1, 0],

[0, -1, 1],

[0, 1, -1],

[-1, -1, 2]}.

The first two vectors [-1, 1, 0], [0, -1, 1] are linearly independent and the other two vectors are linear combinations of the first two vectors. So the rank of this chemical reaction network is 2.

Species Formation Rate Vector

For a chemical reaction network having N species, we define a composition vector c in RN to be:

c = [c1, c2, …, cN]

th where ci denotes the (molar) concentration of the i species, i = 1, …, N.

For a local composition vector c and a local temperature T, we define a

(volumetric) species formation rate vector r(c, T) in RN to be:

r(c, T) = [r1(c, T), r2(c, T), …, rN(c, T)]

th where ri(c, T) denotes the molar species formation rate of the i species (i = 1, …, N) at composition c and temperature T.

For example, for the following reaction network with mass action kinetics

k1()T AA12+→ A 3

k2 ()T A13+ AA 2 4 k−2 ()T

31 we use k1(T), k2(T), k-2(T) to represent the temperature dependent reaction constants and use c1, c2, c3, c4 to represent the concentrations of species A1, A2, A3, A4. (Here, composition vector is c = [c1, c2, c3, c4].) From the definition of mass action kinetics, the volumetric species formation rates r1(c, T), r2(c, T), r3(c, T), r4(c, T) for species A1, A2,

A3, A4, will be

2 rT1(,c ) = -k1(T)c1c2 - k2(T)c1c3 + k-2(T) (c4)

rT2 (,c ) = -k1(T)c1c2 2 rT3 (,c ) = k1(T)c1c2 - k2(T)c1c3 + k-2(T) (c4) 2 rT4 (,c ) = 2k2(T)c1c3 - 2k-2(T) (c4)

So the species formation rate vector r(c, T) will take the following form

r(c, T) = [r1(c, T), r2(c, T), r3(c, T), r4(c, T)] with r1(c, T), r2(c, T), r3(c, T), r4(c, T) shown as above.

After the introduction of all the above preliminaries, it is time to explain the

CFSTR Equivalence Principle for Reactor-Separator Systems in detail.

2.2 The CFSTR Equivalence Principle for Reactor-Separator Systems

As we have already seen in Figure 1.2, there are almost countless possible configurations of reactors and separators, including what we can imagine and what we cannot. To assess what effluent rate vector is attainable and to evaluate the kinetic bounds on what is attainable by simply seeking out all possible reactor-separator configurations is extremely difficult. Surprisingly, for the sole purpose of assessing what is attainable and evaluating the kinetic bounds, we only need to look at one exceptional design. This

32 exceptional design is explained in great details in the CFSTR Equivalence Principle for

Reactor-Separator Systems, whose full statement can be found in Feinberg and Ellison

(2001), and is reproduced as below. (As stated earlier, we presume the capacity to make arbitrary sharp and rapid separations.)

The CFSTR Equivalence Principle for Reactor-Separator Systems

For a prescribed chemistry, in which the underlying reaction network has rank s, and for a prescribed molar-feed-rate vector M0, suppose that a steady-state reactor- separator design, having total reactor volume V*, yields the molar-effluent-rate vector

M* > 0. Then, for the same chemistry and the same molar-feed-rate vector M0, there is another steady-state design that yields a molar-effluent-rate vector arbitrarily close to

M* and that has the following properties:

( i ) The only reactors are CFSTRs, these being no more than s + 1 in number.

( ii ) The total reactor volume is again V*.

Moreover, in the following sense, mixture states (e.g., temperature, pressures, molar concentrations) within these CFSTRs are no more extreme than those within reactor units employed in the first design:

( iii ) Each CFSTR mixture state in the second design can be chosen to be arbitrarily

close to some local mixture state within a reactor unit in the first design.

33 The theory can be illustrated by the following figure:

Figure 2.1: Illustration of the CFSTR Equivalence Principle.

In Figure 2.1, the bottom configuration is our original design: a steady-state reactor-separator system of some specified design (what is shown in the figure is just one example), in which the molar feed rate vector is M0, the underlying chemical reaction 34 network has rank s, and the total volume of all reactor units is V*. Assume that the molar effluent rate vector of this original design is designated as M*. Now according to the

CFSTR Equivalence Principle, for the same chemistry and the same molar feed rate vector M0, we can use another steady-state design, shown as the top one in the figure, that yields a molar effluent rate vector the same as (or arbitrarily close to) M*, which consists of only CFSTRs (no more than s + 1 in number) as the reactor units, and whose volume is the same as that in the original design. For convenience, let us call this design the CFSTR-only design. The straight lines in Figure 2.1 which connect the CFSTRs in the CFSTR-only design and the reactors in the original design show that the mixture states in the CFSTRs in the CFSTR-only design can be chosen to be arbitrarily close to some mixture states in the reactor units in the original design.

In other words, the CFSTR Equivalence Principle tells us that, granted arbitrary separation ability of the separation system, for any design that can be applied to a chemical reaction network with specified feed streams and specified kinetics, the molar- effluent-rate vector of that design can be “imitated” by another steady-state reactor- separator design in which the reactors consist of no more than s + 1 CFSTRs (with s the rank of the network of the underlying chemical reactions) in the sense that the molar- effluent-rate vector of the CFSTR-only design is the same as (or arbitrarily close to) that of the original design, that the total reactor volume of the CFSTR-only design is the same as that of the original design, and that the mixture states in the CFSTR-only design are similar with those in the original design.

35

An assumption made in the CFSTR Equivalence Principle was that the separation system in the CFSTR-only design has arbitrary separation ability. To make such an assumption is to ensure that the kinetic bounds on the attainable effluents from this assumption will be sharp, meaning they are the outer bounds of the set of all attainable effluents out of which no steady-state reactor-separator system can reach. Another thing to notice is that no details are given about the separation system. The reason is that only the arbitrary separation ability of the separation system (but not how separators are configured) matters in the CFSTR Equivalence Principle. Details can be found in

Feinberg and Ellison (2001).

What the CFSTR Equivalence Principle for Reactor-Separator Systems does not tell us is that the CFSTR-only design is economically equivalent with the original design.

In fact, the CFSTR-only design could be costly due to the arbitrary separation ability of the separation system. (For example, to achieve the same molar effluent rate vector, the

CFSTR-only design may require very rapid high capacity separations. This will make the separation system expensive, adding to the total cost of the CFSTR-only design.) But remember that our objective here is not to find an economical design but to assess the kinetic bounds of attainable effluents. With this in mind, what the theory does tell us is that with the help of the CFSTR-only design, we will be able to access the full range of what is attainable given specified feed streams, the underlying chemical reaction network with specified kinetics, the maximum total reactor capacity, and other constraints

36 including the temperature-pressure ranges in the reactor units and applicable environmental constraints. How this theory enables us to find what is attainable will be explained in detail in the next section.

2.3 Applying the CFSTR Equivalence Principle to Find the Kinetic Bounds on

Productivity in Reactor-Separator Systems of Arbitrary Design

Before explaining how the CFSTR Equivalence Principle can be used to find the kinetic bounds on productivity in reactor-separator systems of arbitrary design, let us look at more preliminaries.

2.3.1 A Few More Mathematical Preliminaries

Span of a Set of Vectors

N N The span of a set of vectors {v1, v2, …, vk} in R is the linear subspace of R consisting of all vectors of the form

α1 v1 + α2 v2 +… + αk vk where α1, α2, …, αk are real numbers. The dimension of the span of {v1, v2, …, vk} is equal to the rank of the set {v1, v2, …, vk}.

37 Convex Combination and Convex Hull

N A vector v* in R is a convex combination of vectors {v1, v2, …, vk} if there exists a set of real numbers {λ1, λ2, …, λk}, such that

v* = λ1 v1 + λ2 v2 + …+ λk vk

λi ≥ 0, i = 1, 2, …, k and

λ1 + λ2 + … + λk = 1.

A set Ω of vectors in RN is said to be convex if for all vectors x, y in Ω and for each λ ∈ [0, 1], λx + (1-λ)y is also contained in Ω. If Ω is a set in RN, the smallest convex set that contains Ω is denoted as conv(Ω), also named as the convex hull of Ω. In fact, conv(Ω) is the set of all (finite) convex combinations of elements of Ω.

Example: Look at the following two figures:

Figure 2.2: Illustration of convex hull.

38 In (a), set Ω1 is the set of all points (including the points on the border lines) in the

2 pentagon. (Each point is a vector in R .) It’s not difficult to see that Ω1 is convex because any convex combination of any two points in Ω1 is also contained in the set.

In (b), set Ω2 is the set of all points in the shadowed area. Here, Ω2 is not convex because some convex combinations of some points in Ω2 don’t lie in Ω2. For example, point P on line AB is a convex combination of point A and B, but point P does not belong to Ω2. It can be easily seen that the convex hull of Ω2, conv(Ω2), is the area bounded by line AB and curve BCA.

2.3.2 How the CFSTR Equivalence Principle Provides Kinetic Bounds

Now that we already know something about the CFSTR Equivalence Principle, it is time to give an explanation about why it enables us to find the kinetic bounds on productivity in reactor-separator systems of arbitrary design.

To do this, let us recall two pieces of information. The first piece of information is the definition of the attainable region. For our problem, the attainable region is the set of all possible effluent rate vectors that can be achieved by means of all possible steady- state reactor-separator designs, including what we know and what is beyond our imagination. The second piece of information is what we just learned in the CFSTR

Equivalence Principle. That is, for any design (even those beyond our imagination) that can be applied to a chemical process with the underlying chemical reaction network with its associated kinetics, there is a corresponding CFSTR-only design (illustrated as the top one in Figure 2.1) with the same chemistry, the same feed rate vector, and the same total

39 reactor volume that gives an effluent rate vector the same as (or arbitrarily close to) that in the original design. Putting these two pieces of information together, it’s not difficult to see that the attainable region which is constructed by considering all possible designs can now be constructed by considering only one type of design: the CFSTR-only design, because for whatever effluent can be obtained from a special type of design in the attainable region, the same (or an arbitrarily close) effluent can be obtained by using a

CFSTR-only design with the same feed rate vector, the same chemistry, the same total reactor capacity, whose number of CFSTRs is determined by the rank of the underlying chemical reaction network, and whose mixture states in all CFSTRs are similar with certain of those in the reactors of the original design. Particularly, for the same reason, the kinetic bounds on the attainable effluent rate vectors in the reactor-separator systems of arbitrary design can be assessed by studying only the CFSTR-only design.

Later we will look at the role of the CFSTR Equivalence Principle in finding the attainable region and the kinetic bounds. But before that, let us look at an important concept.

2.3.3 Constraint Set Ω

From the previous section, the CFSTR Equivalence Principle tells us that, for the sole purpose of assessing bounds on the attainable effluent rate vectors, we can use a

CFSTR-only design to achieve the goal, with the number of CFSTRs determined simply

40 by the rank of the underlying chemical reaction network. Moreover, the states of all

CFSTRs in the CFSTR-only design are similar with the states in the reactor units of the original design.

Speaking of the states in the reactors, we know that it is practically unrealistic to consider extremely high or extremely low temperatures, and it doesn’t make sense in real life to consider negative or extremely high concentrations. Therefore, we define a constraint set Ω consisting of all (c, T) states in which the temperature T and the composition vector lie within specified ranges. It’s not difficult to see that if c lives in

N N +1 R , then Ω is a subset in R + (because all concentrations and the temperature should be non-negative). Two examples are given below to help explain the constraint set Ω.

Example 1: Let’s suppose that we have N species A1, A2, …, AN, all in gaseous states, involved in the reactions and that A1, A2, …, AN constitute an ideal gas mixture.

Let’s also suppose that we have limits on temperatures and pressures, say Tmin, Tmax as the lowest and highest acceptable temperatures and Pmin, Pmax as the lowest and highest acceptable pressures. Because of the temperature-pressure constraints and from the ideal gas law, for every local temperature T ∈ [Tmin, Tmax], the local concentrations should satisfy

N P ∑ci = i=1 RT

41 where P is the local pressure and ci is the local molar concentration of species Ai (i = 1,

2, …, N). Since P ∈ [Pmin, Pmax], the following inequality on the species concentrations should be obeyed:

PPminN max ≤≤∑ci RTRTi=1

For this example, we can see that Ω takes the following form:

minN max min max PP Ω={(c ,TT ) : ≤ TT ≤ , ≤∑ ci ≤ } RTRTi = 1

Example 2: Again, species A1, A2, …, AN are involved in the reactions and are presumed to be in a gaseous state, but they do not comprise an ideal gas mixture in this case. As before, Tmin, Tmax are the minimum and maximum temperatures, and Pmin, Pmax are the minimum and maximum pressures allowed in reactors. The gas mixture obeys the following equation

N ∑cvii=1, (2.1) i=1 where ci, vi are the molar concentration and partial molar volume of species Ai (i = 1, …,

N). Also assume that each species in the mixture follows the SRK (Soave-Redlich-

Kwong) Equation of State (for pure substances), and that the partial molar volume in the mixture is not influenced by other species. So, for each species Ai, the following equation must be satisfied:

42 RT α a P =−ii (2.2) vbvvbii− iii()+ where P, T are the local pressure and temperature, ai, bi, αi are the parameters of the equation of state for species Ai (i = 1, …, N).

Combining equation (2.1) and equation (2.2), we can see that the constraint set Ω has the following form:

N min max Ω={(c ,TT ) : ≤ TT ≤ ,∑ cvii = 1} i=1 where the partial molar volume vi can be calculated from

RT α a PPPP=−ii , min ≤≤ max . vbii−+ vvb iii()

(There are three solutions for the above equation, but only the largest real solution is used for vi for gaseous state. More details will be explained in Chapter 4 as to how to efficiently solve the above equation.)

In general, the constraint set Ω defines a set that contains all (c, T) pairs considered to be admissible by the designer. As will be seen later in the implementation of the CFSTR Equivalence Principle, Ω provides a range of mixture states used in the search for kinetic bounds on the attainable effluents.

43 2.3.4 The Role of the CFSTR Equivalence Principle in Finding the Kinetic Bounds

2.3.4.1 The CFSTR Equivalence Principle Characterizes the Attainable Effluent

Rate Vectors

Suppose we have a system operated at steady-state in which there are N species involved in the reactions, the molar feed rate vector is M0 in RN and the total maximum volume for all reactor components is V . (Remember that we don’t want to consider infinitely large volumes for practical purposes.) Suppose also that the rank of the chemical reaction network is s and that the formula for calculating the (continuous) species formation rate vector is r (ii , ) . Moreover, all (c, T) states are restricted to lie

N +1 inside the constraint set Ω ∈ R + . What do the molar effluent rate vectors look like?

Remember the CFSTR Equivalence Principle tells us that for the given chemistry, the feed stream information, and the available reactor capacity, we can use a CFSTR-only design, redrawn in Figure 2.3, to find out all possible molar effluent rate vectors. Also according to the CFSTR Equivalence Principle, the number of CFSTRs used in the design is no more than s + 1, with s the rank of the underlying chemical reaction network.

44

Figure 2.3: The CFSTR-only design.

Some explanation about the picture is given as follows. M0 is the molar feed rate vector and M is the molar effluent rate vector. The separation system having arbitrary separation ability is interconnected with p CFSTRs where p ≤ s + 1. In each CFSTR, we

th use ci, Ti, Vi to represent the molar composition vector, temperature, and volume of the i

CFSTR (i = 1, …, p). Assume that the molar flow rate vector from the separation system

th to the i CFSTR is Fi, defined as:

Fi = [Fi,1, Fi,2, …, Fi,N]

th where Fi,L denotes the molar flow rate of the L species (L = 1, …, N) from the separation system to the ith CFSTR. Also assume that the volumetric flow rate from the ith CFSTR to the separation system is ξi (i = 1, …, p).

When we apply the mass balance equation to the separation system, since no mass is created or destroyed inside, what goes into the system should be equal to what goes out of the system. So we have the following equation

0 Mc+ξξ11++...pp cMFF = + 1 ++ ... p

45 Rearranging, we get

0 MM= +++−−−ξξ11 c...pp c F 1 ... F p (2.3)

Recall that the species formation rate function for each CFSTR is r(,)ii . And for each CFSTR in the system, we can again apply the mass balance. Namely, what enters the CFSTR plus what is created in the CFSTR should be equal to what leaves the CFSTR.

So for each CFSTR, we now have

Frci+=VT iiii ( , )ξ ii c i = 1, ... , p or

ξiicF− i==VT iiii rc ( , ) i 1, ... , p (2.4)

Combining Equation (2.3) and Equation (2.4), we get the following equation

0 MM=+VT11 rc( 1 , 1 ) ++ ... Vpp rc ( p , T p ) .

In this equation, the molar feed rate vector M0 and the formula for calculating the species formation rate vector in each CFSTR (r1, …, rp) are fixed. What can vary are the individual volume of each CFSTR (V1, …, Vp), the composition vector (c1, …, cp) and the temperature (T1, …, Tp) in each CFSTR. Notice, though, that the total reactor volume

p should not exceed the maximum value V (that is, ∑VVi ≤ ), and that the state in each i=1

CFSTR should be in the constraint set Ω (that is, (ci, Ti) ∈ Ω). Different combinations of different values of those variables will give different molar effluent rate vectors. And all attainable molar effluent rate vectors can actually be found from the above equation by using different values of the variables. There is a proposition, taken from Feinberg and 46 Ellison (2001), which describes the characteristics of all the attainable effluents that might emerge from all possible steady-state constraint-consistent designs. The following is the full statement of the proposition.

Proposition: Characterization of Attainable Effluents.

An element M ∈ RN is attainable as the molar effluent rate vector of a steady- state constraint-consistent reactor-separator design only if it has a representation of the form

p 0 MM=+∑VcTiii r(, ) (2.5) i=1 where

p ≤ s +1 (2.6)

M L ≥=0, LN 1,2,..., (2.7)

Vii ≥=0, 1,2,..., p (2.8)

p ∑VVi ≤ (2.9) i=1

(cii ,T ) is contained in Ω, i = 1,2,..., p (2.10)

If we grant the capacity to make arbitrary separations (consistent with steady- state material balances on streams entering and leaving separation units), then, up to closure, the converse is true as well: Each vector M ∈ RN representable in the form (2.5)

– (2.10) is (or is arbitrarily close to) a molar effluent rate vector for some steady-state

47 reactor-separator design. In fact, each such M is (or is arbitrarily close to) the molar effluent rate vector for a steady-state reactor-separator design in which the reactor units consist of p CFSTRs, where p ≤ s + 1. (If Ω has s or fewer topological components, then, for the purpose of this entire proposition, p can be taken to be less than or equal to s.)

A sketch of the proof can be found in Feinberg and Ellison (2001).

After we know the characterization of the attainable effluents, we can start to find the kinetic bounds of the attainable effluents or, more interestingly, to find the maximum production rate of the desired chemical species. In searching for the maximum production rate of the desired chemical species, the form (2.5) – (2.10) has an equivalent and often more useful form, which is introduced in the next section.

2.3.4.2 Another Equivalent Form of Expressing the Attainable Effluents

Notice that form (2.5) – (2.10) in the proposition describes a convex set. In fact, if we define V as the interval [0, V ], the convex set described in (2.5) – (2.10) is identical to the set

0 N MV:=+Ω conv(Mr ( )) ∩ R + (2.11) where

0N0## Mr+Ω=∈VV,( ) : { MR : M = Mr + VV, ∈ rr ∈Ω ( )}.

When the constraint set Ω is closed and bounded, the set M of all attainable effluents is also closed and bounded. 48 Form (2.11) and form (2.5) – (2.10) are two ways of representing the attainable effluents. They are essentially the same, but as will be seen later in Chapter 3, they will lead to different implementation methods for finding the maximum productivity of a certain desired chemical species. Next, we will look at some important applications of the two different forms.

2.3.4.3 Applications of the Two Forms

2.3.4.3.1 Application 1: How to Tell If a Molar Effluent Rate Vector is Attainable?

For a given chemical reaction network with specified kinetics, specified molar feed rate vector M0, temperature and pressure range in the reactor units, and the maximum total reactor volume, we may ask the following question: If we have a target molar effluent rate vector M**, can we tell if M** is attainable or not from the previous given information?

The answer to this question has already been answered in the proposition in

Section 2.3.4.1, which says that all attainable effluents can be expressed by form (2.5) –

(2.10). So to judge if M** is attainable or not, we only need to check if M** can be expressed by form (2.5) – (2.10) or not. If M** can be expressed (arbitrarily closely) by form (2.5) – (2.10), we can say that M** is attainable (arbitrarily closely). Otherwise, M** is not attainable.

49 2.3.4.3.2 Application 2: Finding the Maximum Productivity without Environmental

Constraints

Suppose that we have a network of chemical reactions in which there are N species A1, A2, …, AN and that A1 is our desired chemical species. The rank of this reaction network is s. Given the kinetics of this reaction network, given the feed stream information, given the temperature and pressure range in the reactor units, and assuming that the available reactor capacity is V , we ask: What is the maximum production rate of our desired species A1 over all possible steady-state reactor-separator systems of arbitrary design?

Now that we know the form of all attainable effluent rate vectors expressed by either form (2.5) – (2.10) or form (2.11), search for the maximum production rate of A1 can be conducted among all the attainable effluent rate vectors. By using form (2.5) –

(2.10), our problem will look like:

Objective: Maximize M1

Constraints:

p 0 MMrc= [M1N ,...,M ] =+ ∑ V iii(,) T i=1 ps≤+1 ML≥=0, 1,2,..., N L Vii ≥=0, 1,2,..., p p ∑VVi ≤ i=1

(cii ,Tip ) is contained in Ω= , 1,2,...,

50 Or, by using form (2.11), our problem will look like:

Objective: Maximize M1

Constraints:

M = [M1, M2, …, MN] is contained in M,

0 N where MV:=+Ω conv(Mr ( )) ∩ R +

0N0## Mr+Ω=∈VV,( ) : { MR : M = Mr + VV, ∈ rr ∈Ω ( )}

V = [0, V ].

The answer to this optimization problem, expressed in either form, will tell us the maximum production rate of A1 over all possible steady-state reactor-separator configurations of arbitrary design consistent with all specified constraints.

In addition to the constraints considered here, often times the environmental impact of the effluents should also be considered in real chemical processes. While we are trying to produce the desired chemical species as much as possible, we will sometimes want to limit the production rate of an environmentally unfriendly species within an acceptable range. This leads to the next application with the environmental constraint included.

51 2.3.4.3.3 Application 3: Finding the Maximum Productivity with Environmental

Constraints

With all other information the same as that in Application 2, we add one more piece of information here. That is, suppose for example that A2, A3 are environmentally unfavorable species whose production rates need to be controlled under certain limits and

that the acceptable upper limits of the production rates of A2 and A3 are M 2 and M 3 , respectively. The other species A4, …, AN are inconsequential side products. Now our task is to search for the maximum production rate of our desired species A1 from the specified feed over all possible steady-state reactor-separator configurations of arbitrary design consistent with all constraints including specified temperature, pressure ranges in the reactor units, specified reactor capacity, and the environmental concerns.

Since the only difference between this application and the previous application is the environmental concern, the problem statement in this application will look very similar to that in Application 2, except that the upper limits of the production rates of A2 and A3 should be considered.

Corresponding to the problem statement in Application 2, using form (2.5) –

(2.10), the problem for the current application will be:

52 Objective: Maximize M1

Constraints:

p 0 MMrc= [M1N ,...,M ] =+ ∑ V iii(,) T i=1 ps≤+1

MLL ≥=0, 1,2,..., N

MMMM2233≤≤,

Vii ≥=0, 1,2,..., p p ∑VVi ≤ i=1

(cii ,Tip ) is contained in Ω= , 1,2,...,

Or, using form (2.11), the problem will look like:

Objective: Maximize M1

Constraints:

M = [M1, M2, …, MN] is contained in M,

0 N where MV:=+Ω conv(Mr ( )) ∩ R +

0N0## Mr+Ω=∈VV,( ) : { MR : M = Mr + VV, ∈ rr ∈Ω ( )}

V = [0, V ]

M2 ≤ M 2 , M3 ≤ M 3 .

53 The answer to this optimization problem will give us the maximum production rate of A1 for the specified feed over all possible steady-state reactor-separator configurations of arbitrary design consistent with all constraints including the specified temperature, pressure ranges in the reactor units, the maximum available reactor capacity, and the environmental constraints that the production rate of A2 and A3 should not exceed

M 2 and M 3 , respectively.

The role of the CFSTR Equivalence Principle here is that it tells us the form of all the attainable effluent rate vectors, or the range within which we should conduct our search for the maximum production rate of the desired chemical species. However, the

CFSTR Equivalence Principle didn’t say anything about how to search for that maximum.

And that leads to the main task of this thesis: how to search for the maximum production rate of a desired chemical species given the underlying chemical reaction network with its associated kinetics, the feed stream information, the available reactor capacity, temperature and pressure ranges in the reactor units, and possible environmental constraints. Notice that although both ways (by using form (2.5) – (2.10) or form (2.11)) of expressing the problem are essentially the same, they may lead to different implementation methods of searching for the maximum production rate of our desired chemical species. The detailed implementation methods will be described in Chapter 3.

54 2.4 Summary of Chapter 2

In this chapter, we introduced the CFSTR Equivalence Principle for Reactor-

Separator Systems. This theory tells us that for our purpose of finding the kinetic bounds on the attainable effluent rate vectors, it suffices to look at one exceptional design in which the only reactors are CFSTRs. (Again, we presume the capacity to make arbitrarily sharp and rapid separations.) Moreover, the maximum number of the CFSTRs that needs to be employed in the design can be simply determined by the rank of the underlying chemical reaction network. The CFSTR Equivalence Principle provides us a very important conceptual tool for finding kinetic bounds on what is attainable.

Meanwhile, the characterization of the attainable effluents is given in the

Proposition in Section 2.3.4.1 in form (2.5) – (2.10). Another equivalent form of expressing the attainable effluents is given in form (2.11) in Section 2.3.4.2. We can see that the set of the attainable effluents is a convex hull which is determined by the molar feed rate vector M0, the maximum total reactor capacity, the underlying chemical reaction network and its associated kinetics, and the constraint set Ω which consists of all admissible (c, T) states corresponding to certain allowable temperature and pressure ranges.

Although the CFSTR Equivalence Principle provides us the form of all attainable effluents, how to search for the maximum productivity of a desired species among that set is not answered. The task of the following chapters, which is also the main task of this thesis, is to explore several algorithms for the search for the maximum productivity based on the forms of the attainable effluents provided by the CFSTR Equivalence Principle.

55

CHAPTER 3

IMPLEMENTATION METHODS FOR SEARCHING FOR KINETIC

BOUNDS ON PRODUCTIVITY IN REACTOR-SEPARATOR

SYSTEMS OF ARBITRARY DESIGN

In Chapter 2, the CFSTR Equivalence Principle for Reactor-Separator Systems was introduced as an important tool to search for kinetic bounds on productivity in reactor-separator systems of arbitrary design. From this theory, two equivalent forms of expressing the characteristics of all attainable effluent rate vectors were derived. Provided with these two forms, several different ways will be explored in this chapter to search for kinetic bounds on the attainable effluent rate vectors (more importantly, the maximum production rate of a certain desired chemical species) given information including the underlying chemical reaction network with its associated kinetics, the feed stream information, the maximum capacity of the reactor units, the temperature and pressure ranges in the reactor units, possible environmental constraints, and chemical properties of the involved species.

56 The purpose of exploring different methods is to eventually come up with a freely distributed software package (or a computational tool) that everybody can use to solve the general productivity limits problem. As will be seen later in this chapter, there are five linear methods and a nonlinear method that will be discussed. In general, the linear methods are not as good as the nonlinear method. The nonlinear method gives the best performance but relies on a commercial nonlinear optimization solver. However, the linear methods don’t rely on expensive commercial-grade nonlinear optimization programs, so that is the motivation for studying these linear methods “experimentally”.

Before introducing all of the methods, let us first take a look at a sample problem.

3.1 A Sample Problem

The Van de Vusse Example

Consider a chemical reaction network, usually called the van de Vusse network

(N.1), taken with mass action kinetics.

A kk12→AA→ 12 4 (N.1) k3 2AA13→

The rate constants are presumed to depend on temperature in the following way

(with activation energies in kcal/mol):

3 -1 k1(T) = 4.22 × 10 exp(-10/RT) (s )

5 -1 k2(T) = 1.02 × 10 exp(-18/RT) (s )

8 k3(T) = 5.24 × 10 exp(-22/RT) (L/mol•s)

57 Suppose that species A1, A2, A3, A4 constitute an ideal gas mixture, that the allowable temperature range in the reactor components is [373.15, 573.15] K, that the pressure range in the reactor components is [0, 10] bar, that the maximum total reactor volume is 1000 liters, and that A3 is an environmentally harmful species that should not be produced at more than 0.1 mol/s. Given the molar feed rate vector

0 0000 M = [M1234 ,M ,M ,M ] = [10, 0, 0, 0] mol/s

0 (where ML represents the molar feed rate of species AL, L = 1, 2, 3, 4) and the nonisothermal mass action kinetics with the temperature-dependent rate constants shown as before, what is the maximum molar effluent rate we can get for A4 among all possible steady-state reactor-separator systems which are consistent with all the above constraints?

From the CFSTR Equivalence Principle, we know that for any steady-state design consistent with the specified feed stream M0, the specified temperature and pressure ranges, and the specified maximum total reactor capacity, the molar effluent rate vector of this design can be “imitated” by another CFSTR-only design in which the reactors consist of no more than s+1 CFSTRs in the sense that the molar effluent rate vector of the

CFSTR-only design is the same as (or arbitrarily close to) that of the original design, that the total reactor volume of the CFSTR-only design is the same as that of the original design, and that the mixture states in the CFSTR-only design are similar to those in the original design. In this case, only 4 CFSTRs are needed since the rank s of this chemical reaction network is 3. This means that by using a 4-CFSTR-only design we can get all possible molar effluent rate vectors.

58 Figure 3.1 is an illustration of the 4-CFSTR-only design. The molar effluent rate vector is denoted as

M = [M1, M2, M3, M4] where ML represents the molar effluent rate of species AL, L = 1, 2, 3, 4. The volume of

th th the i CFSTR has volume Vi; the composition vector in the i CFSTR is

iiiii c = [,cccc1234 ,, ]

i th where cL is the molar concentration of species AL in the i CFSTR; and the temperature in the ith CFSTR is Ti (i = 1, 2, 3, 4).

Figure 3.1: A 4-CFSTR design for the van de Vusse network.

From form (2.5) – (2.10) for the characteristics of attainable effluents, we have

011223344 M=+ MVTVTVTVT12 rc(,)(,)(,)(,) + rc + 3 rc + 4 rc (3.1) where

i i i i i i i i i i r(c , T ) = [r1(c , T ), r2(c , T ), r3(c , T ), r4(c , T )]

59 ii ii i i2 rT11131(,c )=− kTckTc ( ) − 2( )() rTkTckTc(,ci i )=− ( ii ) ( ii ) 21122 i = 1, 2, 3, 4 ii i i2 rTkTc331(,c )= ( )() ii ii rTkTc422(,c )= ( )

i i th Here, rL(c ,T ) means the (volumetric) species formation rate of species AL in the i

-1 -1 CFSTR (in units of moles•volume •time ).

Since the maximum allowed total reactor volume, denoted as V , is 1000 liters, we can introduce variables λ1, λ2, λ3, λ4 such that

λ1 = V1/ V

λ2 = V2/V

λ3 = V3/V

λ4 = V4/V

Then Equation (3.1) can be rewritten as

011223344 M=+ MVT[λλ12 rc (,) + rc (, T ) + λ 3 rc (, T ) + λ 4 rc (, T )] (3.2) where

0 ≤ λ1 ≤ 1

0 ≤ λ2 ≤ 1

0 ≤ λ3 ≤ 1

0 ≤ λ4 ≤ 1

4 ∑λi ≤1 i=1

60 Since the temperature range in the reactor components is between [373.15, 573.15]

K, we have the following constraints on T1, T2, T3 and T4:

373.15 ≤ T1 ≤ 573.15

373.15 ≤ T2 ≤ 573.15

373.15 ≤ T3 ≤ 573.15

373.15 ≤ T4 ≤ 573.15

Also notice that species A1, A2, A3, and A4 constitute an ideal gas mixture, and that we have the pressure range in the reactor components to be between [0, 10] bar. So we will have more constraints on the concentrations (from the ideal gas law):

1 1 1 1 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0

2 2 2 2 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0

3 3 3 3 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0

4 4 4 4 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0

4 minii max i PRTcPRT/( )≤≤∑ L /( ) i = 1, 2, 3, 4 L=1 where the minimum pressure Pmin is 0 bar and the maximum pressure Pmax is 10 bar.

Remember that we want to limit the molar effluent rate for A3 to be less than 0.1 mol/s, so the constraint on M3 will be:

011223344 0 ≤ M 3=+MVr 3[(,)λλ 13cc T + 23 r (,) T + λ 33 r (,) c T + λ 43 r (,)] c T ≤ 0.1

Of course, we require also that M1 ≥ 0, M2 ≥ 0, and M4 ≥ 0 since a negative effluent rate doesn’t make sense in the real world.

61 In conclusion, the problem statement for this specific van de Vusse example can be summarized as follows:

Variables:

1 2 3 4 1 2 3 4 λ1, λ2, λ3, λ4, c , c , c , c , T , T , T , T

Objective:

011223344 maximize M 44=+MVr[λλ 14 (,)cc T + 24 r (, T ) + λ 34 r (, c T ) + λ 44 r (, c T )]

Constraints:

0 ≤ λ1 ≤ 1

0 ≤ λ2 ≤ 1

0 ≤ λ3 ≤ 1

0 ≤ λ4 ≤ 1

4 ∑λi ≤1 i=1

373.15 ≤ T1 ≤ 573.15

373.15 ≤ T2 ≤ 573.15

373.15 ≤ T3 ≤ 573.15

373.15 ≤ T4 ≤ 573.15

1 1 1 1 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0

2 2 2 2 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0

3 3 3 3 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0

4 4 4 4 c1 ≥ 0; c2 ≥ 0; c3 ≥ 0; c4 ≥ 0 62 4 minii max i PRTcPRT/( )≤≤∑ L /( ) i = 1, 2, 3, 4 L=1

011223344 M1=+MVrT 1[λλ 11 (,)cc + 21 rT (, ) + λ 31 rT (, c ) + λ 41 rT (, c )] ≥ 0

011223344 M 22=+MVr[λλ 12 (,)cc T + 22 r (, T ) + λ 32 r (, c T ) + λ 42 r (, c T )] ≥ 0

011223344 0 ≤ M 3=+MVr 3[(,)λλ 13cc T + 23 r (,) T + λ 33 r (,) c T + λ 43 r (,)] c T ≤ 0.1

011223344 M 44=+MVr[λλ 14 (,)cc T + 24 r (, T ) + λ 34 r (, c T ) + λ 44 r (, c T )] ≥ 0

As we can see, this is a nonlinear optimization problem since both the objective and some of the constraints are nonlinear functions of the variables. The result of this optimization problem will tell us what the maximum molar effluent rate for A4 is among all possible steady-state reactor-separator systems consistent with all the above constraints in this van de Vusse example.

The van de Vusse example is just one simple example. In general, our task would be to find the maximum production rate of a certain desired chemical species given the feed stream information, the underlying chemical reactions with its associated kinetics, the temperature and pressure ranges in the reactor units, maximum reactor capacity, applicable environmental constraints, and the chemical properties of the involved species.

The next section will give a detailed description of how the general problem can be formulated in two different ways.

63 3.2 The General Problem

In general, suppose that we have a chemical process in which there are N species

A1, …, AN involved in the chemical reactions, and that the rank of the underlying chemical reaction network is s. Assume that the maximum total reactor volume is V , that the total molar feed rate vector

0 0 0 0 M = [ M1 , M 2 , …, M N ]

0 where M L represents the molar feed rate of species AL (L = 1, …, N), that the temperature range in the reactor components is [Tmin, Tmax], and that the pressure range in the reactor components is [Pmin, Pmax].

Assume that A1 is our desired chemical species and that for environmental purposes, the molar effluent rates of certain undesirable species, say A2, …, Aq, should

not exceed M 2 , …, M q mol/s. For the chemical reactions with a specified kinetics, what is the maximum molar effluent rate of A1 among all possible steady-state reactor- separator systems that are consistent with all the constraints?

Since the rank of the underlying chemical reaction network is s, according to the

CFSTR Equivalence Principle, we can use an (s+1)-CFSTR-only design to get all possible molar effluent rate vectors M, as illustrated in Figure 3.2. (This is similar to what was done in the sample problem.) Again, the molar effluent rate vector is denoted as

M = [M1, M2, …, MN] where ML means the molar effluent rate of species AL (L = 1, 2, …, N). The volume of

th th the i CFSTR has volume Vi; the composition vector in the i CFSTR is

iiii c = [cc12 , ,..., cN ] 64 i th where cL is the molar concentration of species AL (L = 1, 2, …, N ) in the i CFSTR; and the temperature in the ith CFSTR is Ti (i = 1, 2, …, s+1). The (volumetric) species formation rate vector in the ith CFSTR is denoted as

i i i i i i i i r(c , T ) = [r1(c , T ), r2(c , T ), …, rN(c , T )]

i i th where rL(c , T ) represents the species formation rate of species AL in the i CFSTR (i = 1,

2, …, s+1).

Notice that, depending on the chemical properties of all the involved species, there exists a certain relationship between the composition vector ci, the temperature Ti, and the pressure Pi in the ith CFSTR (i = 1, …, s+1). And this relationship can be expressed as a certain function

f(ci,Ti,Pi) = 0.

For example, if the involved species constitute an ideal gas mixture, the relationship between ci, Ti, and Pi is the ideal gas law

N Pi ci ∑ L = i L=1 RT where R is the gas constant. So here f(ci, Ti, Pi) can be taken to have the following form:

N i i i i i i f(c , T , P ) = RT ( ∑cL )-P , L=1 where Ti should be within the temperature range [Tmin, Tmax] and Pi should be within the pressure range [Pmin, Pmax]. However, in general, the ideal gas mixture equation of state might not always be appropriate.

65

Figure 3.2: A (s+1)-CFSTR design for the general case.

Similar to the van de Vusse example, we can introduce variables λ1, λ2, …, λs+1 such that

λ1 = V1/V ,

λ2 = V2/V ,

……

λs+1 = Vs+1/V , and

s+1 ∑λi ≤1. i=1

From form (2.5) – (2.10), in the characteristics of attainable effluents we have

01122ss++ 11 M=+ MVTVT12 rc( , ) + rc ( , ) ++ ... Vs+ 1 rc ( , T ) .

Now by introducing the variables λ1, λ2, …, λs+1, the above equation can also be written as:

66 0112211ss++ M=+ MVT[λλ12 rc ( , ) + rc ( , T ) ++ ... λs+ 1 rc ( , T )].

There are constraints on the temperatures, namely

Tmin ≤ T1 ≤ Tmax

Tmin ≤ T2 ≤ Tmax

……

Tmin ≤ Ts+1 ≤ Tmax

Concentrations should not be negative, so

1 1 1 c1 ≥ 0; c2 ≥ 0; …; cN ≥ 0

2 2 2 c1 ≥ 0; c2 ≥ 0; …; cN ≥ 0

……

s+1 s+1 s+1 c1 ≥ 0; c2 ≥ 0; …; cN ≥ 0

Since the molar effluent rates of the assumed undesirable species, A2, …, Aq, should not

exceed M 2 , …, M q mol/s, more constraints should be included:

0112211ss++ M jj=+MVr[λλ12 j (cc , T ) + r j ( , T ) ++ ... λ sj+ 1 r ( c , T )] ≤ Mj j ( = 2,..., q ) .

Just as concentrations should be non-negative, molar effluent rates should not be negative as well.

Summarizing all the above information, the general problem can be formulated in the following statement (which looks similar to the problem statement for the van de

Vusse example):

67

3.2.1 Statement A

Variables:

1 2 s+1 1 2 s+1 1 2 s+1 λ1, λ2, …, λs+1, c , c , …, c , T , T , …, T , P , P , …, P

Objective:

0112211ss++ maximize MMVrT1=+ 1[λλ 11 (cc , ) + 21 r ( , T ) ++ ... λs+ 11 r ( c , T )]

Constraints:

0 ≤ λi ≤ 1 i = 1, 2, …, s+1

s+1 ∑λi ≤1 i=1

Tmin ≤ Ti ≤ Tmax i = 1, 2, …, s+1

Pmin ≤ Pi ≤ Pmax i = 1, 2, …, s+1

i cL ≥ 0 i = 1, 2, …, s+1; L = 1, 2, …, N

f(ci,Ti, Pi) = 0 i = 1, 2, …, s+1

0112211ss++ MMVrTLL=+[λλ12 L (cc , ) + r L ( , T ) ++ ... λ sL+ 1 r ( c , T )] ≥ 0

L = 1, 2, …, N

0112211ss++ MMVrTjj=+[λλ12 j (cc , ) + r j ( , T ) ++ ... λ sj+ 1 r ( c , T )] ≤ M j

j = 2, …, q

68 Remarks:

1. According to Statement A, the general problem is a nonlinear optimization problem, because both the objective function and some of the constraints (for example, the constraints on the molar effluent rates that they need to be non-negative) are nonlinear functions of the variables.

2. It was shown that the effluent rate vector M can be expressed as

0112211ss++ M=+ MVT[λλ12 rc ( , ) + rc ( , T ) ++ ... λs+ 1 rc ( , T )] (3.3)

11 2 2ss++ 1 1 Notice that λλ12rc( ,TT )+++ rc ( , ) ... λs+ 1 rc ( , T ) is like a convex combination

s+1 since λi ≥ 0 (i = 1, 2, … s+1) and ∑λi ≤1. But a convex combination requires that the i=1 coefficients sum up to 1, not be less than 1. We can reformulate the problem by adding an extra coefficient λs+2 and a zero vector to the right hand side of Equation (3.3) so that

λs+2 ≥ 0,

s+2 ∑λi =1, i=1 and the right hand side of Equation (3.3) remains unchanged. So Equation (3.3) becomes

0112211ss++ M=+ MVT[λλ12 rc ( , ) + rc ( , T ) ++ ... λss++ 1 rc ( , T ) + λ 20 ] (3.4)

11 2 2ss++ 1 1 Now λλ12rc( ,TT )++++ rc ( , ) ... λss++ 1 rc ( , T ) λ 20 is a convex combination of the zero vector 0 and vectors r(c1, T1), …, r(cs+1, Ts+1) in r()Ω . (Recall that Ω is the constraint set that consists of all valid (,c T )pairs.)

69

Based on equation (3.4), it is not difficult to see that there is another way of expressing the attainable region of all possible molar effluent rate vectors. (Recall that form (2.11) is an equivalent way of expressing the attainable effluents as form (2.5) –

(2.10) in the proposition in Section 2.3.3.1.) That is,

0 N M :()=+( Mrconv( V Ω∪∩0)) R + (3.5) where M represents the set of all attainable effluent rate vectors, conv(•) denotes the convex hull of the set in the bracket, and Ω is the constraint set of all possible (c, T) pairs consistent with all constraints (including temperature and pressure ranges in the reactor units) for the chemical process.

So by using this alternative way of representing the attainable effluent rate vectors, the problem statement for the general problem can be addressed in a different way:

3.2.2 Statement B

Variable set: Ω

Objective: Maximize M1

Constraints:

0 N MM∈+()conv( V r() Ω∪∩0) R +

Mj ≤ M j j = 2, 3, … q

70 Statement A and Statement B are two essentially equivalent ways of addressing the same problem: How to find out the maximum production rate of a certain desired chemical species over all possible steady-state reactor-separator systems given the feed stream information, the underlying chemical reaction network with its associated kinetics, the available reactor capacity, the temperature and/or pressure ranges in the reactor units, any applicable environmental constraints, and the chemical properties of the involved species.

Although both statements address the same problem, implementation methods for finding the maximum production rate motivated by different statements could be different.

For example, if we look at Statement B, we can see one obstacle right away, that is, the variable set Ω is a continuous set. To find the convex hull

0 N conv( Mr+Ω∪ V () 0) ∩ R + analytically is not an easy task. To solve this problem, it is natural to discretize the continuous set Ω, find the convex hull based on the discretized set and then look for the maximum inside this convex hull (subject to all available constraints). In doing this, the problem will become a linear programming problem, which will be explained later in detail in this chapter.

However, if we look at Statement A, it is quite clear that to find the maximum production rate of the desired species, we need to solve the nonlinear optimization problem. Some nonlinear optimization strategies will be needed here.

71 In conclusion, different statements could lead the implementation methods for finding the maximum production rate in different directions. As will be seen in the next two sections, Statement B leads to several linear methods while Statement A leads to a nonlinear method.

In Section 3.3, five linear methods based on Statement B will be introduced first and in Section 3.4 a nonlinear optimization method based on Statement A will follow after that.

3.3 Linear Methods

In this section, five methods that are based on Statement B will be introduced to solve the general problem stated in Section 3.2, namely, to find the maximum production rate of a certain desired chemical species, designated as A1, over all possible steady-state reactor-separator systems given the underlying chemical reaction network with its associated kinetics, feed stream information, the available reactor capacity, the temperature and pressure ranges in the reactor units, environmental constraints on the assumed undesirable species A2, …, Aq, and the chemical properties of the involved species.

The common idea behind all these five methods is to discretize the continuous constraint set Ω. The reason is that it is very difficult to calculate the convex hull

0 N conv( Mr+Ω∪ V () 0) ∩ R + analytically (since Ω is a continuous set), and consequently the search for the maximum production rate of the desired species inside this convex hull will also be very difficult.

72 However, we can discretize Ω to get a discretized set, say, Ω*, which consists of a set of

(c, T) pairs in Ω and thus Ω* is a subset of Ω. If the discretized set Ω* contains many (c, T) pairs, it could be very close to Ω. So instead of Ω, we can use Ω* to find a convex hull

0* N conv( Mr+Ω∪ V ()0) ∩ R + and this convex hull will be close to the original convex hull

0 N conv( Mr+Ω∪ V () 0) ∩ R + if Ω* is very close to Ω. And to find

0* N conv( Mr+Ω∪ V ()0) ∩ R + will be much easier than to find

0 N conv( Mr+Ω∪ V () 0) ∩ R + .

Then the maximum production rate of our desired species (A1) found based on

0* N conv( Mr+Ω∪ V ()0) ∩ R +

* (let us call this maximum M1,max ) will also be close to the true maximum based on

0 N conv( Mr+Ω∪ V () 0) ∩ R +

true * (let us call the true maximum M1,max ) if Ω is very close to Ω.

Given the general idea behind the methods, let us look at the details of all the five methods whose detailed descriptions are given as follows.

73 3.3.1 The Qhull Once Algorithm

Before introducing the Qhull Once Algorithm, let us first look at some preliminaries.

3.3.1.1 Some Preliminaries

3.3.1.1.1 Introduction to Qhull

Qhull is a freely available C program (downloadable from http://www.qhull.org/) used in computing convex hulls in 2-d, 3-d, or higher dimensions, and also used in other situations (Barber et al., 1996). This thesis mainly uses one of Qhull’s functions — to compute convex hulls. The input and output format of Qhull to compute convex hulls are listed as following:

Input: dimension, number of points, point coordinates

For example,

2 5 1 1 2 3 3 2 3 1 2 2

is a valid input to Qhull that consists of five points in R2 space. These five points are marked in the following figure:

74

Figure 3.3: A five-point input to Qhull.

Output: There are different output options in Qhull to give the final convex hull.

In this thesis, we only use one output option. That is, the output will consist of a set of hyperplanes that bound the final convex hull. (Roughly, a hyperplane can be considered as a plane in a general-dimension space. For example, a hyperplane in a 2-d space is a line; a hyperplane in a 3-d space is a plane.)

For example, for the above input

2 5 1 1 2 3 3 2 3 1 2 2

the output of Qhull will be 75 3 4 -0.8944271909999159 0.4472135954999579 0.4472135954999579 0.7071067811865475 0.7071067811865475 -3.535533905932737 0-11 10-3

The first line shows the dimension of the input points (which is 2 in this example) plus 1. The second line shows the number of hyperplanes, denoted as Nhp, which bound the convex hull. (In this example, four hyperplanes are needed.) Starting from the third line, each line lists a hyperplane’s coefficients (or its normal) followed by its offset. Let

th us use (nj, γj) to denote the j hyperplane’s normal nj and its offset γj (j = 1, …, Nhp). For example, according to the above output, the first hyperplane’s normal is

n1 = (-0.8944271909999159, 0.4472135954999579), and its offset is

γ1 = 0.4472135954999579.

The meaning of all the hyperplanes’ normals and offsets is that a point z lies in the convex hull if and only if all of the following inequalities

nj • z + γj ≤ 0 j = 1, …, Nhp. are satisfied. For example, from the output of the above small example, a point z = [x, y] lies in the convex hull if and only if all the following inequalities

[-0.8944271909999159,0.4472135954999579]i [xy , ]+ 0.4472135954999579 ≤ 0 [0.7071067811865475, 0.7071067811865475]i [xy , ]+ (-3.535533905932737) ≤ 0

[0,−+≤ 1]i [xy , ] 1 0 [1, 0]i [xy , ]+− ( 3) ≤ 0

76 are satisfied. Or, from Figure 3.4 we can see that the convex hull in this example is the set of all points bounded by the following four lines (a hyperplane in a 2-d space is a line), with the convex hull marked as the shadowed area:

In computing the convex hull from input points, there is one situation that Qhull cannot handle. That is, when all input points that are given in Rm space actually live in a linear subspace whose dimension is less than m. For example, four points in R3 space

[0,0,0], [0,1,0], [1,1,0], [1,0,0] actually live in a linear subspace whose dimension is 2, shown in the following figure:

77 x3

x2

[0,1,0] [1,1,0]

x1 [0,0,0] [1,0,0]

Figure 3.5: Four points given in R3 live in a 2-d subspace.

So if we input the following

3 4 0 0 0 0 1 0 1 1 0 1 0 0

to Qhull, Qhull will not be able to calculate the convex hull, which is the shaded quadrilateral in the x1 – x2 plane in Figure 3.5.

We will see in the next section that this causes special difficulty in using Qhull for the general application we have in mind. This special difficulty derives from the fact (to be explained in the next section) that all species formation rate vectors that are given in

RN (where N denotes the number of species) actually live in a linear subspace whose dimension is less than N. This subspace where all species formation rate vectors live is called the stoichiometric subspace, which is explained in detail in the next section.

78 3.3.1.1.2 The Stoichiometric Subspace

Recall that in Section 2.1.2 we gave the definitions of reaction vectors, the rank of a chemical reaction network, and species formation rate vectors. Now we will introduce a new concept, the stoichiometric subspace. The stoichiometric subspace for a reaction network is the span of the reaction vectors for that network.

For example, for the reaction network used in Section 2.1.2.1

AA12+→ A 3

2AA34→ AA14+ A 5 the reaction vectors for this network are:

[-1, -1, 1, 0, 0], [0, 0, -2, 1, 0], [-1, 0, 0, -1, 1], [1, 0, 0, 1, -1].

So according to the definition, the stoichiometric subspace for this network is the set of all vectors in R5 having the following form

α1[-1, -1, 1, 0, 0] + α2[0, 0, -2, 1, 0] + α3[-1, 0, 0, -1, 1] + α4[1, 0, 0, 1, -1] where α1, α2, α3, and α4 are arbitrary real numbers, and [-1, -1, 1, 0, 0], [0, 0, -2, 1, 0], [-1,

0, 0, -1, 1], [1, 0, 0, 1, -1] are the corresponding reaction vectors.

Now let us add nonisothermal mass action kinetics to the above network, with k1, k2, k3, and k4 representing the rate constants:

k1 AA12+→ A 3

k2 2AA34→ k3 AA14+ A 5 k4

79 From the definition of nonisothermal mass action kinetics, we will be able to get the

-1 -1 occurrence rate of each reaction (with units of, say, mol•sec •liter ). The following table lists the occurrence rate for each reaction in the above network:

Reaction Index Reaction Occurrence Rate

E 1 k1 1 AA12+→ A 3 0 RT ke112 cc

E 2 k2 2 2AA34→ 02RT ke23 c

E 3 k3 3 AA14+→ A 5 0 RT ke314 cc

E 4 k4 4 AAA514→+ 0 RT ke45 c

Table 3.1: Occurrence rate of each reaction in a small reaction network.

0 th ki (i = 1, 2, 3, 4): constant coefficient for the i reaction;

th Ei (i = 1, 2, 3, 4): activation energy for the i reaction; cL (L = 1, 2, 3, 4, 5): (local) concentration of species AL;

T: (local) temperature;

R: gas constant.

In general, we can use K(c,T) to represent the (volumetric) occurrence rate function of a reaction at the local composition vector c and the local temperature T. For the previous network, we can use K1(•,•),K2(•,•),K3(•,•), and K4(•,•) to represent the

80 (volumetric) occurrence rate functions of the four reactions. Since we assumed nonisothermal mass action kinetics for this network, the volumetric occurrence rate functions will be:

Reaction Index Reaction Occurrence Rate Function

1 E1 AA12+→ A 3 0 RT K1(c,T) = ke112 cc

2 E2 2AA34→ 02RT K2(c,T) = ke23 c

3 E3 AA14+→ A 5 0 RT K3(c,T) = ke314 cc

4 E4 AAA514→+ 0 RT K4(c,T) = ke45 c

Table 3.2: Occurrence rate function of each reaction in a small reaction network.

0 th ki (i = 1, 2, 3, 4): constant coefficient for the i reaction;

th Ei (i = 1, 2, 3, 4): activation energy for the i reaction; cL (L = 1, 2, 3, 4, 5): (local) concentration of species AL; c = [c1, c2, c3, c4, c5]: (local) composition vector;

T: (local) temperature;

R: gas constant.

81 Notice that in general, K(c, T) could be any function of c and T that gives a non- negative value (since the volumetric occurrence rate of a reaction is always non-negative).

So if we had a different kinetics for the previous network other than the nonisothermal mass action kinetics, the occurrence rate functions K1(•,•), K2(•,•), K3(•,•), K4(•,•) for the four reactions would have been different from what are listed in the table.

After we use K1(•,•), K2(•,•), K3(•,•), and K4(•,•) to represent the occurrence rate functions of the previous four reactions, it is not difficult to figure out the species formation rate of each individual species. Let’s look at species A1. For example, for every unit of the first reaction

AA12+ → A 3 that occurs, there will be one unit of A1 that disappears. This means that if the occurrence rate of this reaction is K1(c,T) at a local composition vector c and local temperature T, the formation rate of A1 per unit volume due to the first reaction will be

(-1)K1(c,T)

For the second reaction

2AA34→ since A1 is not involved in this reaction at all, the formation rate of A1 per unit volume due to the second reaction will be

(0) K2(c,T).

Following the same fashion, the formation rate of A1 per unit volume due to the third reaction

82 AA14+ → A 5 will be

(-1)K3(c,T).

And the formation rate of A1 per unit volume due to the last reaction

AAA514→+ will be

(1)K4(c,T).

Summarizing all the above information, we can see that the species formation rate per unit volume of A1, denoted as r1(c, T), due to all four reactions can be written as follows:

r1(c, T) = (-1)K1(c, T) + (0)K2(c, T) + (-1)K3(c, T) + (1)K4(c, T).

It is not difficult to see that the species formation rate per unit volume of A1 due to all four reactions is the summation of the occurrence rate of each reaction multiplied by the stoichiometric coefficient of A1 in that reaction. Similarly, species formation rates per unit volume for A2, A3, A4, and A5 have the following forms:

r2(c, T) = (-1)K1(c, T) + (0) K2(c, T) + (0)K3(c, T) + (0)K4(c, T);

r3(c, T) = (1)K1(c, T) + (-2) K2(c, T) + (0)K3(c, T) + (0)K4(c, T);

r4(c, T) = (0)K1(c, T) + (1) K2(c, T) + (-1)K3(c, T) + (1)K4(c, T);

r5(c, T) = (0)K1(c, T) + (0) K2(c, T) + (1)K3(c, T) + (-1)K4(c, T).

83 Now the species formation rate vector for this reaction network will be:

r(c, T) = [r1(c, T), r2(c, T), r3(c, T), r4(c, T), r5(c, T)]

= K1(c, T)[-1, -1, 1, 0, 0] + K2(c, T)[0, 0, -2, 1, 0]

+ K3(c, T)[-1, 0, 0, -1, 1] + K4(c, T)[1, 0, 0, 1, -1].

We can see clearly from the above equation that the species formation rate vector is a linear combination of the reaction vectors. The coefficient for each reaction vector is the corresponding reaction occurrence rate at a certain local composition and a certain local temperature. Put in another way, all species formation rate vectors live in the span of the reaction vectors, or the stoichiometric subspace.

For the example network, the dimension of the stoichiometric subspace is 3 since the rank of the set of reaction vectors

{[-1, -1, 1, 0, 0], [0, 0, -2, 1, 0], [-1, 0, 0, -1, 1], [1, 0, 0, 1, -1]} is 3. This means that all species formation rate vectors that are given in R5 actually live in its stoichiometric subspace whose dimension is 3, less than 5.

Recall that in the previous section, it was mentioned that Qhull has difficulty in computing the convex hull of those input points which are given in Rm space but actually live in its subspace whose dimension is less than m. In the application in this thesis, the following convex hull

0 N ( Mr+Ω∪∩conv( V () 0)) R + needs to be computed in order to search for the maximum production rate of the desired species. Since all species formation rate vectors that are given in RN (where N is the number of species) actually live in the stoichiometric subspace whose dimension is less 84 than N, Qhull will have difficulty in computing the above convex hull from the direct input of species formation rate vectors. In order to solve this problem, a technical issue will be discussed near the end of the next section, where implementation of the Qhull

Once Algorithm will be introduced.

3.3.1.2 Implementation of the Qhull Once Algorithm

The Qhull Once Algorithm is based on Statement B in Section 3.2.2, which says that all attainable effluent rate vectors M should satisfy the following:

0 N MM∈+( conv( V r() Ω∪∩0)) R + .

And the maximum production rate of a certain desired chemical species can be found by searching in the convex hull

0 N M := ( Mr+Ω∪∩conv( V () 0)) R + .

It has been mentioned before that this convex hull will be very difficult to find due to the fact that the constraint set Ω is a continuous set. To solve this problem, one solution is to discretize Ω to get a discrete set Ω*, and use this Ω* to get a convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + .

Recall that Ω* is a subset of Ω, and if Ω* is close to Ω, the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + will also be close to the original convex hull

0 N ( Mr+Ω∪∩conv( V () 0)) R + .

85 Consequently, the maximum production rate of our desired species that is found by searching in

0*N ( Mr+Ω∪∩conv( V ()0)) R + will also be close to the true maximum in

0 N ( Mr+Ω∪∩conv( V () 0)) R + .

Based on the above idea, the Qhull Once Algorithm has three major steps:

The first step is to discretize the constraint set Ω to a discrete set Ω*.

The second step is to compute the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + based on the previous discrete set Ω* by using Qhull. A set of bounding hyperplanes will be returned from Qhull.

The last step is to look for the maximum production rate of our desired chemical species in the convex hull found in the second step. The search is conducted within the region confined by the bounding hyperplanes found in the previous step. Since all attainable effluent rate vectors need to satisfy a set of linear inequalities with the coefficients determined by the normals and offsets of the bounding hyperplanes, the search for the maximum production rate of a certain desired species becomes a linear programming problem. A linear programming function “simplx” in Numerical Recipes

(Press et al., 1989) will be used here in searching for the maximum. The following figure shows the flowchart of the Qhull Once Algorithm:

86

1

Ω*

Qhull 2

0*N ( Mr+Ω∪∩conv( V ()0)) R +

simplx 3

Find the maximum in 0*N ( Mr+Ω∪∩conv( V ()0)) R +

Figure 3.6: Illustration of the Qhull Once Algorithm.

The flowchart is just a rough description of the Qhull Once Algorithm. In the next three sections, detailed explanations will be given for each step.

3.3.1.2.1 First Step: Discretization of the Constraint Set Ω

The first step in the Qhull Once Algorithm is to discretize the continuous set Ω to get a discrete set Ω*, which has the following form:

Ω* = {(cθ, Tθ), θ = 1, …, Q} where θ is the index of the points inside Ω*, and Q is the total number of points inside Ω*.

Remember that there is a temperature range and a pressure range in the reactor units. And, depending on the involved chemical species, the (local) concentrations of all the species

87 should be related to the (local) temperature and the (local) pressure. In other words, the temperature-pressure range and the involved chemical species determine the constraint set Ω, and consequently influence the discrete set Ω* since it is a subset of Ω.

To get a feeling of how to discretize Ω to form Ω*, a simple case is given as an example to illustrate a procedure of discretizing Ω. It is the van de Vusse example that we have seen before, where species A1, A2, A3, and A4 constitute an ideal gas mixture.

In this example, we have a temperature range [Tmin, Tmax] and a pressure range

[Pmin, Pmax] in the reactor units. Since Ω* is a collection of (c, T) pairs, the first step of discretization can be discretization of the temperature. In other words, we can, for example, partition the region [Tmin, Tmax] to get a set of m (increasing) discrete values of the temperature:

{T1, T2, …, Tm} where T1 = Tmin, Tm = Tmax. (These m discrete values are not necessarily evenly spaced.)

After the temperature is discretized, the next thing is to get a set of discrete values

i of the composition vector c for each T (i = 1, …, m). Notice that species A1, A2, A3, and

i A4 constitute an ideal gas mixture, so for every discrete value T (i = 1, …, m), the following equation (ideal gas law) should be satisfied by any (c, Ti) ∈ Ω*:

4 P* c = ∑ L i L=1 RT

* where cL is the molar concentration of species AL (L = 1, 2, 3, 4), and P is a local pressure which satisfies

Pmin ≤ P* ≤ Pmax.

88 From this, it is clear that the pressure needs to be discretized before trying to get a set of discrete values of the composition vector. Suppose we partition the region [Pmin, Pmax] to get a set of n (increasing) discrete values of the pressure:

{P1, P2, …, Pn} where P1 = Pmin, Pn = Pmax. (These n discrete values are not necessarily evenly spaced.)

Combine with the previous discrete set

{T1, T2, …, Tm} and we can have another discrete set

P1 P1 { , …, , RT 1 RT m

P2 P2 , …, , RT 1 RT m

…,

Pn Pn ,…, }. RT 1 RT m

The purpose of getting this discrete set is to prepare for the next step: the discretization of the composition vector c, which satisfies:

4 P j cimjn, 1,..., ; 1,..., . ∑ L ===i L=1 RT where cL is the molar concentration of species AL (L = 1, 2, 3, 4).

89 The next task, then, is to assign non-negative values to each cL (L = 1, 2, 3, 4) for

P j every (i = 1, …, m; j = 1, …, n) such that RT i

4 P j cimjn, 1,... ; 1,..., . ∑ L ===i L=1 RT

Notice that, in the van de Vusse example, not every species is reactant. As a matter of fact, from the reaction network

A kk12→AA→ 12 4 k3 2AA13→ it is clear that only species A1 and A2 are reactants. What this means is that the species formation rate vector is only dependent on the concentration of species A1 and A2 since

r(c, T) = [r1(c, T), r2(c, T), r3(c, T), r4(c, T)]

2 rT11131(,c )=− kTckTc ( ) − 2 ( )() rTkTckTc(,c )=− ( ) ( ) 21122 2 rTkTc331(,c )= ( )()

rTkTc422(,c )= ( )

Recall that the reason for getting a discrete set Ω* is to use the following convex hull (which is easier to compute)

0*N ( Mr+Ω∪∩conv( V ()0)) R + to “mimic” the original convex hull (which is difficult to get analytically)

0 N ( Mr+Ω∪∩conv( V () 0)) R + .

This is to provide a base for the search of the maximum production rate of our desired species. Notice that the convex hull

90 0*N ( Mr+Ω∪∩conv( V ()0)) R +

* derives from r(Ω ), which was just shown to be dependent only on c1, c2 (the concentration of species A1, A2) and temperature T in the van de Vusse example. This means that in assigning values for the concentration of each species, there is no need to waste effort to assign values to those species that are not reactants in the reaction network, because they don’t affect the species formation rate vectors and thus they don’t affect the convex hull

0 N ( Mr+Ω∪∩conv( V () 0)) R + where all the attainable effluent rate vectors reside. So in assigning non-negative values

P j to each cL (L = 1, 2, 3, 4) for every (i = 1, …, m; j = 1, …, n) which satisfies RT i

4 P j cimjn, 1,... ; 1,..., ∑ L ===i L=1 RT in the van de Vusse example, there is no need to care about the values for c3 and c4 because they don’t influence the species formation rate vectors. However, c3 and c4 should be non-negative (because concentrations can not be negative), thus imposing the following inequality:

2 P j cimjn≤==, 1,... ; 1,..., . ∑ L i L=1 RT

P j Then the next thing we need to worry about is to assign values for c1 and c2 for each RT i

(i = 1, …, m; j = 1, …, n) so that the above inequality holds.

91 Geometrically, the shadowed area in the following figure shows all possible non- negative c1, c2 values that satisfy

2 P j cimjn, 1,... ; 1,..., ∑ L ≤==i L=1 RT

P j for each (i = 1, …, m; j = 1, …, n). RT i

P j Notice that the maximum value for both c1 and c2 is . So for c1, for example, we can RT i assign a set of, say d1, (increasing) discrete values

{ c1 , c2 , …, cd1 } ( 1 )ij, ( 1 )ij, ( 1 )ij, to c1, such that

c1 = 0, ( 1 )ij, j d1 P ()c1 = i . ij, RT 92 l th Here, c (l = 1, …, d1) means the l discrete value for c1 corresponding to ()1 ij,

i j temperature T and pressure P . (Notice that these d1 discrete values are not necessarily evenly spaced.) Likewise, the same thing can be done to c2. That is, we can assign a set of, say d2, (increasing) discrete values

{ c1 , c2 , …, cd2 } ( 2 )ij, ( 2 )ij, ( 2 )ij, to c2, such that

c1 = 0, ( 2 )ij, j d2 P ()c2 = i . ij, RT

r th Here, c (r = 1, …, d2) means the r discrete value for c2 corresponding to ()2 ij,

i j temperature T and pressure P . Also, these d2 discrete values are not necessarily evenly spaced. And d1 and d2 are not necessarily equal.

After we get a set of discrete values

{ c1 , c2 , …, cd1 } ( 1 )ij, ( 1 )ij, ( 1 )ij, for c1, and a set of discrete values

{ c1 , c2 , …, cd2 } ( 2 )ij, ( 2 )ij, ( 2 )ij,

lr for c2, we need to find all combinations of cc, such that (( 12)ij,,( ) ij)

j lrP ()cc12+≤ () i , imjn = 1,... ; = 1,..., . ( ij,, ij) RT

93 Geometrically, these combinations that satisfy the above inequality correspond to the points on the lattice in the following figure (assuming that d1 = 8, d2 = 9):

The “density” of the lattice depends on k1 and k2, which are the number of discrete values

P j for c1 and c2 for each (i = 1, …, m; j = 1, …, n). RT i

j P lr So now for each i (i = 1, …, m; j = 1, …, n), we have a set of ()cc12,( ) RT ( ij,, ij) combinations (corresponding to the points on the lattice in the above figure) that satisfy:

j lrP ()cc12+≤ () i . imjn = 1,... ; = 1,..., ( ij,, ij) RT

And since c3, c4 don’t influence the species formation rates at all, we can simply assign zero to them. Attach the zero values with those cclr, combinations and we will (( 12)ij,,( ) ij) get a set of composition vectors, denoted as Ci,j (subscript i,j meaning that this discrete 94 P j set corresponds to ), where for each composition vector ci,j inside this set Ci,j, its c1, RT i c2, c3, c4 component (which are denoted as (c1)i,j, (c2)i,j, (c3)i,j, (c4)i,j) satisfy

2 P j cimjn≤==, 1,... ; 1,..., ∑()L ij, i L=1 RT cc==0 ()34ij,, () ij

P j After we get a discrete set of composition vectors Ci,j for each (i = 1, …, m; j RT i

i = 1, …, n), we can combine all elements in Ci,j with their corresponding temperature T to form Ω*.

In summary, for the van de Vusse example, the procedure of discretizing the constraint set Ω consists of the following steps:

(1) Discretizing T, P within range [Tmin, Tmax] and [Pmin, Pmax] to get a discrete set

{T1, T2, …, Tm} for T (such that T1 = Tmin, Tm = Tmax), and a discrete set

{P1, P2, …, Pn} for P (such that P1 = Pmin, Pn = Pmax). From these two discrete sets, we will get another discrete set

P1 P1 { , …, , RT 1 RT m

P2 P2 , …, , RT 1 RT m

…,

95 Pn Pn ,…, }. RT 1 RT m

P j (2) For each (i = 1, …, m; j = 1, …, n) from the above set, get a discrete set RT i

{ c1 , c2 , …, cd1 } ( 1 )ij, ( 1 )ij, ( 1 )ij, for c1, such that

c1 = 0, ( 1 )ij, j d1 P ()c1 = i . ij, RT and a discrete set

{ c1 , c2 , …, cd2 } ( 2 )ij, ( 2 )ij, ( 2 )ij, for c2, such that

c1 = 0, ( 2 )ij, j d2 P ()c2 = i . ij, RT

Go through all combinations of

cclr, , l== 1,..., drd ; 1,..., (()12ij,,( ) ij) 1 2 to find those that satisfy

j lrP ()cc12+≤ () i . ij,, ij RT

Each combination that satisfies the above inequality corresponds to a composition vector whose c1, c2 values are the same as those in the combination, and whose c3, c4 values are

96 P j simply assigned to 0. So for each (i = 1, …, m; j = 1, …, n) we will have a discrete RT i set Ci,j which consists of all the composition vectors whose c1, c2, c3, c4 components

(denoted as (c1)i,j, (c2)i,j, (c3)i,j, (c4)i,j) satisfy

2 P j cimjn≤==, 1,... ; 1,..., ∑()L ij, i L=1 RT cc==0 ()34ij,, () ij

i * (3) Combine all composition vectors in Ci,j with their corresponding T to form Ω , which has the following form:

Ω* = {(cθ, Tθ), θ = 1, …, Q} where Q is the total number of (c, T) pairs in Ω*. The value of Q is dependent on how T

(temperature), P (pressure), and c (composition vector) are discretized.

Geometrically, the following figure illustrates the procedures for discretization of the constraint set Ω in the van de Vusse example: (In this figure, m = 3, n = 3, d1 = 4, d2 =

3. And all discretizations are evenly spaced.)

97 c1 2 2 2 P Tmax P P ()RT 2 all constitute a set l 2 RT 2 {(c ,T ): l=1,…,7} for 2 T2 P 2 2 ()RT ……

…… P ()RT 2 Tmin Pmin Pmax 0 c2

l 1 P 2 same procedure as above {( c ,T ): l=1,…,7} for 2 1 P RT 1 ()RT

combine all these {( cl,Ti), l=1,…,7} for all P j (i=1,2,3; j=1,2,3) to get Ω* RT i

Figure 3.9: A simple discretization of Ω in the van de Vusse example.

We have discussed the discretization procedure of Ω in the van de Vusse example where all species constitute an ideal gas mixture. When the involved species are not an ideal gas mixture, however, the discretization of Ω will be much more complicated because the relationship between the temperature, pressure and the species will not follow the simple ideal gas law, but will have a more complicated form. One case about the nonideal gas mixture will be explained in detail later in Section 4.2 of Chapter 4.

3.3.1.2.2 Second Step: Computation of the Convex Hull from Ω*

In the previous section, we have already studied how to discretize the constraint set Ω to form a discrete set

Ω* = {(cθ, Tθ), θ = 1, …, Q}

98 where Q is the total number of (c, T) pairs in Ω*. After Ω* is formed, the next task is to compute the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + in which the search for the maximum production rate of the desired species will be conducted. Here, r(Ω*) is the set of all species formation rate vectors calculated from the points in Ω*. Since the main part of the above convex hull is

conv( Vr()Ω* ∪ 0), we will use Qhull to compute

conv( Vr()Ω* ∪ 0).

However, there is a technical problem to solve in computing the above convex hull.

Recall that in the introduction of Qhull, we said that Qhull has difficulty with the situation in which the input points that are given in Rm actually live in a linear subspace whose dimension is less than m. And in the introduction of the stoichiometric subspace, it was shown that all species formation rate vectors that are given in RN (N is the number of involved chemical species) actually live in the stoichiometric subspace whose dimension is less than N. This means that Qhull will not be able to calculate

conv( Vr()Ω* ∪ 0) directly. For this reason, a technical issue must be addressed in order to solve this problem.

99 A Technical Issue in the Computation of the Convex Hull from Ω*

Suppose that there are N species involved in the reactions and that the rank of the underlying chemical reaction network is s. This means that the dimension of the stoichiometric subspace (denoted as S) where all species formation rate vectors live is also s. A trick here is to introduce a linear map T: S → Rs which maps the species formation rate vectors from the stoichiometric subspace S to Rs, illustrated in the following figure:

T: S → Rs

s S R

• x • α

Figure 3.10: A linear map from S to Rs.

Suppose we can find an orthonormal basis {b1, …, bs} for S. So for any vector x∈

N S ⊂ R , we can find real numbers α1, α2, …, αs such that

x = α1b1+ α2b2 + … + αsbs.

And α1, α2, …, αs can be determined by the following:

α1 = x•b1

α2 = x•b2

αs = x•bs

100 Now we can use a linear map

T: S → Rs such that for any x ∈ S ⊂ RN,

s Tx = [α1, α2, …, αs] = α ∈ R with α1, α2, …, αs determined by:

α1 = x•b1

α2 = x•b2

αs = x•bs.

This suggests that there is only one vector (α) in Rs corresponding to a given vector (x) in

S under a specific linear map T.

Now that the linear map T: S → Rs transforms the vector x in RN to vector α in Rs, this gives us a hint. That is, instead of looking at

conv( Vr()Ω* ∪ 0) , which Qhull cannot compute directly, we can look at its mapped form by T: S → Rs:

conv{TT( Vrr()Ω=**∪∪00)} conv{ V ( () Ω)}.

This mapped convex hull can be computed by Qhull because the new input (which are all the points in VT ()r()Ω* ∪ 0 ) to Qhull is given in Rs, not RN.

101 And the output of Qhull for the input VT (r()Ω* ∪ 0) will be bounding hyperplanes having the following form:

{(,)n jjγ } j = 1, …, Nhp where j indicates the index of the hyperplanes, Nhp is the number of the hyperplanes, nj

th th is the normal of the j hyperplane, and γ j is the offset of the j hyperplane. This means that a vector α ∈ Rs lies in conv{()} VT r Ω* ∪ 0 if and only if all of the following inequalities are satisfied:

n jjiα + γ ≤ 0 j = 1,…,Nhp (3.6)

Before proceeding to explaining how to utilize the hyperplanes for conv{ VT ()r()Ω* ∪ 0 } to find the maximum production rate of our desired chemical species, there is an issue that needs to be addressed. That is, we want to claim that, if a vector x in S lies in

conv( Vr()Ω* ∪ 0) , then its mapped vector α in Rs (by the linear map T) lies in

conv{ VT (r()Ω* ∪ 0)} .

And vice versa.

The proof is as follows. Given that

xr∈Ωconv( V ()* ∪ 0) ⊂ S and suppose that 102 Ω* = {(ci, Ti), i = 1, …, Q}, from the definition of convex hull, we can find Q + 1 coefficients λ1, λ2, …, λQ+1, such that

0 ≤ λi ≤ 1, i = 1, …, Q+1

Q+1 ∑λi =1, i=1 and

1 1 2 2 Q Q x = λ1V r(c , T ) + λ2V r(c , T ) + … + λQV r(c , T ) + λQ+10 (3.7)

Notice that the right hand side of equation (3.7) can be rewritten as

1 1 2 2 Q Q V [λ1r(c , T ) + λ2r(c , T ) + … + λQr(c , T ) + λQ+10], so

1 1 2 2 Q Q x = V [λ1r(c , T ) + λ2r(c , T ) + … + λQr(c , T ) + λQ+10]. (3.8)

Since the mapped vector of x is α in Rs, that is,

α = Tx, then from equation (3.8) and the linearity property of a linear map,

1 1 2 2 Q Q α = T{V [λ1r(c , T ) + λ2r(c , T ) + … + λQr(c , T ) + λQ+10]}

1 1 2 2 Q Q = V {T [λ1r(c , T ) + λ2r(c , T ) + … + λQr(c , T ) + λQ+10]}

1 1 2 2 Q Q = V [λ1T r(c , T ) + λ2T r(c , T ) + … + λQT r(c , T ) + λQ+1T 0]

1 1 2 2 Q Q = λ1V T r(c , T ) + λ2V T r(c , T ) + … + λQV T r(c , T ) + λQ+1V T 0. (3.9)

103 Notice that the right hand side of equation (3.9)

1 1 2 2 Q Q λ1V T r(c , T ) + λ2V T r(c , T ) + … + λQV T r(c , T ) + λQ+1V T 0

∈ conv{ VT (r()Ω* ∪ 0)} .

This means that

α ∈ conv{ VT (r()Ω* ∪ 0)} .

It is not difficult to prove that if

α ∈ conv{ VT (r()Ω* ∪ 0)} , then

xr∈Ωconv( V ()* ∪ 0) , following the same technique.

After using Qhull to find the bounding hyperplanes for the convex hull

conv{ VT (r()Ω* ∪ 0)} , the next task is to find the maximum production rate of our desired chemical species. It should be kept in mind that the computed convex hull lies in Rs, not RN.

3.3.1.2.3 Third Step: Finding the Maximum Production Rate

In the previous two sections, the constraint set Ω was discretized to get a discrete set Ω*, and Qhull was used to compute the bounding hyperplanes (in Rs) of the convex hull

104 conv{ VT (r()Ω* ∪ 0)} .

Remember that our ultimate objective is to find the maximum production rate of our desired chemical species among all attainable effluent rate vectors, which constitute the set

0 N ( Mr+Ω∪∩conv( V () 0)) R + .

The next step is to use the results of the computed bounding hyperplanes in Rs to search for the maximum production rate. Before that, first let us refresh our memory of the statement of the general problem. The following is a copy of Statement B in Section

3.2.2:

Statement B

Variable set: Ω

Objective: Maximize M1

Constraints:

0 N MM∈+()conv( V r() Ω∪∩0) R +

Mj ≤ M j j = 2, 3, …, q

Here, A1, …, AN are the involved chemical species whose production rates are M1, …,

MN. Assume that A1 is our desired chemical species, and we have certain constraints on the production rate of A2, …, Aq.

105

As has been explained before, the fact that the constraint set Ω is a continuous set makes the computation of the convex hull

0 N ( Mr+Ω∪∩conv( V () 0)) R + very difficult. So instead of using Ω, we use a discrete set Ω* (which is a subset of Ω) to compute the following convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + and then try to look for the maximum M1 (A1 is our desired product) in this convex hull.

Notice that the maximum M1 found in the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + is not the true maximum. The true maximum M1 should be found from

0 N ( Mr+Ω∪∩conv( V () 0)) R + .

* However, if the discrete set Ω is very close to Ω, the maximum M1 found in the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + will also be close to the true maximum.

Now that the general problem has been reviewed, the following section introduces a way to find the maximum M1 among

0*N ( Mr+Ω∪∩conv( V ()0)) R +

106 by utilizing the bounding hyperplanes in Rs of the following convex hull

conv{ VT (r()Ω* ∪ 0)} , computed by Qhull, where T represents a linear map from the stoichiometric subspace S to Rs.

Notice that any attainable effluent rate vector M can be expressed as

MM= 0 +≥ x0 where M0 is the molar feed rate vector and x∈ conv( Vr()Ω* ∪ 0) . Also, any

x∈ conv( Vr()Ω* ∪ 0) can be written as the following linear combination

s xb= ∑αii i=1 where {b1, …, bs} is an orthonormal basis for the stoichiometric subspace S used in the linear map T, and it was proved before that

* α =∈[αα1 ,...,s ]conv{ VT (r ( Ω ) ∪ 0)} .

In other words, any attainable effluent rate vector M can be expressed as

s 0 MM= +≥∑αii b0, (3.10) i=1

0 where M is the molar feed rate vector, {b1, …, bs} is an orthonormal basis of the stoichiometric subspace S used in the linear map T, and

* α =∈[αα1 ,...,s ]conv{ VT (r ( Ω ) ∪ 0)} .

107 From (3.10) we can see that

s 0 M LL=+MbLN∑α iiL, = 1,..., (3.11) i=1

th where L denotes the index of the species, ML is the molar effluent rate of the L species,

0 th th M L is the molar feed rate of the L species, and biL is the L component in vector bi among the orthonormal basis {b1, …, bs} for the stoichiometric subspace S.

* Recall that for any α = [α1 ,...,α s ], it lies in conv{ VT (r()Ω ∪ 0)} if and only if all of the following inequalities

n jjiα +γ ≤=0, jNhp 1,..., (3.12)

th are satisfied. Here, (nj, γj) are the normal and offset of the j bounding hyperplane for the convex hull

conv{ VT (r()Ω* ∪ 0)} and Nhp is the total number of the bounding hyperplanes.

Combining equation (3.10), (3.11), (3.12), a new problem statement for searching for the maximum production rate of our desired species can be configured as follows:

Variables: α = [α1, α2, …, αs]

s 0 Objective: maximize M11=+Mb∑αii 1 i=1

Constraints:

(1) Hyperplane bounding constraints:

n jjiα +≤γ 0 108 (j = 1, 2, …, Nhp, where Nhp is the total number of bounding hyperplanes of the convex hull conv{ VT ()r()Ω* ∪ 0 } .)

(2) Positivity constraints:

s 0 MM=+∑αii b ≥0 i=1

(3) Environmental constraints:

s 0 M LL=+MbM∑α iiLL ≤ i=1

(L = 2, …, q; assume that we have constraints on the effluent rates of the 2rd, …, qth species.)

This new problem statement makes the search for the maximum production rate a linear programming problem because both the objective and the constraints are linear functions of the variables. The result of this linear programming will give the maximum production rate of our desired chemical species which is close to the “true” maximum as long as the discrete set Ω* is close enough to Ω. To solve this linear programming problem, one can use readily available linear programming modules such as simplx in

Numerical Recipes (Press et al., 1989).

109 3.3.1.2.4 Summary of the Qhull Once Algorithm

To summarize the procedures in the Qhull Once Algorithm, here is a brief review of what has been explained in detail in the previous three sections.

The first step in the Qhull Once Algorithm is to discretize the constraint set Ω to get a discrete set

Ω* = {(cθ, Tθ), θ = 1, …, Q} where Q is the total number of (c, T) pairs in Ω*.

The second step in the Qhull Once Algorithm is to use this discrete set Ω* in the computation of the following convex hull

conv{ VT (r()Ω* ∪ 0)} by Qhull. The output of Qhull will be a set of bounding hyperplanes for

conv{ VT (r()Ω* ∪ 0)} which are

(n jj ,γ ) j = 1,..., Nhp

th th where nj is the normal of the j hyperplane, γj is the offset of the j hyperplane, and Nhp is the total number of the bounding hyperplanes.

The third and last step in the Qhull Once Algorithm is to solve the following linear programming problem:

Variables: α = [α1, α2, …, αs]

s 0 Objective: maximize M11=+Mb∑αii 1 i=1 110 Constraints:

(1) Hyperplane bounding constraints:

n jjiα +≤γ 0

(j = 1, 2, …, Nhp, where Nhp is the number of bounding hyperplanes of the convex hull conv{ VT ()r()Ω* ∪ 0 } .)

(2) Positivity constraints:

s 0 MM=+∑αii b ≥0 i=1

(3) Environmental constraints:

s 0 M LL=+MbM∑α iiLL ≤ i=1

(L = 2, …, q; assume that we have constraints on the effluent rates of the 2rd, …, qth species.)

The result of this linear programming problem will give the maximum production rate of our desired chemical species over all possible steady-state reactor-separator systems subject to certain constraints, including temperature, pressure constraints and environmental constraints.

111 3.3.2 The Qhull Twice Algorithm

In the Qhull Once Algorithm there is an efficiency problem. Recall that the first step of this algorithm is to discretize the constraint set Ω to get a discrete set

Ω* = {(cθ, Tθ), θ = 1, …, Q} where Q is the total number of (c, T) pairs in Ω*. And then all the points were used in the computation of the convex hull

conv{ VT (r()Ω* ∪ 0)} .

It is important to understand that the larger the number of points given to Qhull as input, the longer will computation take. However, not all the points in Ω* are important in getting the above convex hull. For example, suppose that there are 1000 points in Ω*.

And out of these 1000 points, maybe only 100 points are needed to get the same convex hull as that obtained by using all the 1000 points. In other words, out of all the 1000 points, only 100 points shape the convex hull and the remaining 900 points just sit inside the convex hull configured by those important 100 points. This says that it would be very nice if those important points can be found out before the computation of the convex hull.

Unfortunately, this is not easy. Which points are important will not be known unless the convex hull is first computed. Nevertheless, we can see that there is a redundancy problem in the computation in the Qhull Once Algorithm. And how to get rid of (at least some of) the redundancy leads to the second algorithm, which is called the Qhull Twice

Algorithm.

112 The basic idea of the Qhull Twice Algorithm is the same as that of the Qhull Once

Algorithm: discretize the constraint set Ω to get a discrete set Ω*, use Qhull to compute

conv{ VT (r()Ω* ∪ 0)} , and use linear programming techniques to find the maximum production rate of our desired chemical species in

0*N ( Mr+Ω∪∩conv( V ()0)) R + .

The difference between the Qhull Once and the Qhull Twice Algorithm is that instead of using all points of Ω* at once to compute

conv{ VT (r()Ω* ∪ 0)} , the Qhull Twice Algorithm divides Ω* into two parts and computes

conv{ VT (r()Ω* ∪ 0)} in two steps. (It is reflected in the names of these two algorithms. Qhull Once Algorithm is named so because Qhull is used only once. Qhull Twice Algorithm is named so because Qhull is used twice.) The difference between the Qhull Once and the Qhull

Twice Algorithm is illustrated in Figure 3.11.

113 Ω* Ω*

* * Ω1 Ω2

Qhull

* conv{ VT (r()Ω1 ∪0)} Qhull

Ω**⊂ Ω*

Qhull

conv{ VT ()r()Ω* ∪0 } conv{ VT (r()Ω** ∪0)}

simplx simplx

Find maximum M1 in Find maximum M1 in 0*N 0**N ( Mr+Ω∪∩conv( V ()0)) R + ( Mr+Ω∪∩conv( V ()0)) R +

Qhull Once Algorithm Qhull Twice Algorithm

Figure 3.11: Comparison of Qhull Once and Qhull Twice Algorithm.

A detailed explanation of the Qhull Twice Algorithm is given as follows.

The first step of the Qhull Twice Algorithm is the same as that in the Qhull Once

Algorithm, namely, to discretize Ω and get a discrete set Ω*. Then divide Ω* into two

* * * subsets: Ω1 and Ω2 . (Normally we can choose a subset of Ω consisting a small number

* * * * of points in Ω to be Ω1 and let the rest of the points in Ω constitute the set Ω2 .)

114 After this, use Qhull to compute

* conv{ VT (r()Ω1 ∪ 0)}

* * based on Ω1 . If Ω1 has few points in it, the above convex hull will be rather coarse compared to the convex hull

conv{ VT (r()Ω* ∪ 0)} .

(The benefit of getting this coarse convex hull is that it provides a “template” on which more precise modifications can be made to get the final convex hull, as will be explained next.)

* After the coarse convex hull conv{ VT (r()Ω1 ∪ 0)} is obtained, use this convex

* * * * hull to test all the points in Ω2 . For any point (c , T ) in Ω2 , if

VTT rc(,** ) is in

* conv{ VT (r()Ω1 ∪ 0)} , discard it. Otherwise, keep it. (Because only those points which are outside of the initial

* convex hull conv{ VT ()r()Ω1 ∪ 0 } will influence the shape of the final convex hull.)

* * Repeat doing this until we find out a set of points in Ω2 (call this set Ψ2 ) which satisfies the following:

** Ψ⊂Ω22 ** VTTrr()Ψ21∩∪ conv{} V () ()Ω=∅0

115 * * ** ** Combining Ω1 and Ψ2 to get a set Ω . Notice that there are less points in Ω than in Ω*, but the convex hull

0**N ( Mr+Ω∪∩conv( V ()0)) R + based on Ω** is the same as the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + based on Ω*.

As was done in the Qhull Once Algorithm, we can use Ω** as the input to Qhull to calculate the bounding hyperplanes. Once we know the bounding hyperplanes for the final convex hull

conv{ VT (r()Ω** ∪ 0)} , we can use a linear programming procedure such as simplx to look for the maximum production rate of the desired chemical species.

3.3.3 The Linear Programming (LP) Only Algorithm

Both Qhull Once and Qhull Twice depend on Qhull to get the convex hull

conv{ VT (r()Ω* ∪ 0)} .

And after the bounding hyperplanes of the above convex hull are found, both algorithms use a linear programming procedure simplx to search for the maximum production rate of our desired chemical species. However, do we have to use Qhull? Or is there some other way, using only linear programming, to find the maximum production rate without turning to Qhull? 116 The answer is yes. And the reason is as follows:

First recall that all attainable effluent rate vectors M must satisfy the following:

0 N MM∈+( conv( V r() Ω∪∩0)) R + which was first given in Statement B in Section 3.2.2.

From the definition of convex hull, a convex hull of a set Ψ ⊂ RN is the set of all

(finite) convex combinations of elements in Ψ. If we think of Vr()Ω∪* 0 as the set Ψ, then the convex hull of Vr()Ω∪* 0 is the set of all (finite) convex combinations of elements in Vr()Ω* ∪ 0 . Suppose there are Q points in Ω* such that

Ω* = {(ci, Ti): i = 1, …, Q}, then we can introduce Q + 1 variables

λ1, λ2, …, λQ+1 such that

*1122 QQ  conv() Vrrcrcrc(Ω∪ )00 ={ Vλλ12 ( , T ) + ( , T ) ++ ... λQQ ( , T ) + λ+ 1} where

λi ≥ 0, (i = 1, …, Q+1)

Q+1 ∑λi =1. i=1

Notice that

11 2 2 QQ {VTλλ12rc( , )++++ rc ( , T ) ... λQQ rc ( , T ) λ+ 10 }

=

11 2 2 QQ {VTλλ12rc( , )+++ rc ( , T ) ... λQ rc ( , T ) },

117 so actually we only need to use Q variables

λ1, λ2, …, λQ such that

*1122 QQ conv() Vrrcrcrc(Ω∪ )0 ={ Vλλ12 ( , T ) + ( , T ) ++ ... λQ ( , T )} where

λi ≥ 0, (i = 1, …, Q)

Q ∑λi ≤1. i=1

After we introduce variables λ1, λ2, …, λQ to represent the convex hull

conv( Vr()Ω* ∪ 0), the problem of searching for the maximum production rate of the desired species now becomes a linear programming problem:

Variables:

* λ1, λ2, …, λQ (Q is the total number of points in Ω )

Objective:

Q 0ii maximize M 11=+MV∑λ i1 r(,c T ) i=1

Constraints:

Positivity Constraints:

Q 0 ii MM=+VT∑λi rc(, ) ≥ 0 i=1

118 Environmental Constraints:

Q 0 ii M j = M j +V ∑λijrT(,c )≤ M j (j = 2, …, q) i=1

Constraints on Variables:

λi ≥ 0 (i = 1, …, Q)

Q ∑λi ≤ 1 i=1

Notice that Qhull is not used here to find the convex hull. Only a linear programming procedure (such as simplx) is needed in this algorithm to solve the above linear programming problem. The result of this linear programming problem will produce the values of all λi (i = 1, …, Q) which will give the maximum M1. For example, after the calculation, if the values of λi (i = 1, …, Q) are

** * λ12,λλ ,..., Q then the maximum M1 will be

Q max 0 * ii M1 = M1 +V ∑λi rT1(,c ). i=1

Comparing with the Qhull Once Algorithm where a linear programming procedure was also used in the final step to find the maximum production rate, the linear programming problem in this Linear Programming Only Algorithm is different from that in the Qhull Once Algorithm. In the linear programming problem for the Linear

Programming Only Algorithm, the variables correspond to all the points in Ω* (so the number of variables is usually large); yet in the linear programming problem for the last

119 step in the Qhull Once Algorithm, the variables need to satisfy a set of inequalities determined by the previously calculated hyperplanes (and the number of variables is equivalent to the rank of the underlying chemical reaction network).

A disadvantage of the Linear Programming Only Algorithm is the large number of variables involved (corresponding to the large number of points in Ω* needed to

* approximate Ω closely). Another concern is that, most of the time, not all λi (i = 1, …, Q) which give the maximum production rate of the desired species (assuming A1) are positive. (As a matter of fact, many times almost all of them are zero.) This means that only a small number of the variables are important and the rest are redundant. However, similar to what has been explained in the Qhull Once Algorithm, we will not be able to find out which λi are important until we input all variables and finish the whole linear programming problem. But still, this gives us a hint similar to the idea used in the Qhull

Twice Algorithm. That is, it might be a good idea if we can run an initial “screening” to eliminate some of the redundant variables before we solve the linear programming problem. This idea is implemented in the next algorithm called the Qhull Once + Linear

Programming Algorithm.

3.3.4 The Qhull Once + Linear Programming Algorithm

The idea of this algorithm is very similar to that of the Qhull Twice Algorithm.

The following Figure 3.12 illustrates the idea of the Qhull Once + Linear Programming

Algorithm compared with the Qhull Twice Algorithm.

120 Ω* Ω*

* * * * Ω1 Ω2 Ω1 Ω2

Qhull Qhull

* * conv{ VT ()r()Ω1 ∪0 } conv{ VT (r()Ω1 ∪0)}

Ω** ⊂ Ω* Ω** ⊂ Ω*

Qhull simplx conv{ VT ()r()Ω** ∪0 }

simplx

Find maximum M1 in Find maximum M1 in 0**N Mr0**+Ω∪∩conv V ()0 R N ()Mr+Ω∪∩conv() V ()0 R + ( ( )) + as in Qhulll Once as in LP Only

Qhull Twice Algorithm Qhull Once + LP Algorithm

Figure 3.12: Comparison of Qhull Once + LP and Qhull Twice Algorithm.

The first step in the Qhull Once + Linear Programming Algorithm is the same as that in the Qhull Twice Algorithm. Namely, discretize the constraint set Ω to get a

* * * discrete set Ω and then divide this set into two sets: Ω1 and Ω2 . Use Qhull to calculate

* the following convex hull based on Ω1 .

* conv{ VT (r()Ω1 ∪ 0)}

121

After the above convex hull is obtained, use this convex hull to test all the points

* * * * in Ω2 . For any point (c , T ) in Ω2 , if

VTT rc(,** ) is in

* conv{ VT (r()Ω1 ∪ 0)} , discard it. Otherwise, keep it. (It is the same as what was done in Qhull Twice.) Repeat

* * doing this until we find out a set of points in Ω2 (call this set Ψ2 ) which satisfies the following:

** Ψ⊂Ω22 ** VTTrr()Ψ21∩∪ conv{} V () ()Ω=∅0

* * ** ** Combining Ω1 and Ψ2 to get a set Ω . Again, there are less points in Ω than in

Ω*, but the convex hull

0**N ( Mr+Ω∪∩conv( V ()0)) R + based on Ω** is the same as the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + based on Ω*.

Starting from this point, Qhull Twice would use Ω** as the input to Qhull, calculate the bounding hyperplanes, and then search for the maximum production rate (as in Qhull Once) based on the hyperplanes. However, we could also use all the points in 122 Ω** directly in a linear programming problem (avoiding Qhull) to find the maximum production rate, just as what was done in the Linear Programming Only Algorithm. And this is how the Qhull Once + LP Algorithm is generated.

Although the contents of the previous four algorithms are different, the basic idea is the same. They all start from the discretization of the constraint set Ω to get a discrete set Ω*. And then based on this discrete set Ω*, the search for the maximum production rate of our desired chemical species is conducted in the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + .

As has been explained before, the maximum found from the above convex hull is not the true maximum. However, if Ω* is very close to Ω, the maximum found in

0*N ( Mr+Ω∪∩conv( V ()0)) R + will also be close to the true maximum.

The problem is, no matter how large the discrete set Ω* is, there are finite number of (c, T) pairs in Ω*. Among those points which lie in Ω but are not included in Ω*, there could be some important points in shaping the convex hull

0 N ( Mr+Ω∪∩conv( V () 0)) R + .

In other words, one can never be sure that all important points are included in Ω* which shapes the convex hull (or the region of all the attainable effluent rate vectors)

0 N ( Mr+Ω∪∩conv( V () 0)) R + .

123 One thing that can be done (at least theoretically) is to create a really large set of

Ω* so that hopefully Ω* encompasses many important points, if not all. However, in a real implementation, the number of points in Ω* is limited by the available memory. There is always a limit in the size of Ω* and even if we can create a very large Ω*, it probably will not be practical to use because the time to process all these points could be very long.

Another thing that can be done is to start from a reasonably small set of Ω*, calculate the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + , and then, based on the above convex hull, try to find more important points which were not included in Ω*. (More details will be introduced in the next section.) Then we can combine these important points with the original Ω* to form a new Ω*, and repeat the above procedure until the maximum found after each consideration of

0*N ( Mr+Ω∪∩conv( V ()0)) R + remains approximately the same. In other words, this method involves “enlarging” the set

Ω* and tries to capture more important points after each “enlarging” step. This idea is implemented in the following algorithm called the Multi-stage Linear Programming

Algorithm.

3.3.5 The Multi-stage Linear Programming Algorithm

The following Figure 3.13 illustrates the procedures used in the Multi-stage

Linear Programming Algorithm. The idea behind this algorithm is as follows. Recall that in Section 3.3.3, the Linear Programming Only Algorithm is used to find the maximum 124 * M1 based on a fixed discretized set Ω . After the calculation, we will get the maximum

M1 and the set of values of those variables λ1, λ2, …, λQ which produce this maximum M1.

We know already that the non-zero-valued variables in λ1, λ2, …, λQ means that the corresponding (c, T) pairs in Ω* are the important points in shaping the convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + .

The Linear Programming Only Algorithm would then stop at this point. However, if we think one step further, we might ask ourselves: Since we now know the important points, maybe the points “surrounding” those important points are also important? Moreover, if we can find some “surrounding” points around those important points, and if we include them in the original Ω* and repeat the linear programming based on the expanded Ω*, then maybe we will get a much better result.

These questions lead to the Multi-stage Linear Programming Algorithm. The following is the detailed procedure.

Start from a discrete set Ω* (which need not to be a really large set) and do the linear programming problem according to the Linear Programming Only Algorithm.

After this, we will get a set of non-zero-valued λi which give a maximum M1. The points

* in Ω which correspond to those non-zero-valued λi are important points which shape the following convex hull

0*N ( Mr+Ω∪∩conv( V ()0)) R + .

Find some “surrounding” points around the above important points and include them in the original Ω* to form a new Ω*. For the newly formed Ω*, do linear programming again and find a new set of non-zero-valued λi which give a new maximum 125 * M1. Repeat the “expand Ω  do linear programming” procedure until the maximum M1

(after each linear programming) remains approximately the same or the computation time exceeds a certain limit.

original Ω*

new Ω*

r(Ω*)

LP Find surrounding important points and * non-zero λi and maximum M1 add to original Ω

Does M1 change very slowly No or does the time consumed exceed the limit?

Yes

STOP

Figure 3.13: Illustration of the Multi-stage Linear Programming Algorithm.

3.3.6 Summary of All Linear Methods

We have introduced five algorithms in the previous sections: the Qhull Once

Algorithm, the Qhull Twice Algorithm, the Linear Programming Only Algorithm, the

Qhull Once + Linear Programming Algorithm, and the Multi-stage Linear Programming

126 Algorithm. All of these five algorithms have something in common. That is, they all derive from Statement B in Section 3.2.2 and they are all based on the discretization of the constraint set Ω. After the discretization, the original optimization problem then becomes a linear programming problem.

The final maximum from the linear programming problem depends largely on how the constraint set Ω is discretized and how large the discrete set Ω* is. To get a feeling of how large the number of points could be inside Ω*, let us do a simple calculation. Suppose that there are five species involved in the chemical reactions that constitute an ideal gas mixture. Also suppose that the factor that is used to evenly partition temperature, pressure, and concentrations is 100. This means that there will be

1002 temperature-pressure combinations and for each combination, there will be roughly

1005-1 composition vectors. Therefore, the total number of composition vectors will be in the order of 1012. Keep in mind that this is a simple case where only five species are involved. If the number of species gets larger, the total number of points will increase exponentially.

Besides the large number of points that could be created, the complexity of how these points are to be created is also one of the concerns. In ideal-gas-mixture situation, a linear discretization could be used (although it hasn’t been shown to be a very efficient way). However, if the involved species do not follow ideal-gas-mixture behavior, how to discretize the concentrations will get very complicated.

127 Based on all these concerns, a better and more professional discretization might be needed. And this leads to a different method, explained in the next section.

3.4 A Nonlinear Method

All five algorithms that were introduced in previous sections are based on

Statement B in Section 3.2.2. They use the same idea of discretizing the constraint set Ω, which makes the implementation of searching for the maximum production rate of our desired species into a linear optimization problem. However, if we look at Statement A in

Section 3.2.1, the implementation of searching for the maximum production rate of the desired species is a nonlinear optimization problem. Let’s take a look at Statement A, repeated below:

Statement A

Variables:

1 2 s+1 1 2 s+1 1 2 s+1 λ1, λ2, …, λs+1, c , c , …, c , T , T , …, T , P , P , …, P

Objective:

0112211ss++ maximize MMVrT1=+ 1[λλ 11 (cc , ) + 21 r ( , T ) ++ ... λs+ 11 r ( c , T )]

Constraints:

0 ≤ λi ≤ 1 i = 1, 2, …, s+1

s+1 ∑λi ≤1 i=1

Tmin ≤ Ti ≤ Tmax i = 1, 2, …, s+1

Pmin ≤ Pi ≤ Pmax i = 1, 2, …, s+1 128 i cL ≥ 0 i = 1, 2, …, s+1; L = 1, 2, …, N

f(ci,Ti, Pi) = 0 i = 1, 2, …, s+1

0112211ss++ MMVrTLL=+[λλ12 L (cc , ) + r L ( , T ) ++ ... λ sL+ 1 r ( c , T )] ≥ 0

L = 1, 2, …, N

0112211ss++ MMVrTjj=+[λλ12 j (cc , ) + r j ( , T ) ++ ... λ sj+ 1 r ( c , T )] ≤ M j

j = 2, …, q

Assume that s is the rank of the underlying chemical reaction network. According to the CFSTR Equivalence Principle, we can use an (s+1)-CFSTR-only design to find out all possible molar effluent rate vectors, by varying the combinations of the volumes, the composition vectors, and the temperatures in all CFSTRs. To find the maximum production rate of our desired species is just a search inside all those possible effluent rate vectors.

1 2 s+1 1 2 s+1 1 2 Notice that the variables λ1, λ2, …, λs+1, c , c , …, c , T , T , …, T , P , P , …,

Ps+1 influence both the objective function and some of the constraints nonlinearly. This means that, according to Statement A, the implementation of the search for the maximum production rate of the desired species is a nonlinear optimization problem. The result of this nonlinear optimization problem will tell us the maximum production rate of our desired chemical species. To solve the nonlinear optimization problem, a good nonlinear optimization strategy is needed. And for the purpose of getting fast and reliable results, a nonlinear solver called Solver DLL (Solver Dynamic Link Library) [76] was used.

129 Solver DLL is a commercial solver by Frontline Systems, Inc. [76] It provides a tool for solving linear, quadratic, nonlinear, nonsmooth, and mixed-integer optimization problems. What we need from the Solver DLL [76] is mainly its ability to solve nonlinear optimization problems, because the problem we are interested in (which is to get the maximum production rate of our desired species over all possible steady-state reactor- separator designs) is a nonlinear optimization problem. Solver DLL [76] uses different

“engines” or algorithms to solve different types of optimization problems. For nonlinear optimization problems, it uses a so-called “multistart” or “clustering” method to search for the global optimum. Roughly, the “multistart” method starts from choosing candidate starting points, finds local optima from those chosen starting points, compares all the local optima to return the best local optimum as the global optimum. Here, Solver DLL

[76] performs a better and more professional discretization than that used in the previously introduced five linear methods. However, all those experimental linear methods don’t involve the commercial-grade solver and they are freely open to the users.

Since Solver DLL [76] is used in solving the nonlinear optimization problem in

Statement A, we call our new algorithm the Solver DLL method, which is essentially a nonlinear optimization method.

Until now, all algorithms including five linear methods and one nonlinear method have been introduced. Based on these algorithms, a practical implementation tool or a software package has been developed. This software package is meant to provide a convenient and fast tool to calculate the maximum production rate of a certain desired

130 chemical species provided the underlying chemical reactions, kinetic information, and other information including the temperature and pressure range in the reactor units, maximum reactor capacity, applicable environmental constraints, and chemical properties of all involved species. Because of the purpose of the software package, we call it the

Productivity Limit Calculator (PLC), which will be demonstrated in the next chapter.

After the demonstration, some case studies will be conducted in Chapter 5 where the results are provided by using PLC.

The importance of the Productivity Limit Calculator is that it is an experimental tool that permits evaluation and comparison of all the methods discussed. In particular,

PLC incorporates in one framework all of the methods discussed, and the user can choose any of them in a concrete problem. In this way, PLC can be used to compare one method to another.

131

CHAPTER 4

A SOFTWARE PACKAGE: THE PRODUCTIVITY LIMIT

CALCULATOR

The software package Productivity Limit Calculator was developed by using

Borland Delphi, a rapid development in Pascal-based programming environment. The software works in a sequential way. Namely, it collects all necessary information step by step from the user before searching for the maximum production rate of the desired chemical species based on the user’s input. To better explain how the software works, let us look at how it handles the van de Vusse example.

4.1 Demonstration of the Software Package by the van de Vusse Example

Just as a reminder, the following is a restatement of the problem associated with the van de Vusse network:

For the van de Vusse network with non-isothermal mass action kinetics

A kk12()TT→AA ()→ 12 4 k3 ()T 2AA13→ 132 the temperature-dependent rate constants are listed as follows (with activation energies in kcal/mol):

3 -1 k1(T) = 4.22 × 10 exp(-10/RT) (s )

5 -1 k2(T) = 1.02 × 10 exp(-18/RT) (s )

8 k3(T) = 5.24 × 10 exp(-22/RT) (L/mol•s)

Suppose that species A1, A2, A3, A4 constitute an ideal gas mixture, that the allowable temperature range in the reactor components is [373.15, 573.15] K, that the pressure range in the reactor components is [0, 10] bar, that the maximum total reactor volume is

1000 liters, and that A3 is an environmentally harmful species that should not be produced at more than 0.1 mol/s. Given the molar feed rate vector

0 0000 M = [M1234 ,M ,M ,M ] = [10, 0, 0, 0] mol/s

0 (where ML means the molar feed rate of species AL, L = 1, 2, 3, 4), what is the maximum molar effluent rate we can get for A4 over all possible steady-state reactor-separator systems which are consistent with all the above specifications?

The software package can be used to solve this problem. After the software is opened, the very first page looks like the following:

133

Basically, it asks for information of the chemical reaction network  how many species are there in the network, how is the user going to name them, and what are the reactions. For example, for the van de Vusse example, there are four species A1, A2, A3, and A4. And after we input the information of the reaction network, this page will look like:

134

After the information about the chemical reaction network has been input, a click of the button “Next >>” on the first page will take the user to the second page:

135

The second page asks for information about the nature of the mixture and the kinetics. There are three options to choose for the nature of the mixture: ideal gas mixture, incompressible liquid solution, or nonideal gas mixture that satisfies the Soave-Redlich-

Kwong (SRK) Equation of State. If the option of liquid solution is chosen, the software will ask for choices of the solubility limits, whether the solubility is a constant, a linear function of temperature, or any function of temperature. Otherwise, if a liquid solution is not chosen, the solubility limits option will be grayed out, as can be seen in the above picture. For kinetics choices, the software also provides three options: isothermal mass action kinetics, non-isothermal mass action kinetics, or any user-defined function.

136 For the van de Vusse example, it is assumed that the species constitute an ideal gas mixture, and that the kinetics is non-isothermal mass action kinetics. So we can check the corresponding options and go to the next page, seen as follows:

On this page, the software will ask for data of the kinetics. (From different choices of the kinetics made in the previous page, the software will show different pages at this step.) Since the kinetics of the van de Vusse example is non-isothermal mass action kinetics, the software will show the page that looks like the above picture. On this page for the van de Vusse example, the software asks for data of the rate constant pre-

137 multiplier coefficients and the activation energies of all reactions. For the purpose of this example, since we presume that the constant coefficients and the activation energies of all reactions (in units of kcal/mol) in the van de Vusse example are as follows:

3 -1 k1(T) = 4.22 × 10 exp(-10/RT) (s )

5 -1 k2(T) = 1.02 × 10 exp(-18/RT) (s )

8 k3(T) = 5.24 × 10 exp(-22/RT) (L/mol•s) we then input the constant coefficients and the activation energies data into the table and go to the next step:

138 This is a page where the software asks for information about the feed streams, the environmental constraints (if there are any), and the target species whose production rate needs to be maximized.

For the van de Vusse example, we assume that only A1 appears in the feed stream and that the flow rate of the feed stream is 10 mol/s. As was seen before, we want to maximize the production rate of species A4 while keeping the production rate of species

A3 less than 0.1 mol/s. All the information can be put into the tables on this page. Notice that in the “Constraints” table, a positive number shows the maximum allowable production rate for the corresponding species and a zero value means no constraint on the corresponding species. In the “Objective weights” table, any positive value means the

“weight” of the corresponding species in the objective function. For example, if the

“weight” of A1 is 3 and the “weight” of A2 is 6.4, it means that the objective function is to maximize 3M1+6.4M2. Since our goal in the van de Vusse example is to maximize the production rate of A1, we can simply put “1” as the weight for A4. After all the information is input, the software will take us to the next page:

139

This is the last step where the software finishes collecting all necessary information. On this page, the software will ask for information about temperature range, pressure range, maximum reactor capacity, and the method to be used in the computation.

For the van de Vusse example, the allowable temperature range in the reactor units is [100, 300] °C or [373.15, 573.15] K; the pressure range in the reactor units is [0,

50] bar; and the maximum total reactor volume is 1000 liters. In addition to all this information, the software package provides six methods that were described before (five linear methods and one nonlinear method) to solve the problem. In the above picture, the

Solver DLL nonlinear method has been chosen and at the left bottom of the page we can

140 see a panel called “Optimization Settings”. These settings are the control parameters of the Solver DLL [76] and need to be specified before doing the calculation. Detailed explanation of these parameters can be seen by clicking the question marks beside the edit boxes. Among these parameters, “sample size” is the parameter which is used to control the number of starting candidate points in the “multistart” method in the search for the global optimum. For example, a sample size of 15 means that the solver will randomly choose fifteen starting points and begin to search for the optima based on each one of these points. The best optimum among all the local optima will be returned as the global optimum. In general, the bigger the sample size is, the better the optimum will be.

However, the computational time will also increase. To find a good answer in fairly short time, we might want to choose a fairly large but not too large number as the sample size.

By simply clicking the “Find Optimum” button, the software will start searching for the optimum based on all the information that the user has specified. Once the calculation stops, the final result of the van de Vusse example can be seen in the following page:

141

On this page, we can see that in only one second, the software finds that the maximum production rate of A4 over all possible steady-state reactor-separator systems is

6.1248 mol/s subject to the environmental constraint that A3 production should not exceed 0.1 mol/s. This result agrees very well with the result (6.12 mol/s) reported in

Feinberg and Ellison (2001) where the authors found the answer in an analytical way.

This answer tells us that for the van de Vusse example, under all the specified conditions and constraints, and if the Solver DLL [76] really finds the true optimum, the maximum production rate of the desired species A4 is about 6.12 mol/s and no reactor-separator configuration can do better than that. This provides us a guideline in designing the

142 process because since the upper bound of the production rate of the desired chemical species is known, we can compare the result of any specific design with this upper bound to decide if the existing design needs to be improved.

Moreover, if the users want to know more detailed information as to how the optimum can be reached in a CFSTR-only design, they can click the “Report” button under the “Optimum M Vector” table. The report for the van de Vusse example is listed as follows:

This page tells the details of the CFSTRs that are used in the CFSTR-only design to find the maximum M4. It can be seen from the above report that only two CFSTRs are needed to give the maximum M4. The volume of the first CFSTR is 580.06 liters; the concentrations of all species in the reactor are as follows:

143 c =1.403931 mol A1 l mol cA = 0 l 2 c = 0 mol A3 l c = 0.207663 mol A4 l and that the temperature in the first CFSTR is 100 °C. The second CFSTR has a volume of 419.94 liters; the concentrations of all species in it are as follows:

c = 0.004938 mol A1 l mol cA =1.044293 l 2 c = 0 mol A3 l c = 0 mol A4 l and the temperature in this CFSTR is 300 °C.

It might be wondered about why the concentrations of some species are zero in the two CFSTRs. For example, the concentration of A3 is zero in the second CFSTR.

However, from the van de Vusse reaction network, if the concentration of A1 is not zero, there should be some A3 produced. To understand this, it should be remembered that the separator system in the CFSTR-only design has arbitrary separation ability. To achieve the kinetic limit of the productivity, arbitrary separation ability or pumping rates may be needed, which leads to the arbitrary-close-to-zero concentration of some species.

Notice that the results listed as above are obtained by using the nonlinear Solver

DLL method. Besides that, any one of the linear methods can be chosen to solve the van de Vusse example. The results obtained by using all of the linear methods are very similar to the result obtained by the Solver DLL method. This will be seen later in

Chapter 5 where all methods, including five linear methods and one nonlinear method, are compared in different case studies. 144 Before comparing all the methods, there is a technical issue that is worth mentioning. Recall that at the second page of the software, there are three options that user can choose for the nature of the species mixture: ideal gas mixture, liquid solution, or nonideal gas mixture obeying the SRK Equation of State. This technical issue applies to the case of the nonideal gas mixture and will be explained in detail in the following section.

4.2 Efficient Computation in the Nonideal Gas Mixture Case

Recall Statement A in Section 3.2.1 listed as follows:

Variables:

1 2 s+1 1 2 s+1 1 2 s+1 λ1, λ2, …, λs+1, c , c , …, c , T , T , …, T , P , P , …, P

Objective:

0112211ss++ maximize MMVrT1=+ 1[λλ 11 (cc , ) + 21 r ( , T ) ++ ... λs+ 11 r ( c , T )]

Constraints:

0 ≤ λi ≤ 1 i = 1, 2, …, s+1

s+1 ∑λi ≤1 i=1

Tmin ≤ Ti ≤ Tmax i = 1, 2, …, s+1

Pmin ≤ Pi ≤ Pmax i = 1, 2, …, s+1

i cL ≥ 0 i = 1, 2, …, s+1; L = 1, 2, …, N

f(ci,Ti, Pi) = 0 i = 1, 2, …, s+1

145 0112211ss++ MMVrTLL=+[λλ12 L (cc , ) + r L ( , T ) ++ ... λ sL+ 1 r ( c , T )] ≥ 0

L = 1, 2, …, N

0112211ss++ MMVrTjj=+[λλ12 j (cc , ) + r j ( , T ) ++ ... λ sj+ 1 r ( c , T )] ≤ θj

j = 2, …, q

One of the constraints is

f(ci,Ti, Pi) = 0 i = 1, 2, …, s+1 reflecting the relationship between the temperature, pressure and all the involved species concentrations. The form that the function “f” takes depends on the properties of the involved chemical species. For example, if the species constitute an ideal gas mixture, the function “f” will take the following form:

N iii i i i f (,c TP , )=− P (∑ cRTL ) . L=1 where ci, Ti, Pi are the composition vector, the temperature, and the pressure in the ith

i th th CFSTR and cL indicates the concentration of the L species in the i CFSTR.

If the species constitute a nonideal gas mixture, however, the above function will not hold anymore.

To find out the appropriate form for this function in the nonideal gas mixture case, first we need to introduce the concept of partial molar volume. By definition,

∂V “ vi ≡  ∂ni Tpn,,j

146 which may be expressed in words as follows: the partial molar volume of component i in the system is equal to the infinitesimal increase in the volume of the system divided by the infinitesimal number of moles of this substance which are added, the temperature, pressure and quantities of the other substances remaining constant.” (Denbigh, The

Principles of Chemical Equilibrium, Fourth Edition. Cambridge University Press. [13])

From the fact that the volume function is homogeneous of degree one in the mole numbers, the following equation holds:

N ii ∑cvLL==1 i 1,..., s (4.1) L=1

i th th i where cL represents the concentration of the L species in the i CFSTR, and vL represents the partial molar volume of the Lth species in the ith CFSTR. Now if the partial molar volume depends only on temperature and pressure, we can imagine the existence of the following equation

iii PhvT= LL(, )

i i th where T , P are the temperature and pressure in the i CFSTR and hL is the name of the

ii i function that specifies the relationship among vTL , and P . As a matter of fact, this function can be regarded as a form of a so-called equation of state.

In the nonideal gas case, there are different forms of equation of state to describe the behavior of the system. In the implementation of the software, the SRK Equation of

State is used in the calculation. The SRK Equation of State is

RTaα P =− (4.2) vb− vvb()+

147 where the parameters a, b, and α are empirical functions of the critical temperature and pressure (Tc and Pc), the Pitzer acentric factor (ω), and the system temperature (T). The following correlations are used to estimate these three parameters:

()RT 2 a = 0.42747 c Pc RT b = 0.08664 c Pc m =+0.48508 1.55171ω − 0.1561ω 2 T Tr = Tc 2 α =+[1mT (1 − r )]

Recall that our CFSTR-only design looks as follows:

So according to the formula of the SRK Equation of State, the partial molar volume of the Lth species in the ith CFSTR will satisfy the following equation

i i RT α LLa PLN=−iii = 1,2,..., (4.3) vbLL−+ vvb LLL()

148 i i th i where T , P are the temperature and pressure in the i CFSTR, vL is the partial molar

th th volume of the L species in the i CFSTR, and αL, aL, bL are the parameters in the SRK

Equation of State which are dependent on the Lth species.

Remember that we have the following constraint:

N ii ∑cvLL==1 i 1,..., s (4.4) L=1

i And as can be seen in Equation (4.3), we can solve for vL from Equation (4.3) and then substitute the results into Equation (4.4) to get an explicit form of the function relating composition, temperature, and pressure in each of the CFSTRs.

Notice that Equation (4.3) is a cubic equation and how to solve it in an efficient way becomes an important technical issue. And this efficient computation comes from the idea in Shacham, Brauner, and Cutlip (2003).

To make things look simpler, let us consider the following SRK equation of state

RTaα P =− (4.5) vb− vvb()+

Multiply both sides of Equation (4.5) by (ν-b) ν (ν+b), we will get the following equation

()()v−+=+−− bvv bP RTvv () bα av () b (4.6) which equals to

Pv32−+−−−= RTv()0αα a b 2 P bRT v ab (4.7)

Introduce the compressibility factor z that is defined as

Pv z = . (4.8) RT

149 zRT Notice that z = 1 for ideal gas case. We can substitute for ν in equation (4.7), and P we will get

zRT zRT zRT PRTabPbRTab()322−+−−−= ()(αα )()0 (4.9) PP P or

Pα abP2 zz32−+()()0α abPbRT − 2 − z − = (4.10) RT22 RT 33

We can introduce variables q, r, A, B such that

qB=+−2 Bα A rAB= α

Pr A = 0.42747 2 Tr P B = 0.08664 r Tr P Pr = Pc T Tr = Tc where Pc, Tc are the critical pressure, temperature and Pr, Tr are the reduced pressure and temperature. Then equation (4.10) will become

zzqzr32− −−=0. (4.11)

Here we can utilize some useful results in Shacham, Brauner, and Cutlip (2003) to solve

Equation (4.11). According to their result, Equation (4.11) can be solved analytically for three roots and the sequence of calculations involves the following (a) — (c) steps:

150 (a) Calculate

32 x y C =+  32  where −−31q x = 3 −27rq−− 9 2 y = 27

(b)

If C > 0, there is one real solution for z:

1 zDE=++ 3 where y 1 DC=−() + 3 2 y 1 EC=−() − 3 2

If C < 0, there are three real solutions:

−xkφπ2( − 1) 1 zkk =++=2 cos 1,2,3 3333 where

y2 /4 φ = cos−1  3 −x /27

In the supercritical region, two of these solutions are negative, so the maximal real zk is returned as the true compressibility factor.

151 (c) After z is found in (b), the partial molar volume ν will be

zRT v = . P

After the partial molar volumes of all the involved species are known, they can be plugged into Equation (4.4) in order to get the explicit form of the function reflecting the relationship between concentrations, temperature, and pressure in each CFSTR. The following is a summary of the procedures used to find the constraint on the concentrations in the nonideal gas mixture case:

(1) In each CFSTR where the temperature and pressure are Ti and Pi (i = 1, …, s),

i calculate the partial molar volumes of all species (vL , i = 1, …, s; L = 1, …, N) according to the previous steps (a) — (c).

(2) In each CFSTR, we have the following constraint

N ii ∑cvLL==1 i 1,..., s (4.12) L=1

i where vL (i = 1, …, s; L = 1, …, N) are calculated in step (1).

Once the constraint on the concentrations is set up, it can be combined together with all other constraints in the nonlinear optimization problem in Statement A that can be solved by the nonlinear optimizer Solver DLL [76].

152

CHAPTER 5

CASE STUDIES

In Chapter 3, different algorithms for searching for the maximum production rate of a certain desired species over all steady-state reactor-separator systems have been explained, based on which a software package has been developed in Chapter 4. In this chapter, we will look at different problems including some simple yet educational “toy” examples and some more realistic textbook cases that consider industrial examples. We will study these problems by the methods introduced in Chapter 3 so that we can compare the performances of all these methods.

First we will revisit the van de Vusse example, looking at the results by using different methods. Then we will study other chemical reaction networks similar to or slightly more complicated than the van de Vusse network. Finally, we will look at some practical industrial processes to see how the software can help in evaluating the performances of the actual chemical processes.

153 5.1 The van de Vusse Example Revisited

Recall the van de Vusse network:

A kk12()TT→AA ()→ 12 4 k3 ()T 2AA13→

Here we let

10 kT( )=× 4.22 103 exp( − ) 1 RT 18 kT( )=× 1.02 105 exp( − ) 2 RT 22 kT( )=× 5.24 108 exp( − ) 3 RT

The activation energies are given in [kcal/mol] and the (implied) concentrations are in

[mol/liter]. The units of k1, k2, and k3 are [1/s], [1/s], [liter/(mol s)] respectively. The values of the constant coefficients and the activation energies are taken from Feinberg and Ellison (2001).

Suppose that species A1, A2, A3, A4 constitute an ideal gas mixture, that the allowable temperature range in the reactor components is [373.15, 573.15] K, that the allowable pressure range in the reactor components is [0, 10] bar, and that the maximum

0 0000 total reactor volume is 1000 liters. Given a feed stream of M = [,,,]M1234MMM = [10,

0, 0, 0] mol/s and an environmental constraint that the production rate of A3 should not exceed 0.1 mol/s (A3 could be some environmentally harmful chemical that should not be produced too much.), what is the maximum steady-state effluent rate we can get for A4 in all possible steady-state reactor-separator systems that are consistent with all the above constraints?

154 The settings and results of the van de Vusse example by using different methods are listed as follows: (All results come from the software package Productivity Limit

Calculator.)

Settings for this case by five linear methods:

Partitions on temperature and pressure: 5

Partitions on active species concentrations: A1: 200; A2: 200

Remark: The partitions on temperature and pressure are rather coarse compared to the partitions on the active species concentrations. The reason for choosing such a small partition number on temperature and pressure is that it is suspected that only Tmin, Tmax,

Pmin, Pmax play roles in the optimum. Besides, the main purpose here is to test the various algorithms. (One rule of choosing the partition factors is that coarser partitions are always tried before finer partitions until the result found after every trial remains approximately the same.)

Sample size (or starting points) used in the Solver DLL method: 15

Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 16 sec 17 sec 17 sec 15 sec 2 min 53 sec 1 sec maximum 6.122 6.122 6.122 6.122 6.122 6.125 M4 (mol/s) Table 5.1: Results for the van de Vusse example.

155 Remarks:

1. Among all five linear methods, the Multi-stage Linear Programming method used much more time than any other linear method. The reason is that the Multi-stage

Linear Programming method runs linear programming several times, each time trying to find more important points. So the time spent by using the Multi-stage Linear

Programming method is about several times of what is consumed by using the Linear

Programming method. Although the motivation of the Multi-stage Linear Programming method was to try to improve the answer by sacrificing a little more computation time, it is not really the case in the van de Vusse example because the result provided by the

Multi-stage Linear Programming method is the same as that by the Linear Programming method, yet the time spent by using the Multi-stage Linear Programming method is much longer. The performances of the other four linear methods in this example are about the same. That is, they give the same result by using approximately the same amount of computation time under the same partition factors.

2. The result and computation time by using the nonlinear Solver DLL method are related with the settings of the optimizer Solver DLL, among which an important factor is the sample size (or the starting candidate points). Generally speaking, a larger sample size consumes more time and gives no worse result than a smaller sample size. However, to avoid spending unnecessary long computation time, it is always good to start from a small sample size, and then gradually increase it, until the optimum found after each trial does not change significantly. In this example, a small sample size of 15 is already enough for getting a good result in a very short amount of time (one second). Any

156 increase of the sample size only makes the computation time longer without further improving the result. Notice that the result obtained from all the linear methods (6.122) agrees well with the result from the Solver DLL method (6.125), which means that the true optimum probably is very close to 6.12.

3. From a qualitative comparison of the results for the van de Vusse example by using different methods, it seems that the nonlinear Solver DLL method is better than any one of the linear methods. On the other hand, the time taken by the linear methods is acceptable.

Next, let us look at more networks similar to or slightly more complicated than the van de Vusse example.

5.2 Other Network Examples

Network Example A:

Imagine a plant in which the following reaction network occurs: (Notice that this network has one more reaction, A1 + A2 → A5, than the van de Vusse network.)

kT12() k () T AA12→→ A 4

kT3 () 2AA13→

kT4 () AA12+→ A 5

157 The presumed rate constants are as follows:

11 kT( )=× 5.12 103 exp(- ) 1 RT

8 20 kT2 ( )=× 8.46 10 exp(- ) RT 25 kT( )=× 2.28 1011 exp(- ) 3 RT 12 kT( )=× 3.56 105 exp(- ) 4 RT

The activation energies are given in [kcal/mol] and the (implied) concentrations are in [mol/liter]. The units of k1, k2, k3 and k4 are [1/s], [1/s], [liter/(mol s)] and

[liter/(mol s)] respectively.

The feed of the process for our imaginary plant contains only A1 (and possibly inert carrier). The feed rate of A1 is 10.00 mol/s. The maximum available total reactor volume is 1000 liters. In addition, we restrict the temperature in the reactor units to be between 100°C and 300°C. Assume that species A1, A2, A3 and A4 constitute an ideal gas mixture and that we shall allow the concentrations in the reactor to take on any non- negative values. In other words, the pressure in the reactor units can be arbitrarily large.

(In real cases, the pressure of an ideal gas mixture cannot be arbitrarily large. However, it is assumed here just for a computational test.)

We suppose that A4 is our desired product and that A3 is an undesired waste that needs to be dealt with. What is the maximum M4 that can be achieved for this reaction network over all possible steady-state reactor-separator systems consistent with all previous specifications if there is no limit on the production rate of A3? And what is the maximum M4 that can be achieved if, in addition, M3 should not exceed 0.25 mol/s?

158 The settings used in this example and the results obtained by using different methods in PLC are listed in the following:

Settings for this case by five linear methods:

Partitions on temperature and pressure: 10

Partitions on active species concentrations: A1: 80; A2: 80

Remark: From the given condition that the pressure in the reactor units can take on any positive value, it seems that it does not make any sense to put partitions on pressure and concentrations (that can be infinitely large). However, in the real implementation, a large value of pressure (10,000 bar) is used as if there were a maximum pressure Pmax.

Accordingly, the concentrations in the reactors are resticted by this virtual Pmax, which need to obey the ideal gas law. Larger values for pressure could also be used as this virtual Pmax. However, if the assumed Pmax gets too large (for example, 108), the partition factor on pressure should also be big to get a (reasonably) good discretization of the constraint set Ω. Consequently, the total number of points in Ω* will increase. The problem, however, is that there is a limited memory in the computer. Too many points will cause either a memory shortage or an extremely long computation time. For this reason, a reasonably large value (10,000) is chosen in this example.

Sample size (or starting points) used in the Solver DLL method: 150

159 Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 12 sec 11 sec 6 sec 6 sec 1 min 3 sec 6 sec maximum 4.31 4.31 4.31 4.31 4.32 4.32 M4 (mol/s)

Table 5.2: Result for the maximum M4 (mol/s) with no limit on M3 in Network A.

Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 12 sec 12 sec 5 sec 6 sec 1 min 3 sec 6 sec maximum 1.23 1.23 1.23 1.23 1.27 1.28 M4 (mol/s)

Table 5.3: Result for the maximum M4 (mol/s) with limit on M3 to be less than 0.25 mol/s in Network A.

Remarks:

1. By comparing the performances of all the linear methods under the same partitions, we can see that the Multi-stage Linear Programming method used a much longer time than any of the other linear methods, but the Multi-stage Linear Programming method did give a slightly better answer. And this answer, from Table 5.2 and Table 5.3, is close to (or equivalent with) the answer from the nonlinear Solver DLL method. Again, the reason for consuming the much-longer computation time by the Multi-stage Linear

Programming method is that it runs linear programming several times, until the optimum after each linear programming remains approximately the same.

2. The performances of the Qhull Once and the Qhull Twice algorithms are about the same (since they give the same result using the same amount of time); and the performances of the Linear Programming and the Qhull Once + Linear Programming algorithms are about the same. However, the former two algorithms (Qhull Once and

160 Qhull Twice) seem to be slightly worse than the latter two algorithms (Qhull Once +

Linear Programming) in this example since the time consumed by the former two algorithms is longer than the time consumed by the latter two, although the results from all four linear methods are the same. This is probably because in this example the former two algorithms mainly use Qhull in the computation and the latter two algorithms mainly use a linear programming procedure (simplx) in the computation. And here, Qhull may have used more time than the linear programming procedure simplx in the computation.

3. Similar to the fact that the computation time and result by using the linear methods depends on partition factors (or how the constraint set Ω is discretized), the computation time and result by using the nonlinear Solver DLL method is related with the sample size (or the starting candidate points) used in the optimizer Solver DLL. (A larger sample size usually takes longer time in the computation than a smaller sample size.) It is always a good practice to start from a small sample size and gradually increase it until the optimum found after each trial remains approximately the same, so that an unnecessary long computation time could be avoided. In this example, different sample sizes were tried and a sample size of 150 is found to be good enough to get a good answer. Comparing with the van de Vusse example where the Solver DLL method only needed a sample size of 15 to give a good answer, the Solver DLL method in this slightly bigger network used a much bigger sample size (150). The reason is that in general, when the size of the problem gets bigger, the number of starting points (sample size) that is needed on Solver DLL to get a good answer also gets larger. However, in some cases, there are also exceptions. This is because the result also depends on how the starting

161 points are distributed besides the number of them. If the optimizer Solver DLL happens to use some very important points, even though the sample size is small, the final result could be as good as that from a much larger sample size.

4. The fact that the results by using all the linear methods and the nonlinear method approximately agree with each other and that no further increase of the sample size in the Solver DLL method gives a much better answer (in both with and without the

M3 constraint situations) tells that, the partition factors used in the linear methods are probably good enough and that the results are probably very close to the true optima.

5. Notice that although the reaction network in this example is slightly bigger than that in the van de Vusse example, the time spent on solving this example (either with or without an M3 constraint) by using a certain linear method is less than that spent on solving the smaller van de Vusse example by the same linear method. The reason is that the number of points created in constructing the discrete constraint set Ω* in this example is less than the number of points created in the van de Vusse example. This can be verified by comparing the partition factors used in these two examples. In this example, the partition factor on temperature and pressure is 10, slightly bigger than the partition factor on temperature and pressure (which was 5) in the van de Vusse example. However, the partition factor on the active species concentrations in this example (which is 80) is much smaller than that in the van de Vusse example (which was 200). Overall, the total number of points created in configuring the discrete set Ω* in this example is less than

162 that created in the van de Vusse example, which explains why the time to process all the points in this bigger-sized-network example (by a certain linear method) is less than that used in the smaller-sized van de Vusse example (by the same linear method).

Network Example B:

Imagine an ideal gas plant (where the involved species constitute an ideal gas mixture) in which the following reactions occur: (This network is slightly different from the van de Vusse network by having the reaction 2A2 → A4 instead of the reaction A2 →

A4 in the van de Vusse network.)

k1()T A12→ A

k2 ()T 2A24→ A

k3 ()T 2A13→ A

The presumed rate constants are as follows:

12 kT( )=× 2.22 103 exp(- ) 1 RT 18 kT( )=× 5.02 106 exp(- ) 2 RT 25 kT( )=× 1.24 108 exp(- ) 3 RT

The activation energies are given in [kcal/mol] and the (implied) concentrations are in [mol/liter]. The units of k1, k2 and k3 are [1/s], [liter/(mol s)] and [liter/(mol s)] respectively.

163 The feed of the process for our plant contains only A1 (and possibly inert carrier).

The feed rate of A1 is 10 mol/s. The maximum total available reactor volume is 1000 liters. In addition, we restrict the temperature in the reactor units to be between 100°C and 300°C and the pressure in the reactor units to be less than 10 bars.

Suppose that A4 is our desired product and that A3 is an undesired waste that needs to be dealt with. What is the maximum M4 that can be achieved for this reaction network over all possible steady-state reactor-separator systems consistent with all previous specifications if there is no limit on M3? If in addition we restrict the production rate of A3 to be less than 0.1 mol/s, what is the maximum M4 that can be obtained?

The settings used in this example and the results obtained by using different methods in PLC are listed as follows:

Settings for this case by five linear methods:

Partitions on temperature and pressure: 5

Partitions on active species concentrations: A1: 100; A2: 100

Remark: A small partition factor is used in the discretization of temperature and pressure because it is suspected (as in the van de Vusse example) that only Tmin, Tmax, Pmin, Pmax play important roles in finding the optimum.

Sample size (or starting points) used in the Solver DLL method: 15

164 Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 4 sec 4 sec 4 sec 4 sec 40 sec 1 sec maximum 4.20 4.20 4.20 4.20 4.20 4.20 M4 (mol/s)

Table 5.4: Result for the maximum M4 (mol/s) with no limit on M3 in Network B.

Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 4 sec 4 sec 4 sec 4 sec 43 sec 1 sec maximum 1.60 1.60 1.60 1.60 1.60 1.63 M4 (mol/s)

Table 5.5: Result for the maximum M4 (mol/s) with limit on M3 to be less than 0.1 mol/s in Network B.

Remarks:

1. There are a few things that can be observed from Table 5.4 and Table 5.5. First, in this example, the Multi-stage Linear Programming method did not show any advantage over any one of the other linear methods because it gave the same result but used much longer time. Second, all the other four linear methods gave the same performances by getting the same result in the same amount of time. Third, only a small sample size (in this case, 15 starting points) in the Solver DLL method is needed to get a good result in a short amount of time (less than a second). Further increase of the sample size does not yield much better results.

2. The size of the reaction network in this example is the same as that in the van de Vusse example. The partition factor on the temperature and pressure in this example is the same as that in the van de Vusse example (which is 5). But the partition factor on the active species concentrations in this example (which is 100) is smaller that used in the

165 van de Vusse example (which was 200). So the number of points in the discrete set Ω* in this example is less than that in the van de Vusse example, which explains the fact that the time used in solving this example (either with or without the M3 constraint) by a certain linear method is less than that used in the van de Vusse example by using the same linear method.

Network Example C:

For the following reaction network with non-isothermal mass action kinetics:

kT1 () 2AA12→

kT2 () AA13→

kT3 () AA12+→ A 4 the presumed rate constants are as follows:

12 kT( )=× 3.6 106 exp(- ) 1 RT 10 kT( )=× 3.4 104 exp(- ) 2 RT 11 kT( )=× 1.0 105 exp(- ) 3 RT

The activation energies are given in [kcal/mol] and the (implied) concentrations are in

[mol/liter]. The units of k1, k2 and k3 are [liter/(mol s)], [1/s], and [liter/(mol s)] respectively. Assume that species A1 to A4 constitute an ideal gas mixture.

0 0 0 0 0 The molar feed rate vector is M = [ M1 , M 2 , M 3 , M 4 ] = [30, 0, 0, 0] mol/s. The maximum total reactor volume is 1000 liters. In addition, we restrict the temperature in the reactor units to be between 100°C and 300°C and the pressure in the reactor units to be under 50 bars. 166 With all these specifications, we ask the following questions:

(1)What is the maximum M3 over all possible steady-state reactor-separator systems consistent with all previous specifications and no other constraint?

(2)What is the maximum M3 over all possible steady-state reactor-separator systems consistent with all previous specifications and in addiction, if we restrict M2 to be less than 0.5 mol/s?

(3)What is the maximum M3 over all possible steady-state reactor-separator systems consistent with all previous specifications and in addition, if we restrict both M2 and M4 to be less than 0.5 mol/s?

(4)What is the maximum M4 over all possible steady-state reactor-separator systems consistent with all previous specifications with no other constraint?

(5)What is the maximum M4 over all possible steady-state reactor-separator systems consistent with all previous specifications and in addition, if we restrict M3 to be less than 1.0 mol/s?

The settings used in this example and the results obtained by using different methods in PLC are listed in the following:

Settings for this case by five linear methods:

Partitions on temperature and pressure: 5

Partitions on active species concentrations: A1: 150; A2: 150

167 Remark: Once again, a small partition factor is used in the discretization of temperature

and pressure because it is expected that only Tmin, Tmax, Pmin, Pmax are important in getting

the optimum.

Sample size (or starting points) used in the Solver DLL method: 15

Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 9 sec 9 sec 9 sec 8 sec 1 min 38 sec 1 sec maximum 25.40 25.40 25.40 25.40 25.45 25.46 M3 (mol/s)

Table 5.6: Result for the maximum M3 (mol/s) with no other limit in Network C.

Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 8 sec 9 sec 8 sec 9 sec 1 min 45 sec 1 sec maximum 24.22 24.22 24.22 24.22 24.30 24.30 M3 (mol/s)

Table 5.7: Result for the maximum M3 (mol/s) with limit on M2 to be less than 0.5 mol/s in Network C.

Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 9 sec 8 sec 9 sec 8 sec 1 min 45 sec 1 sec maximum 16.59 16.59 16.59 16.59 16.88 16.91 M3 (mol/s)

Table 5.8: Result for the maximum M3 (mol/s) with limits on both M2 and M4 to be less than 0.5 mol/s in Network C.

168 Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 9 sec 9 sec 8 sec 9 sec 1 min 33 sec 1 sec maximum 7.84 7.84 7.84 7.84 7.84 7.84 M4 (mol/s)

Table 5.9: Result for the maximum M4 (mol/s) with no other limit in Network C.

Qhull Qhull Linear Qhull Once + Multi-stage Solver Once Twice Programming Linear Linear DLL Programming Programming time spent 8 sec 8 sec 8 sec 9 sec 1 min 38 sec 1 sec maximum 1.21 1.21 1.21 1.21 1.21 1.21 M4 (mol/s)

Table 5.10: Result for the maximum M4 (mol/s) with limit on M3 to be less than 1.0 mol/s in Network C.

Remarks:

1. There are several observations that can be made from the results of all five situations in this example: (1) The computation time spent by using the Multi-stage

Linear Programming method is still much longer than any other linear method. However, from Table 5.6 — Table 5.8, it can be seen that the result from the Multi-stage Linear

Programming method is better than those from other linear methods and is more close to

(or equivalent with) the result from the Solver DLL method; (2) All the other four linear methods gave similar performances. That is, under the same partition factors, they gave the same answers in about the same amount of time; (3) A small sample size (in this example, 15 starting points) is already enough in the nonlinear Solver DLL method for this example to give a good result in a very short time period (one second). And further increase of the sample size does not give significantly better results.

169 2. From Table 5.6 — Table 5.8, the result from the Solver DLL method is the best; the result from the Multi-stage Linear Programming method is very close to that from the

Solver DLL method; the results from the other linear methods (except the Multi-stage LP method) are the worst. This tells that, in these three situations corresponding to Table 5.6,

Table 5.7, and Table 5.8, the results from the Solver DLL and the Multi-stage LP methods are more close to the true optima than those from the other four linear methods.

From Table 5.9 and Table 5.10, the fact that the results from all methods agree with each other and that further increase of the sample size in the Solver DLL method does not yield better answer tells that these results are probably close to the true optima.

3. Notice that the computation time by using the same linear method in all five situations in this example is approximately the same. (For example, Qhull Once used about eight or nine seconds in the computation in all five cases.) This is because the computation time by a certain linear method mainly depends on the partition factors used in the discretization of temperature, pressure, and active species concentrations. Which species is the desired or undesired product and a few environmental constraints almost do not affect the computation time. Similarly, the computation time by the nonlinear Solver

DLL method mainly depends on the sample size and is almost not affected by the choice of the objective species and a few environmental constraints. These phenomena can also be seen in Network A and Network B.

4. Comparing this example with the previous van de Vusse example and Network

Example B, we can see that they all have the same sized chemical reaction networks. By the same linear method, the time it took in this example is less than that in the van de

170 Vusse example, yet more than that in the Network Example B. The reason is that the number of points created in the discrete set Ω* in this example is less than that in the van de Vusse example, yet more than that in the Network Example B. This can be verified by comparing the partition factors used in this example with those used in the van de Vusse example and the Network Example B. In all three examples, the partition factors on the temperature and pressure are the same (which is 5). But the partition factor on the active species concentrations in this example (which is 150) is smaller than that used in the van de Vusse example (which is 200), yet bigger than that used in the Network Example B

(which is 100). So the total number of points in this example is less than that in the van de Vusse example, yet more than that in the Network Example B, meaning that the time to process all the points in this example (by a certain linear method) is less than the time used in the van de Vusse example, yet more than the time used in the Network Example

B (by the same linear method).

Network Example D:

Now let us look at a bigger chemical reaction network that involves six species:

kT12() k () T AA12→→ A 4 2AAkT3 ()→ 13 kT4 () AA12+→ A 5

kT5 () AA35+→ A 6

171 The presumed rate constants are as follows:

11 kT( )=× 5.12 103 exp(- ) 1 RT 20 kT( )=× 8.46 108 exp(- ) 2 RT 25 kT( )=× 2.28 1011 exp(- ) 3 RT 12 kT( )=× 3.56 105 exp(- ) 4 RT 12 kT( )=× 4.43 105 exp(- ) 5 RT

The activation energies are given in [kcal/mol] and the (implied) concentrations are in

[mol/liter]. The units of k1, k2, k3, k4 and k5 are [1/s], [1/s], [liter/(mol s)], [liter/(mol s)] and [liter/(mol s)] respectively. Assume that species A1 to A6 constitute an ideal gas mixture.

The feed stream contains only A1 at a flow rate of 40.00 mol/s. The maximum total reactor volume is 8000 liters. In addition, we restrict the temperature in the reactor units to be between 100°C and 400°C and the pressure in the reactor units to be less than

2 bars.

We suppose that A4 is our desired product and that A3 is an undesired waste that needs to be dealt with. So what is the maximum M4 that can be achieved over all possible steady-state reactor-separator systems consistent with all previous specifications and in addition, if M3 should be less than 0.1 mol/s?

The settings used in this example and the results obtained by using different methods in PLC are listed in the following:

172 Settings for this case by five linear methods:

Partitions on temperature and pressure: 2

Partitions on active species concentrations: A1: 50; A2: 50; A3: 50; A5: 50

Remark: The size of this chemical reaction network is larger than any one of the previous networks. However, the partition factors that are used in the discretization in this example are fairly small. To explain this, first we need to realize that the total number of points increases exponentially as the number of active species increases, given the partition factors on the temperature, pressure, and the active species concentrations. (Section 3.3.6 already discussed this.) Due to the memory limit in the computer, there is a maximum total number of points that can be created in the discretization of the constraint set Ω.

Thus, if the number of active species increases, the (maximum) partition factors that can be used in the discretization have to be reduced to meet this maximum total number of points (dependent on the available memory). In this example, although the partition factors look small, the memory occupied by all the created points is already very large.

Sample size (or starting points) used in the Solver DLL method: 30

Qhull Qhull LP Qhull Once + Multi-stage Solver Once Twice LP LP DLL time spent N/A, out N/A, 1 min 33 1 min 40 sec 1 min 38 31 sec of terminated sec sec maximum memory after ½ hr 1.34 1.54 1.21 4.68 M4 (mol/s)

Table 5.11: Result for the maximum M4 (mol/s) with limit on M3 to be less than 0.1 mol/s in Network D.

173 Remarks:

1. Among the linear methods, Qhull Once and Qhull Twice methods failed to give any result. It is probably because that even by the slight increase of the size of the reaction network, the total number of points that were created is much larger (because, as discussed before, the number of points increases exponentially with the increase of the number of active species) although the partition factors look fairly small. With so many points input into Qhull, Qhull needs a tremendous amount of memory to process all these points. And from the outcome of Qhull Once and Qhull Twice in this example, the available memory (768MB of RAM in the computer used for the calculation in the thesis) obviously was not enough. Notice that this is not a really large sized network, yet Qhull already starts to have trouble in the computation. If we had a much larger sized network, the number of points that needs to be created in Ω* to get a good answer would be huge.

In that case, it would be even more difficult for Qhull to process all those points.

2. The other three linear methods (LP, Qhull Once + LP, Multi-stage LP) did give some answers, slightly different from each other, for this example. Among them, Multi- stage LP, not like before, used about the same amount of time as LP, and gave a worse answer than LP. The reason is probably that although the Multi-stage LP method still ran several times linear programming, the total amount of time spent on all these linear programmings (each a small linear programming task) is about the same as the total amount of time spent on a single big linear programming problem. And after several

174 linear programmings in the Multi-stage LP method, it was probably stuck with some answer (not really the true optimum) and couldn’t find more important points to improve the result.

3. We can see that the results from different methods are quite different in this example. The nonlinear Solver DLL method gave an answer that looks better than any other available answers from the other linear methods (LP, Qhull Once + LP, Multi-stage

LP). However, we need to verify that the result from the Solver DLL method (4.68) is a valid answer. To do this, we can go back to the software package to look at the detailed information of the CFSTRs (which gives the result 4.68) and then manually calculate the molar effluent rates of all the species.

From the returned result from the software package, only two CFSTRs are needed to get the maximum production rate M4 subject to the additional constraint that M3 should not exceed 0.1 mol/s. The following table shows the volumes, the concentrations and the temperature values in the two CFSTRs that gave the final optimum.

volume c1 c2 c3 c4 c5 c6 T CFSTR1 7944.61 0.047380.00799 0 0 0 0 434.49 CFSTR2 55.39 1.81E-40 0.01771 0 0.01785 0 673.15

Table 5.12: Detailed information of the two CFSTRs that gives the maximum M4 in Network Example D. (volume unit: liter; concentration unit: mol/liter; temperature unit: Kelvin)

We also know the kinetics of the involved reactions, the feed stream information, and the maximum reactor volume. So from all the information (including what is listed in

Table 5.12) and equation (3.3), copied as follows

175 0112211ss++ M=+ MVT[λλ12 rc ( , ) + rc ( , T ) ++ ... λs+ 1 rc ( , T )], we will be able to manually calculate the molar effluent rates for species A1 to A6. The results are listed in the following table:

M1 M2 M3 M4 M5 M6 31.18 0 0.1 4.68 0 0.99 Table 5.13: Manually calculated results of the effluent rates in Network Example D. (The units of molar effluent rates: mol/s.)

The data in the above table agree with all the constraints and thus prove that the result from the Solver DLL method is a valid answer that is better than any other result by other linear methods.

4. From the output of the software, only two CFSTRs are needed in the CFSTR- only design to produce the maximum M4 subject to all constraints including an environmental M3 constraint. (The detailed information of these two CFSTRs was listed in Table 5.12.) A closer look at the two CFSTRs can tell us the “design strategy” of the

CFSTR-only design implemented in the software. Notice that CFSTR1 has a much bigger volume (7944.61 liters) than CFSTR2 (55.39 liters). More interestingly, in CFSTR1 there are only species A1 and A2; while in CFSTR2 there are only species A3, A5 and a trivial amount of A1. If we look at the network in this example, copied as follows,

kT12() k () T AA12→→ A 4 2AAkT3 ()→ 13 kT4 () AA12+→ A 5

kT5 () AA35+→ A 6

176 we can see that CFSTR1 (with a bigger volume) is mainly used to produce A4 with A3 and A5 being produced at the same time, since only A1 and A2 are present in the reactor; and CFSTR2 (with a smaller volume) is mainly used to consume A3 (the undesired species) to produce A6 (a neutral product with no production limit) with the participation of A5 so that the production rate of A3 can meet its production limit. In other words, the purpose of CFSTR1 is mainly to produce as much A4 (the desired species) as possible and the purpose of CFSTR2 is mainly to consume the undesired species A3 to meet its production limit. The detailed design of the two CFSTRs (e.g., the volumes, the compositions, and the temperatures in the two reactors), however, needs to be carefully searched for in order to find the maximum M4 subject to all the constraints. This job was done by the nonlinear optimizer Solver DLL [76].

5. Another interesting thing to notice from Table 5.12 is that, in order to produce maximum M4 subject to all constraints, Solver DLL found the temperature in CFSTR1 in the CFSTR-only design is 434.49 K, somewhere between the minimum allowable temperature (100°C or 373.15 K) and the maximum allowable temperature (400°C or

673.15 K); the temperature in CFSTR2 in the CFSTR-only design is the maximum allowable temperature 673.15 K. The partition factor on the temperature and pressure used by the linear methods in this example, however, is merely 2, meaning that only the minimum and the maximum temperatures and pressures were used in the linear methods to search for the maximum M4. However, the temperature in CFSTR1 in the optimum

CFSTR-only design found by Solver DLL (434.49 K) shows that the partition factor on

177 the temperature and pressure used by the linear methods in this example fails to capture this very important temperature, which explains why the results from the linear methods are much worse than the result from the nonlinear Solver DLL method.

6. After different sample sizes were tried, it was found that in this example, a sample size of 30 in the Solver DLL method is already enough to get a good answer because further increase in the sample size couldn’t further improve the result. Notice that although the size of the reaction network in this example is larger than that in the

Network Example A, the necessary sample size to get a good answer in this example

(which is 30) is actually smaller than that in the Network Example A (which is 150). As was explained before, the result by the nonlinear Solver DLL method depends on both the number of points and the distribution (or the structure) of all the points. If the points are well distributed to be accidentally very close to the important points for getting the true optimum, the total number of points needs not to be really large to get a good result

(which is close to the true optimum). And it is suspected to be the case in this example.

7. When the size of the network increases, the number of points that are needed in the linear methods increase tremendously in order to get a good result. Otherwise, linear methods might fail to capture very important points, which is exactly the case in this example. However, because of the memory limit in the computer, there is always a limit for the number of points that could be created in Ω*. Therefore, when the size of the network gets big, even this limit might not be enough for getting a good answer. This gives us a hint. That is, when the size of the chemical reaction network is large, it is

178 probably not a good idea to use the linear methods. The nonlinear Solver DLL method, however, can still be used because it uses a more sophisticated way of searching for the optimum.

5.3 Summary of the Discussions Based On the Results of the Previous Examples

Based on the results of the previous examples in Section 5.1 and 5.2 by using different methods, there are a few observations and discussions that are concluded as follows.

1. The computation time and result by using the linear methods depend largely on how the constraint set Ω is discretized (i.e., how many points are created). Among all the linear methods, the Multi-stage Linear Programming method usually uses a much longer computation time than any other linear method. However, the Multi-stage Linear

Programming method does tend to give better results than the other linear methods. For example, from Table 5.6, Table 5.7 and Table 5.8, it can be seen that the result from the

Multi-stage Linear Programming method is more close to (or equivalent with) that from the Solver DLL method, and is better than the results from the other linear methods. The performances of the other four linear methods are about the same.

2. The computation time and result by using the nonlinear Solver DLL method depend largely on the sample size (or starting candidate points). For all previous examples, different sample sizes (between the order of 10 and 103) were tried in the calculation and it was found that small sample sizes (in the order of 10 or 102) were already good enough to give satisfactory answers in short amount of time.

179 3. When the size of the chemical reaction network increases (even by a slight increase), linear methods start to have trouble in giving good answers. The nonlinear

Solver DLL method, however, can still handle the bigger-sized problem. (In Network

Example D, the result from the Solver DLL method is better than any of those from the linear methods.)

4. All these observations tell us two things. First, when the size of the network is small, all methods can be used to get reliable answers. Second, when the size of the network is large, only the nonlinear method succeeds in giving reliable answers. It may not be appropriate to use linear methods when the size of the network is big. Based on the qualitative comparison, we can see that the nonlinear Solver DLL method is better than the linear methods. However, this does not mean that the linear methods are useless. First, they can be used in small-sized networks and their results are pretty reliable when the discretization of the constraint set Ω is fine enough. Second, linear methods do not rely on any commercial-grade solver and they are freely available for everyone.

After the comparison of all the methods by studying the previous educational test examples, let us look at other examples that are more practical. Since we think that the

Solver DLL method gives the best performance, the results of all the following examples are obtained from the software package Productivity Limit Calculator by using the Solver

DLL method.

180 5.4 Practical Examples

5.4.1 Cumene Production

In the book Analysis, Synthesis, and Design of Chemical Processes (Turton et al.,

1998), there is a cumene production process shown in Figure 5.1, adapted from Figure

C.8 of Turton et al. (1998). Two reactants, benzene and propylene, are pumped, preheated, and fed into a shell-and-tube packed bed reactor having a certain operating temperature (meaning that the temperature inside the reactor is homogeneous). The effluent stream from the reactor goes through a series of cooling and separation steps to recycle the benzene and to get the final product cumene and a side product DIPB (p- diisopropyl benzene).

A catalyst is used in the packed bed reactor, where the involved chemical reactions are listed as follows:

kT1 () CH36+ CH 66→ CH 912 cumene

kT2 () CH36+ CH 912→ C 1218 H DIPB

The kinetics of the reactions is non-isothermal mass action kinetics, and the rate constants, taken from Turton et al. (1998), are: (T is in degrees Kelvin.)

71112530 −− k1( T )=× 2.8 10 exp(- ) ( liter mol s ) T 17650 k( T )=× 2.32 10911 exp(- ) ( liter mol−− s ) 2 T

181

182 The following table lists the specifications/constraints for the process, which are taken from Turton et al. (1998).

Feed stream information: The feed to the packed bed reactor shown in Figure 5.1 contains 110.5 kmol/h of propylene and 110.5 kmol/h of benzene. Total reactor volume: 7880 liters Temperature in the reactor units: The reactor is isothermal. Pressure in the reactor units: The pressure at the entrance of the packed bed reactor is 30.75 bar; the pressure at the exit of the packed bed reactor is 30.25 bar. Nature of the gas mixture in the reactors: The gas mixture in the reactor units is assumed to follow SRK Equation of State. Table 5.14: Process specifications/constraints for cumene production (Turton et al., 1998).

Figure 14.8 in Turton et al. (1998) gives the simulation results for the cumene production rates corresponding to different operating temperatures (between 350°C and

410°C) in the isothermal packed bed reactor, which is assumed to behave as an isothermal plug flow reactor (PFR). This thesis uses the process simulation software

HYSYS [75] to reproduce the production curve in Figure 14.8 in Turton et al. (1998) and, moreover, to extend the curve to a wider temperature range (between 255°C and 410°C).

The packed bed reactor is also modeled as an isothermal PFR and all the constraints in

Table 5.14 are used in the HYSYS simulation. By using the software package

Productivity Limit Calculator, we can calculate the maximum cumene production rates corresponding to different operating temperatures (also between 255°C and 410°C) over all possible steady-state reactor-separator systems consistent with all the constraints listed in Table 5.14. (Notice that the minimum pressure in the packed bed reactor, 30.25 bar, is

183 used as the minimum pressure value that is allowed in the CFSTR-only design for the maximum production rate calculation in the software. The maximum pressure in the packed bed reactor, 30.75 bar, is used as the maximum pressure value allowed in the

CFSTR-only design. The temperatures in the CFSTRs in the CFSTR-only design are the same as that in each particular operating temperature in the Turton et al. design. (A set of different operating temperature values between 255°C and 410°C are tried to give a set of different maximum cumene production rates corresponding to those temperature values.)

The results from the Productivity Limit Calculator can be compared with the results from the HYSYS simulation under the same set of temperature values to see how close the cumene production rate in the process design in Figure 5.1 comes to the maximum attainable (subject to the constraints in Table 5.14).

Since this cumene production example in Turton et al. (1998) assumes SRK

Equation of State in the simulation, all calculation/simulation done in HYSYS [75] and

PLC also use SRK Equation of State so that all results can be compared for the same settings. And the following Table 5.15 lists values of the critical temperature (Tc), critical pressure (Pc), and Pitzer acentric factor (ω) of all the involved species, taken from a process simulation tool Aspen Plus [74].

184 Species Tc (K) Pc (bar) ω Propylene 364.76 46.1231 0.143 (C3H6) Benzene 562.05 48.95 0.2103 (C6H6) Cumene 631 32.09 0.3274 (C9H12) DIPB 688.235 24.5004 0.39 (C12H18) Table 5.15: Critical temperature, critical pressure, and Pitzer acentric factor of all the involved species in the cumene production case (taken from Aspen Plus, Version 11.1).

Figure 5.2 shows the two types of designs used in this case study. Design 1 is the process design in Figure 5.1. Design 2 is the CFSTR-only design implemented in the software, which is used to calculate the maximum cumene production rate over all possible steady-state reactor-separator systems consistent with all process specifications listed in Table 5.14.

∞ ∞ CFSTR

Separator System

1 2

1: process design in Figure 5.1 2: a 2-CFSTR design with arbitrary separation ability

Figure 5.2: Illustration of the two types of designs in cumene production.

185 The simulation results are shown in Figure 5.3. In Figure 5.3, the dashed curve corresponds to Design 2 in Figure 5.2. This maximum cumene production rate curve is derived from the CFSTR Equivalence Principle. The solid curve corresponds to the process design in Figure 5.1, adapted from Figure C.8 in Turton et al. (1998).

Figure 5.3: Cumene production rates at different operating temperatures.

It is clear from Figure 5.3 that the maximum cumene production rate curve sits above the curve for the Turton et al. (1998) process design, which supports the claim that the maximum production rate calculated from the implementation of the CFSTR

Equivalence Principle provides an upper limit that no other steady-state design can transcend. Also, the dashed curve corresponding to the CFSTR-only design becomes flat after the reactor temperature reaches 310°C. The Productivity Limit Calculator shows 186 that this flat region corresponds to the maximum cumene production rate of 110.5 kmol/h, which happens to be the same as the stoichiometric limit for the cumene production rate in this case.

By comparing these two curves, we can see that when the operating temperature is below 290°C or above 350°C, the cumene production rate of the process in Figure 5.1 is fairly close to the maximum, which means that the process in Figure 5.1 is doing reasonably well in these two temperature regions. However, when the operating temperature is between 290°C and 350°C, the cumene production rate of the process in

Figure 5.1 is far from the maximum, which means that there is plenty of room for enhancing the cumene production rate relative to the process design in Figure 5.1.

Because of this, we might want to improve the design in Figure 5.1 (if the operating temperature falls between 290°C and 350°C) to see if we can come up with something else that gives a higher cumene production rate while at the same time makes the process economical.

5.4.2 Allyl Chloride Production

A process flow diagram for an allyl chloride production facility is shown in

Figure 5.4, adapted from Figure C.1 in Turton et al. (1998). The propylene feed is heated in a furnace and then mixed with the chlorine feed. The mixture is brought to a fluidized bed reactor that is operated isothermally. The hot gases leaving the reactor are cooled in a waste heat boiler before being sent to further processing, including allyl chloride refining and unused propylene recycles.

187

188 In the fluidized bed reactor, allyl chloride is produced by thermal chlorination of propylene at high temperatures and relatively low pressures. According to Turton et al.

(1998), the main reaction is: (The units of the activation energies are kJ/kmol. The temperature T is in degrees Kelvin. The unit of the gas constant R is J/(mol•K).)

k1 CH36+ Cl 2→+ CHCl 35 HCl (1) propylene allyl chloride 2 rkpp11= pcl kmol /( kg cat s kPa ) 63,200 k1 =−0.322exp RT

The reaction occurrence rate per unit volume obeys mass action kinetics form relative to the partial pressures of the reactants. Here, pp and pcl refer to the partial pressures of propylene and chlorine, respectively. There are also side reactions going on, namely:

k2 CH36+ Cl 2→+ CHCl 35 HCl (2) 2 − chloropropene 2 rkpp22= pcl kmol /( kg cat s kPa )

−5 16,000 k2 =×1.83 10 exp − RT

k3 CH36+2 Cl 2→+ CHCl 34 2 2 HCl (3) 2,3− dichloropropene 23 rkpp33= pcl kmol /( kg cat s kPa )

−3 72,100 k3 =×1.27 10 exp − RT

189

The specifications/constraints for the process are listed in the following table, which are taken from Turton et al. (1998).

Feed stream information: The feed stream of the fluidized bed reactor contains 75.89 kmol/h of propylene and 19.70 kmol/h of chlorine. Total reactor capacity: The total catalyst mass in the fluidized bed reactor is 14.415 tons. Temperature in the reactor units: The temperature in the fluidized bed reactor is homogenous. Pressure in the reactor units: The pressure at the entrance of the fluidized bed reactor is 3.04 bar and the pressure at the exit is 2.77 bar. Nature of the gas mixture in the reactors: The gas mixture in the reactor follows SRK Equation of State. Table 5.16: Process specifications for allyl chloride production (Turton et al.,1998).

As was done in the cumene production case, HYSYS [75] is used here to simulate the whole process in Figure 5.4 subject to the constraints in Table 5.16. The fluidized bed reactor in this allyl chloride production process is modeled as an isothermal plug flow reactor (PFR), the same as what was done in Turton et al. (1998). For a certain operating temperature in the fluidized bed reactor (modeled as an isothermal PFR in HYSYS [75]),

HYSYS [75] can calculate the allyl chloride production rate corresponding to that temperature. Therefore, a (production rate)-versus-(temperature in the isothermal PFR) curve can be obtained by running HYSYS [75] for different reactor temperature values.

In this case, a set of temperature values between 400°C and 540°C were tried. Also, since

SRK Equation of State is assumed in the allyl chloride production in Turton et al. (1998), 190 values of the critical temperature (Tc), critical pressure (Pc), and Pitzer acentric factor (ω) of all the involved species are listed in the following table, which are taken from Aspen

Plus [74].

Species Tc (K) Pc (bar) ω

Propylene 364.9 46 0.141 (C3H6) Chlorine 417.15 77.1 0.0688 (Cl2) Allyl Chloride 514.15 47.1 0.148 (C3H5Cl) Hydrochloric Acid 324.65 83.1 0.132 (HCl) 2-Chloropropene 478 47.1 0.152 (C3H5Cl) 2,3-Dichloropropene 578 43.8 0.194 (C3H4Cl2) Table 5.17: Critical temperature, critical pressure, and Pitzer acentric factor of all the involved species in the allyl chloride production case (taken from Aspen Plus, Version 11.1).

Besides using HYSYS [75] to calculate the allyl chloride production rates under different operating temperatures (between 400°C and 540°C) in the reactor, we can also use the software Productivity Limit Calculator to calculate the maximum allyl chloride production rates under the same temperatures over all possible steady-state reactor- separator systems consistent with all the constraints in Table 5.16.

The (production rate)-versus-(reactor temperature) curve (between 400°C and

540°C) for the process in Figure 5.4 subject to the constraints in Table 5.16 is obtained by HYSYS simulation, which is the solid curve in Figure 5.5. The maximum allyl

191 chloride production rates (over all steady-state designs consistent with the constraints in

Table 5.16) under the same temperatures as those used in the HYSYS simulation were obtained by PLC and the results correspond to the dashed curve in Figure 5.5.

Figure 5.5: Allyl chloride production rates at different operating temperatures.

The software result sits above the HYSYS simulation result, which supports the claim that the maximum production rate of a certain desired species (in this case, allyl chloride) from the implementation of the CFSTR Equivalence Principle provides an upper bound of the production rate of that desired species over all possible steady-state reactor-separator configurations consistent with certain constraints (in this case, the constraints in Table 5.16). From Figure 5.5, when the operating temperature is between

192 400°C and 540°C, the allyl chloride production rate curve of the process in Figure 5.4 is close to the maximum production rate curve, which means that this process is doing reasonably well.

5.4.3 Acrylic Acid Production

A production process of acrylic acid from the oxidation of propylene is shown in

Figure 5.6, adapted from an acrylic acid production design project of Dr. Shaeiwitz in

West Virginia University. The details of this design project can be found from the link: http://www.che.cemr.wvu.edu/publications/projects/acrylic/acrylic12.PDF. Here, acrylic acid is the main product and acetic acid is a salable by-product.

In the process, air (Stream 1), low pressure steam (Stream 2), and propylene

(Stream 3) are fed into the fluidized bed reactor and some of the contents in these three streams are listed below. (Other contents like nitrogen are not listed here because they don’t participate in any reactions. The “-” sign in the following table shows that there is no such species in the corresponding stream.):

Species Stream 1 Stream 2 Stream 3 Propylene (C3H6) - - 127.0 kmol/h Oxygen (O2) 280.9 kmol/h - - Water (H2O) 25.3 kmol/h 992.3 kmol/h - Table 5.18: Feed streams information for acrylic acid production. (http://www.che.cemr.wvu.edu/publications/projects/acrylic/acrylic12.PDF)

193

194 The effluent from the reactor is sent to a quench tower where the mixture is rapidly cooled to avoid further oxidation. The following absorber, then, recovers acrylic acid and acetic acid, and the stream leaving the absorber (as a dilute aqueous acid mixture) is sent to an extraction unit. After that, the more concentrated acid mixture from the extraction unit proceeds to an acid tower for a final purification. The top product of the acid tower is acetic acid and the bottom product is acrylic acid.

There are three reactions taking place in the fluidized bed reactor: (taken from http://www.che.cemr.wvu.edu/publications/projects/acrylic/acrylic12.PDF)

3 CH+ O→+ CHO HO (1) 362 2 342 2 acrylic acid 5 CH+ O→++ CHO CO HO (2) 362 2 242 2 2 acetic acid 9 CH+ O→+3 CO 3 HO (3) 362 2 2 2

The reaction kinetics is of the form:

Ei −=rAi iexp  − p propylene p oxygen RT

th where i is the index of the reaction, ri is the occurrence rate of the i reaction per unit volume, R is the gas constant in unit of kcal/(kmol•K), T is temperature in unit of degrees

Kelvin, partial pressures are in kPa (ppropylene is the partial pressure of propylene, poxygen is

th the partial pressure of oxygen), Ai is the rate constant coefficient for the i reaction, Ei is the activation energy of the ith reaction in unit of kcal/kmol.

195 Values of Ai and Ei (i = 1, 2, 3) are listed in Table 5.19, taken from the link: http://www.che.cemr.wvu.edu/publications/projects/acrylic/acrylic12.PDF

i Ei Ai kcal/kmol kmol/[m3 reactor h (kPa)2] 1 15,000 1.59×105 2 20,000 8.83×105 3 25,000 1.81×108

Table 5.19: Kinetic information for acrylic acid production. (http://www.che.cemr.wvu.edu/publications/projects/acrylic/acrylic12.PDF)

Most of the process specifications are listed in the following table, taken from http://www.che.cemr.wvu.edu/publications/projects/acrylic/acrylic12.PDF. Only the total reactor volume is assumed in the thesis since it is not specified in Dr. Shaeiwitz’s acrylic acid design project.

Feed stream information: Listed in Table 5.18. Total reactor volume: 5 m3 (This value is not specified in Dr. Shaeiwitz’s acrylic acid design project, but it is assumed in the calculation and simulation done in the thesis.) Temperature in the reactor units: The temperature at the entrance of the fluidized bed reactor is 250°C and the temperature at the exit is 310°C. Pressure in the reactor units: The pressure at the entrance of the fluidized bed reactor is 4.3 bar and the pressure at the exit is 3.5 bar. Nature of the gas mixture in the reactors: The gas mixture in the reactor unit follows SRK Equation of State. Table 5.20: Process specifications for acrylic acid production. (http://www.che.cemr.wvu.edu/publications/projects/acrylic/acrylic12.PDF)

196 For this acrylic acid production process, we are interested in knowing what the maximum production rate is for the desired product (acrylic acid) over all steady-state designs subject to the constraints listed in Table 5.20 and how far the actual acrylic acid production rate of the process in Figure 5.6 is from that maximum. Similar to what was done in the cumene production case, we can use the software package Productivity Limit

Calculator to calculate the maximum acrylic acid production rate by looking at a CFSTR- only design that is subject to the constraints in Table 5.20. (Notice that each CFSTR in the CFSTR-only design is homogenous in temperature and pressure while the temperature and pressure in different CFSTRs could be different. The minimum temperature value in the CFSTR-only design is 250°C and the maximum temperature value is 310°C; the minimum pressure value in the CFSTR-only design is 3.5 bar and the maximum pressure value is 4.3 bar, corresponding to the temperature and pressure specifications in Table 5.20). Meanwhile, we can simulate the whole process of Figure

5.6 by using a process simulator HYSYS [75]. In HYSYS [75], the fluidized bed reactor is modeled as a plug flow reactor (PFR) with the same specifications listed in Table 5.20.

And the following Table 5.21 lists the critical temperature (Tc), critical pressure (Pc), and

Pitzer acentric factor (ω) of all the involved species that were presumed to obey the SRK

Equation of State in Dr. Shaeiwitz’s acrylic acid design project, whose values are taken from Aspen Plus [74]. The simulation in HYSYS [75] then tells the acrylic acid production rate corresponding to the process design in Figure 5.6 with the process specifications in Table 5.20.

197 Species Tc (K) Pc (bar) ω

Propylene 364.9 46 0.141 (C3H6) Oxygen 154.58 50.43 0.0222 (O2) Acrylic Acid 615 56.6 0.538 (C3H4O2) Water 647.13 220.55 0.345 (H2O) Acetic Acid 591.95 57.86 0.467 (C2H4O2) Carbon Dioxide 304.21 73.83 0.224 (CO2) Table 5.21: Critical temperature, critical pressure, and Pitzer acentric factor of all the involved species in the acrylic acid production case (taken from Aspen Plus, Version 11.1).

According to HYSYS simulation, the actual acrylic acid production rate of the process design in Figure 5.6 subject to the constraints in Table 5.20 is around 87.8 kmol/h.

According to the software (PLC), however, the maximum acrylic acid production rate over all steady-state designs that are subject to the same constraints (listed in Table 5.20) can reach up to 113.3 kmol/h. (Notice that the stoichiometric limit of the acrylic acid production rate is 127 kmol/h, slightly bigger than the maximum calculated from the software package.) The acrylic acid production rate for the process in Figure 5.6 (87.8 kmol/h) is not too far from the maximum acrylic acid production rate (113.3 kmol/h).

This means that the process design in Figure 5.6 is doing reasonably well in trying to get a high acrylic acid production. And the maximum production rate (113.3 kmol/h) tells us that any attempt to achieve a production rate of more than 113.3 kmol/h (subject to the constraints in Table 5.20) is impossible.

198 5.4.4 Phthalic Anhydride Production

A phthalic anhydride production process by using o-xylene and air as raw materials is illustrated in Figure 5.7, adapted from a phthalic anhydride production design project of Dr. Shaeiwitz in West Virginia University, with the following link: http://www.che.cemr.wvu.edu/publications/projects/phthalic/phthal-d.PDF. A packed bed reactor with a certain catalyst is used in the process. The gas leaving the reactor goes through a series of cooling and separation steps including two distillation columns for further processing.

The reactions that occur in the packed bed reactor are shown as follows, taken from http://www.che.cemr.wvu.edu/publications/projects/phthalic/phthal-d.PDF.

CH810+3 O 2→+ CHO 843 3 HO 2 (1) o− xylene phthalic anhydride 15 CHO+ O→+8 CO 2 HO (2) 8432 2 2 2 21 CH+ O→+8 CO 5 HO (3) 8102 2 2 2 15 CH+ O→++ CHO4 CO 4 HO (4) 8102 2 423 2 2 o− xylene maleic anhydride

CHO423+3 O 2→+ 4 CO 2 HO 2 (5)

199

200 The kinetics of the reactions are listed as follows, which is taken from http://www.che.cemr.wvu.edu/publications/projects/phthalic/phthal-d.PDF.

k 27,000 rkpp==−+ ln1 19.837 11xy o2  kRT0 k 31,000 rkpp==−+ ln2 20.86 22pa o2  kRT0 k 28,600 rkpp==−+ ln3 18.97 33xy o2  kRT0 k 27,900 rkpp= ln4 =− + 19.23 44xy o2  kRT0 k 30,400 rkpp==−+ ln5 20.47 55ma o2  kRT0

th -1 Here, the occurrence rate of the i reaction per unit catalyst mass ri is in kmol h (kg

-1 -1 -1 -2 catalyst) , k0 = 1 kmol hr (kg catalyst) atm , partial pressures are in atmosphere, pxy represents the partial pressure of o-xylene, ppa represents the partial pressure of phthalic anhydride, pma represents the partial pressure of maleic anhydride, T is in degrees Kelvin, and the gas constant R = 1.987 cal K-1mol-1.

Most of the specifications/constraints for the process are listed in the following table (taken from http://www.che.cemr.wvu.edu/publications/projects/phthalic/phthal- d.PDF). Only the total catalyst mass is not specified in the phthalic anhydride design project in http://www.che.cemr.wvu.edu/publications/projects/phthalic/phthal-d.PDF.

Thus, a total catalyst mass of 100 kg is assumed in the calculation and simulation done in this example.

201 Feed stream information: The feed stream of the packed bed reactor contains 100 kmol/h of o-xylene and 1050 kmol/h of oxygen. Total reactor capacity: The total catalyst mass is assumed to be 100 kg in the calculation/simulation in this example, since it was not specified in Dr. Shaeiwitz’s phthalic anhydride design project. Temperature in the reactor units: The temperature at the entrance of the packed bed reactor is 300°C; the temperature at the exit of the packed bed reactor is 400°C. Pressure in the reactor units: The pressure at the entrance of the packed bed reactor is 3 atm and the pressure at the exit is 1 atm. Nature of the gas mixture in the reactors: The gas mixture in the reactor follows SRK Equation of State. Table 5.22: Process specifications for phthalic anhydride production. (http://www.che.cemr.wvu.edu/publications/projects/phthalic/phthal-d.PDF)

As was in the acrylic acid production case, we are interested in knowing the maximum phthalic anhydride production rate over all possible steady-state designs subject to all the constraints listed in Table 5.22 and how far the actual phthalic anhydride production rate of the process in Figure 5.7 is from that maximum with the same constraints. The software package Productivity Limit Calculator is used to calculate the maximum phthalic anhydride production rate by looking at a CFSTR-only design that is subject to the constraints in Table 5.22. (Again, each CFSTR in the CFSTR-only design is homogenous in temperature and pressure, but the temperature and pressure in different

CFSTRs could be different. The minimum allowable temperature in the CFSTR-only design is 300°C and the maximum allowable temperature is 400°C; the minimum allowable pressure in the CFSTR-only design is 1 atm and the maximum allowable

202 pressure is 3 atm, corresponding to the temperature and pressure specifications in Table

5.22). The whole process in Figure 5.7 is simulated in a process simulator HYSYS [75] subject to the constraints listed in Table 5.22. In HYSYS [75], the packed bed reactor is modeled as a plug flow reactor (PFR) where the temperatures at the entrance and at the exit of the reactor are 300°C and 400°C, respectively; the pressures at the entrance and at the exit of the reactor are 3 atm and 1atm, respectively. And Table 5.23 lists the values of critical temperature (Tc), critical pressure (Pc), and Pitzer acentric factor (ω) of all the involved species that were presumed to obey SRK Equation of State in Dr. Shaeiwitz’s design project (http://www.che.cemr.wvu.edu/publications/projects/phthalic/phthal- d.PDF), which are obtained from Aspen Plus [74].

Species Tc (K) Pc (bar) ω

o-xylene 630.3 37.32 0.31013 (C8H10) Oxygen 154.58 50.43 0.02218 (O2) Phthalic Anhydride 791 47.2 0.7025 (C8H4O3) Water 647.13 220.55 0.344861 (H2O) Carbon Dioxide 304.21 73.83 0.223621 (CO2) Maleic Anhydride 721 72.8 0.54629 (C4H2O3) Table 5.23: Critical temperature, critical pressure, and Pitzer acentric factor of all the involved species in the phthalic anhydride production case (taken from Aspen Plus, Version 11.1).

203 According to the software package PLC, the maximum phthalic anhydride production rate, over all possible steady-state reactor-separator systems consistent with all the constraints listed in Table 2.2, is 87.42 kmol/h. However, the simulation of the process in Figure 5.7 in HYSYS [75] shows that the phthalic anhydride production rate of the process in Figure 5.7 is only 10.38 kmol/h, subject to the same constraints. We can see that the phthalic anhydride production rate of the process in Figure 5.7 is much smaller than the best that can be achieved, so we might want to take a look at the process design in Figure 5.7 and see if we can get a higher phthalic anhydride production rate while at the same time try to keep the process economical.

This example illustrates very well the usefulness of the software package

Productivity Limit Calculator based on the idea in the CFSTR Equivalence Principle.

Without the software, designers would not be able to know an accurate kinetic bound on the production rate of their desired product (in this case, phthalic anhydride). They may know the stoichiometric limit (in this case, 100 kmol/h), but this limit does not take into account the involved kinetics and the reactor capacity, so it is only a rather coarse estimation. The software, however, takes into account as well the reaction kinetics and the reactor capacity. Therefore, it gives a much tighter bound on the production rate of the desired species. (In this case, the upper limit of the phthalic anhydride production rate over all possible steady-state designs subject to all the constraints in Table 5.22 is 87.42 kmol/h.) By comparing the production rate of a candidate process design with the maximum production rate calculated from the software, designers would be able to know

204 very clearly how far the production rate of the candidate design is from the maximum.

Based on the comparison, the designers can decide whether or not it is necessary to modify the candidate process design. From this point of view, the result of the software provides a benchmark that no steady-state design can transcend.

5.5 Summary of All Case Studies

At the beginning of this chapter (Section 5.1 and 5.2), different sized chemical reaction networks have been studied to compare the advantages and disadvantages of all methods that have been developed in Chapter 3. Among all linear methods, the Multi- stage Linear Programming method usually uses a longer computation time than the other linear methods, but it does give better results in some cases. The other four linear methods (except the Multi-stage Linear Programming method) gave similar performances.

All of the linear methods, however, are only good at solving small-sized problems. About the nonlinear Solver DLL method, it generally gives good answers while using small sample sizes (if the reaction network is not too large). And it can be used in both small and large-sized problems. However, it involves a commercial-grade solver that is not freely available, contrary to the open-sourced linear methods.

Besides these educational test examples, four practical industrial processes have been studied to compare for a certain process the production rate of a desired species with the maximum production rate of that species over all possible steady-state reactor- separator systems consistent to some specified constraints. From these four case studies, we can see that the software package (PLC), based on the idea of the CFSTR Equivalence

205 Principle, provides a very useful tool because it can tell the process designers an accurate kinetic bound on the production rate of their desired species. In other words, the result of the software can be used to help the designers to effectively judge the performance of their candidate process design.

******************

The software package can not only be used to search for the maximum production rate of a certain desired chemical species, it can also help us to answer some very interesting questions. For example, questions like how the environmental constraint and the reactor capacity influence the maximum production rate of the desired species can be studied by using the software package. This will be explained in Section 6.2 of the next chapter.

206

CHAPTER 6

CONCLUSION AND FUTURE RESEARCH WORK

6.1 Conclusion

For any chemical process which involves a series of chemical reactions to produce a desired product, the production rate of that desired product is influenced by factors including the feed streams, the configuration of the reactor-separator system involved in the process, the temperature and pressure range in the reactor units, the available reactor capacity (e.g., reactor volume or catalyst mass), and applicable environmental constraints. For the same commitment of material resources and the same constraints, we can get a different production rate of the desired product by changing the design. Then an interesting question arises. That is: Given the feed stream information, the involved reactions with the associated kinetics, the allowable temperature and pressure ranges in reactor units, the available reactor capacity, and applicable environmental constraints, what is the maximum production rate of the desired chemical species that can be achieved over all possible steady-state reactor-separator systems consistent with all the specifications?

207 The importance of addressing this question is that the answer to it provides an important guideline in designing chemical processes. The reason is that once the maximum production rate of a certain desired species is known over all possible steady- state reactor-separator systems (subject to certain constraints), the designer can use that maximum to compare with the production rate of a candidate design. For example, if the candidate design is an economical design that can yield a production rate close to the maximum, it means that the candidate design is probably doing well. On the other hand, if the candidate design is not economical and its production rate is far from the maximum, this tells us that a closer look at the candidate design might be needed to further improve the design.

To compute that maximum production rate of a certain desired species given information including the feed stream information, the underlying chemical reaction network with its associated kinetics, the temperature and pressure range in the reactor units, the available reactor capacity, and applicable environmental constraints is the main purpose of this thesis and how to solve this question has been elaborated in previous chapters. The following lists the highlights of the thesis:

1. Based on a very important theory the CFSTR Equivalence Principle for

Reactor-Separator Systems, this thesis has developed several computation algorithms including five linear methods and one nonlinear method for a practical implementation purpose;

208 2. With all these algorithms embedded, a software package the Productivity Limit

Calculator has been developed as a convenient tool to calculate the maximum production rate of a certain desired chemical species over all possible steady-state designs consistent with certain specifications and constraints;

3. Some case studies have been carried out by using the software package the

Productivity Limit Calculator. The results of these examples were used to compare the performances of all the developed methods.

Next, Section 6.1.1 – 6.1.2 will give a short summary of the main parts of the thesis. After that, some future research work will be proposed in Section 6.2.

6.1.1 An Important Conceptual Tool – The CFSTR Equivalence Principle

To get the maximum production rate of the desired product over all possible steady-state reactor-separator designs is not an easy task. If we want to find the maximum by enumerating all possible steady-state designs, it is almost impossible because there are a countless number of combinations of reactors and separators, including designs that could be even beyond our imagination at this time. However, it does not mean that there is no way to solve this problem. A very important theory, the CFSTR Equivalence

Principle for Reactor-Separator Systems, provides a theoretical basis for tackling the problem. Roughly, what the theory says is that for any steady-state reactor-separator system with a certain feed stream, a certain reaction network with kinetics, certain temperature and pressure ranges in reactor units, and a certain reactor capacity, there is

209 another steady-state reactor-separator system in which the only reactors are CFSTRs and the number of the CFSTRs is no more than s + 1 (with s the rank of the underlying chemical reaction network), which can give the same (or arbitrarily close) effluent as the original design for the same feed, the same kinetics, the same reactor capacity, and the same temperature and pressure ranges as in the original design. (More details can be found in Chapter 2.) What the theory tells us is that for any steady-state reactor-separator system that can be applied in a chemical process, there is an “equivalent” steady-state design in which the only reactors are CFSTRs and which gives the same effluent rate as that of the original design. (We call this “equivalent” design the CFSTR-only design.)

The importance of this theory is that it tells us that to find out the maximum production rate of our desired product, we don’t really need to sort out all possible designs. Instead, it would be enough to only look at the CFSTR-only design, and this exceptional design will tell us all possible effluent rates by varying the combinations of the compositions, temperatures, and volumes of all CFSTRs used in the CFSTR-only design. And among the set of all possible effluent rates, we can use a proper searching technique to find out the maximum production rate of the desired species.

One thing to notice is that this theory did not say that the CFSTR-only design is an economically equivalent design as the original design. As a matter of fact, the CFSTR- only design could be very costly due to the assumed arbitrary separation ability of the separation system (e.g., the separation and recycle rates in the CFSTR-only design could be so high to achieve the same effluent rate as that of the original design that the total cost of the CFSTR-only design could be very high.). However, keep in mind that our

210 purpose is not to find an economical design, but to find the maximum production rate of a certain desired chemical species over all possible steady-state reactor-separator systems

(subject to certain constraints). Solely for this purpose, the CFSTR-only design, although could be very expensive, is what we need to look at.

Although the CFSTR Equivalence Principle provides an important theoretical basis, how to actually compute the maximum production rate for every individual case/process is another important issue. And the most important part of this thesis is to explore several algorithms to come up with a handy computational tool that can be used to find the maximum production rate of a certain desired species for reasonably large chemical reaction network. As can be seen in Chapter 4, a software package the

Productivity Limit Calculator has been developed based on the idea of the CFSTR

Equivalence Principle. It provides a convenient tool for finding the maximum production rate of a certain desired chemical species. The next section is the summary of the different algorithms used in the software package.

6.1.2 Different Algorithms in the Software Package Productivity Limit Calculator

Details of the different algorithms can be found in Chapter 3. In general, two major different ways have been explored in the computational implementation of the

CFSTR Equivalence Principle. One way is to use linear optimization techniques, and the other is to use a nonlinear optimization technique. For the linear optimization techniques, there are five slightly different algorithms: the Qhull Once Algorithm, the Qhull Twice

Algorithm, the Linear Programming Only Algorithm, the Qhull Once + Linear

211 Programming Algorithm, and the Multi-stage Linear Programming Algorithm. For the nonlinear optimization technique, use has been made of a commercial-grade nonlinear optimizer, Solver DLL from Frontline Systems Inc. [76]

When all methods are compared, the Solver DLL method gives the most satisfactory performance in terms of giving fairly accurate results in fairly short time.

And it can be used in both small and fairly large sized problems. The linear methods, however, can only be used in small sized problems to give reliable answers. The main advantage of the linear methods is that they can be made freely available, without cost to the user. (This has benefits in educational settings.)

In each practical case study in Section 5.4, the maximum production rate from the

Productivity Limit Calculator is always greater than the production rate from the HYSYS

[75] simulation for the process design in each case. This supports the claim that the result from the software, implemented from the idea in the CFSTR Equivalence Principle, provides a sharp kinetic bound on the productivity (of a certain desired species) that no steady-state design can transcend.

6.2 Suggested Future Research Work

Previous chapters have focused on answering the main question in this thesis.

That is, how to compute the (theoretical) maximum production rate of a certain desired chemical species given information including the underlying chemical reaction network with its associated kinetics, feed stream information, temperature and pressure ranges in reactor units, available reactor capacity, and applicable environmental constraints. A

212 computational tool (the Productivity Limit Calculator) has been developed for answering this question, based on the idea in the CFSTR Equivalence Principle for Reactor-

Separator Systems. This computational tool has been used in studying a few examples

(Chapter 5) and the performance is satisfactory, especially when the nonlinear Solver

DLL method is employed. Although it seems that the main task in this thesis has been roughly completed, there are still places where more research study can be carried out. In the following sections of this chapter, several unanswered questions will be suggested for possible future research work.

6.2.1 Effect of the Environmental Constraint on the Productivity Limit

First let us recall Network Example D in Section 5.2 with the following chemical reaction network:

kT12() k () T AA12→→ A 4 2AAkT3 ()→ 13 kT4 () AA12+→ A 5

kT5 () AA35+→ A 6

The presumed rate constants are as follows:

11 kT( )=× 5.12 103 exp(- ) 1 RT 20 kT( )=× 8.46 108 exp(- ) 2 RT 25 kT( )=× 2.28 1011 exp(- ) 3 RT 12 kT( )=× 3.56 105 exp(- ) 4 RT 12 kT( )=× 4.43 105 exp(- ) 5 RT 213 where the activation energies are given in [kcal/mol], the (implied) concentrations are in

[mol/liter], and the units of k1, k2, k3, k4 and k5 are [1/s], [1/s], [liter/(mol s)], [liter/(mol s)] and [liter/(mol s)] respectively. Assume that species A1 to A6 constitute an ideal gas mixture.

The feed stream contains only A1 at a flow rate of 40.00 mol/s. The maximum total reactor volume allowed is 8000 liters. In addition, the temperature range in the reactor units is between 100°C and 400°C and the pressure in the reactor units is less than

2 bars. We also suppose that A4 is our desired product and that A3 is an undesired waste that needs to be dealt with.

In Section 5.2, we have calculated the maximum M4 (which is 4.68 mol/s) over all possible steady-state reactor-separator systems consistent to all the above constraints and an additional environmental constraint that M3 should not exceed 0.1 mol/s. By keeping everything else the same but only changing the value of the M3 environmental constraint, we could get different maximum M4 values corresponding to those different M3 environmental constraint values (while keeping all other constraints the same). The following figure was obtained from the Solver DLL method in the software package

Productivity Limit Calculator by maximizing M4 at different M3 environmental constraint values.

214

Figure 6.1: Effect of the M3 constraint on the M4 maximum

in the Network Example D in Section 5.2.

Next, let us use the same way to obtain the (maximum production rate of the desired species)-versus-(environmental constraint) curve for the van de Vusse example in

Section 5.1, repeated as follows.

For the van de Vusse network:

A kk12()TT→AA ()→ 12 4 k3 ()T 2AA13→ where

215 10 kT( )=× 4.22 103 exp( − ) 1 RT 18 kT( )=× 1.02 105 exp( − ) , 2 RT 22 kT( )=× 5.24 108 exp( − ) 3 RT the activation energies are given in [kcal/mol]; the (implied) concentrations are in

[mol/liter]; and the units of k1, k2, and k3 are [1/s], [1/s], [liter/(mol s)] respectively. The values of the constant coefficients and the activation energies are taken from Feinberg and Ellison (2001).

Suppose that species A1, A2, A3, A4 constitute an ideal gas mixture, that the allowable temperature range in the reactor components is [373.15, 573.15] K, that the allowable pressure range in the reactor components is [0, 10] bar, and that the maximum total reactor volume is 1000 liters. The feed stream contains only A1 at a flow rate of 10 mol/s. Suppose that A4 is our desired species and that A3 is an environmentally harmful species that needs to be dealt with.

In Section 5.1, different methods implemented in the Productivity Limit

Calculator have shown that the maximum M4 over all steady-state designs consistent with all the above constraints and an additional environmental constraint that M3 should not exceed 0.1 mol/s is about 6.12 mol/s. By changing only the M3 constraint but keeping everything else the same, the Solver DLL method in the Productivity Limit Calculator can be used to find the maximum M4 values at different M3 constraints. The following

Figure 6.2 shows the effect of the M3 constraint on the M4 maximum in the van de Vusse example.

216

Figure 6.2: Effect of the M3 constraint on the M4 maximum

in the van de Vusse example in Section 5.1.

From the comparison of the (maximum production rate of a certain desired species)-versus-(environmental constraint) curves for the Network Example D in Section

5.2 and for the van de Vusse example in Section 5.1, some similarities can be observed.

First of all, the maximum production rate of a certain desired species increases as the environmental constraint value increases (before it reaches a certain value). This is easy to understand because as the tightening of the environmental constraint loosens, the maximum production rate that can be achieved for a certain desired species will not be worse than that with a more strict control of the environmental constraint.

217 Second, in both cases, a flat region can be observed after a certain “turning” point.

This “turning” point corresponds to a certain environmental constraint value beyond which the maximum production rate of a certain desired species does not change anymore. To distinguish this “turning” point, we name its corresponding environmental constraint value the critical environmental constraint. Beyond this critical value, the environmental constraint ceases to affect the maximum production rate of a certain desired species. The Productivity Limit Calculator shows that the critical M3 environmental constraint in the Network Example D is about 11.811 mol/s (as in Figure

6.1) while the critical M3 environmental constraint in the van de Vusse example is about

0.305 mol/s (as in Figure 6.2).

The first reaction to the observation of such a flat region might be: Why is there a

“turning” point and what is the meaning of this point?

To try to answer these questions, we can think through things geometrically.

Imagine that we take the projection of the attainable region (of all possible effluent rate vectors) on a 2-d plane where the X axis corresponds to the environmental constraint and the Y axis corresponds to the maximum production rate of a certain desired species.

(Refer to Figure 6.3.) Since one of the properties of the attainable region is that it is convex, its projection on the 2-d plane is also convex. What the critical environmental constraint really means, from a geometrical point of view, is that as we move the vertical line (corresponding to the environmental constraint) across the attainable region in a gradually increasing direction, there is a certain position at which the desired chemical species reaches its highest production rate. As the vertical line (corresponding to the

218 environmental constraint) moves further from this position (and eventually leaves the attainable region) the maximum production rate of the desired chemical species does not change any more. This position that corresponds to the critical environmental constraint can lie inside the attainable region, or it can be tangent to the attainable region, depending on the shape of the attainable region. These two cases are roughly illustrated in Figure 6.3.

Figure 6.3: Illustration of possible positions of the critical environmental constraint.

Other than the similarities observed in both cases, some differences between these two examples could be more inspiring. For example, in the Network Example D, the M4 maximum is not very sensitive to the change in the M3 environmental constraint; but in the van de Vusse example, the M4 maximum is much more sensitive to the change in the

M3 environmental constraint. This can be seen from the increasing parts (prior to the flat

219 regions) of both curves in Figure 6.1 and Figure 6.2. In Figure 6.1, when M3 increases from nearly zero to around 12 mol/s, the maximum M4 increases from around 5 mol/s to around 16 mol/s. So the average slope (or increasing speed) is about ∆M4/∆M3 ≅ (16-

5)/12 = 0.92. In Figure 6.2, however, when M3 increases from nearly zero to around 0.3 mol/s, the maximum M4 increases from less than 2 mol/s to more than 9 mol/s. So the average slope (or increasing speed) is about ∆M4/∆M3 ≅ (9-2)/0.3 = 23.3. And at the very beginning part of the curve in Figure 6.2 (when M3 is less than 0.1 mol/s), the slope is even sharper. This difference leads us to wonder if there is a theoretical way to determine, at least qualitatively, the sensitivity of the maximum production rate of a certain desired species to the change in the environmental constraint.

Another difference between the two cases lies in the value of the critical environmental constraint. In the Network Example D, the critical environmental constraint is about 11.811 mol/s (as in Figure 6.1); in the van de Vusse example, the critical environmental constraint is about 0.305 mol/s (as in Figure 6.2). It is a guess that the value of the critical environmental constraint can be determined from the feed stream information, the available reactor capacity, the allowable temperature and pressure ranges in reactor units, the reaction kinetics, and the properties of the involved species (e.g., ideal gas mixture). However, this relationship has not been detangled yet.

220 6.2.2 Effect of the Reactor Capacity on the Attainable Region

Let us use the van de Vusse example in Section 5.1 as an example to illustrate the attainable regions (of all possible effluent rates) at different total reactor volumes. By using the same feed stream, the same temperature and pressure ranges in reactor units, the same kinetics (as in Section 5.1), but at different total reactor volumes and not considering any environmental constraint, we can study the effect of the available total reactor capacity on the attainable effluent rate vectors. Figure 6.4 illustrates the (projected) attainable region for the van de Vusse example at three different total reactor volumes:

100 liters, 300 liters, and 1000 liters. All plots in Figure 6.4 are obtained from calculations done in Maple [77] and Qhull [10].

V = 100 liters

221

V = 300 liters

V = 1000 liters

Figure 6.4: Attainable regions at different reactor volumes for the van de Vusse example.

222 We can see from the three plots in Figure 6.4 that as the available total reactor volume gets larger and larger, the attainable region also enlarges accordingly. However, this “growth” is also bounded by the stoichiometric boundary. For example, in the van de

Vusse example, the stoichiometric limit for M3 is 5 mol/s and the stoichiometric limit for

M4 is 10 mol/s. This means that no matter how big the total reactor volume is used in the system, the attainable region can never reach the area outside of the pyramid BACD shown in Figure 6.4.

It is interesting to note that actually M3 can never reach its stoichiometric limit (5 mol/s). The maximum M3 that can be obtained is estimated to be about 4.37 mol/s, no matter how big the maximum total reactor volume is. This value was found by running the software package PLC at the following condition: Everything else remained the same as in the van de Vusse example except that the objective here is to maximize M3 instead of M4, that there is no constraint on the production rate of any species, and that a lot of different large reactor volumes were tried. According to the software PLC, the maximum

M2 can be achieved to be the same as its stoichiometric limit (10 mol/s) as long as the total reactor volume is really large (e.g., 100,000 liters). This also happens to the maximum M4, which can be achieved to be the same as its stoichiometric limit (10 mol/s) under really large reactor volumes (e.g., 80,000 liters). So an interesting question that can be asked is: When is there a maximum production rate of a particular species that is less than the stoichiometric limit but which cannot be exceeded no matter how large the total reactor capacity becomes? Moreover, in that case, can the limit be calculated theoretically?

223 6.2.3 Sensitivity of the Result to Errors from Different Sources

The software package Productivity Limit Calculator can be used to calculate the maximum production rate of a certain species given the feed stream information, the underlying chemical reactions and the associated kinetics, the allowable temperature and pressure ranges in reactor units, the available reactor capacity, and applicable environmental constraints. Notice, however, errors in the kinetic parameters (e.g., activation energies, constant coefficients) or parameters used in equation of state could influence the result. So a study on the sensitivity of the result to errors in kinetic parameters or in parameters used in equation of state can be considered in the future research.

6.2.4 True Maximum

Several examples have been studied by using the software PLC in Chapter 5 to search for the maximum production rate of a certain desired species. However, it is not certain about how good (or reliable) the result is from the software. For example, even under the condition that by using large sample sizes the result from the Solver DLL method keeps approximately the same, we cannot say for sure that this is the true maximum because the sample size can be (theoretically) infinitely large. But we know that for every problem, there can be only one true optimum. So the question is: How far is the result by the software package from that true maximum? Is there some way to estimate the “distance”? These questions are not answered in this thesis.

224 6.2.5 Improving the Current Design

The software package Productivity Limit Calculator can be used to compute the maximum production rate of a certain desired chemical species given certain process specifications and constraints. By comparing the production rate of a candidate design with this maximum, we can see how far the production rate of the candidate design is from the best that can be achieved. If the candidate process is economical and gives a production rate that is not far from the maximum, the candidate process is probably doing pretty well. However, if the candidate process is not very economical and gives a production rate that is far from the maximum, this means that we might want to improve the candidate process to get something that can produce more of what we want and is economical at the same time.

Then the question is: After realizing that we need to make some improvement of the candidate design, how should we proceed? What we have in our hand is an exceptional CFSTR-only design that gives the maximum. But this exceptional design is usually very expensive due to the arbitrary separation ability of the separator system.

Nevertheless, this exceptional CFSTR-only design (with arbitrary separation ability) may be modified somehow to get another design (maybe similar to the CFSTR-only design but with a limited separation ability) which compromises between the cost and the productivity. And how to practically improve the candidate design is certainly something that can be considered in the future research work.

225

REFERENCES

1. Abraham, Thomas K.; Feinberg, Martin, “Kinetic Bounds on Attainability in the Reactor Synthesis Problem”, Industrial & Engineering Chemistry Research, 43(2), 449-457 (2004).

2. Acevedo J.; Pistikopoulos, E. N.; “A Parametric MINLP Algorithm for Process Synthesis Problems under Uncertainty”, Industrial & Engineering Chemistry Research, 35, 147 (1996).

3. Achenie, Luke E. K.; Biegler, Lorenz T., “Algorithmic synthesis of chemical reactor networks using mathematical programming”, Industrial & Engineering Chemistry Fundamentals, 25(4), 621-7 (1986).

4. Achenie, Luke K. E.; Biegler, Lorenz T., “Developing targets for the performance index of a chemical reactor network: isothermal systems”, Industrial & Engineering Chemistry Research, 27(10), 1811-21 (1988).

5. Achenie, L. K. E.; Biegler, L. T., “A Superstructure-based Approach to Chemical Reactor Network Synthesis”, Computers & Chemical Engineering, 14(1), 23-40 (1990).

6. Balakrishna, Subash; Biegler, Lorenz T., “Constructive targeting approaches for the synthesis of chemical reactor networks”, Industrial & Engineering Chemistry Research, 31(1), 300-12 (1992).

7. Balakrishna, Subash; Biegler, Lorenz T., “Targeting strategies for the synthesis and energy integration of nonisothermal reactor networks”, Industrial & Engineering Chemistry Research, 31(9), 2152-64 (1992).

8. Balakrishna, S.; Biegler, L. T., “A Unified Approach to the Simultaneous Synthesis of Reaction, Energy and Separation Systems”, Industrial & Engineering Chemistry Research, 32(7), 1372-82 (1993).

226 9. Balakrishna, Subash; Biegler, Lorenz T., “Chemical reactor network targeting and integration: An optimization approach”, Advances in Chemical Engineering, 23, 247-300 (1996).

10. Barber, C. B.; Dobkin, D. P.; Huhdanpaa, H., “The Quickhull Algorithm for Convex Sets”, ACM Trans. Math. Software, 22, 469 (1996).

11. Biegler, Lorenz T., “From nonlinear programming theory to practical optimization algorithms. A process engineering viewpoint”, Computers & Chemical Engineering, 17, S63-S80 (1993).

12. Burri, Jeremy F.; Wilson, Stevan D.; Manousiouthakis, Vasilios I. “Infinite DimEnsionAl State-space approach to reactor network synthesis: application to attainable region construction.” Computers & Chemical Engineering, 26(6), 849- 862 (2002).

13. Denbigh, K. “The Principles of Chemical Equilibrium”, Fourth Edition. Cambridge University Press.

14. Feinberg, Martin; Hildebrandt, Diane, “Optimal reactor design from a geometric viewpoint - I. Universal properties of the attainable region”, Chemical Engineering Science, 52(10), 1637-1665 (1997).

15. Feinberg, Martin, “Recent results in optimal reactor synthesis via attainable region theory”, Chemical Engineering Science, 54(13-14), 2535-2543 (1999).

16. Feinberg, M., “Optimal reactor design from a geometric viewpoint. Part II. Critical sidestream reactors”, Chemical Engineering Science, 55(13), 2455-2479 (2000).

17. Feinberg, M., “Optimal reactor design from a geometric viewpoint - III. Critical CFSTRs”, Chemical Engineering Science, 55(17), 3553-3565 (2000).

18. Feinberg, Martin; Ellison, Phillipp, “General Kinetic Bounds on Productivity and Selectivity in Reactor-Separator Systems of Arbitrary Design: Principles”, Industrial & Engineering Chemistry Research, 40(14), 3181-3194 (2001).

19. Feinberg, Martin, “Toward a Theory of Process Synthesis”, Industrial & Engineering Chemistry Research, 41(16), 3751-3761 (2002).

20. Glasser, David; Crowe, Cameron; Hildebrandt, Diane, “A geometric approach to steady flow reactors: the attainable region and optimization in concentration space”, Industrial & Engineering Chemistry Research, 26(9), 1803-10 (1987).

227 21. Glasser, David; Hildebrandt, Diane; Godorr, Sven, “The Attainable Region for Segregated, Maximum Mixed, and Other Reactor Models”, Industrial & Engineering Chemistry Research, 33(5), 1136-44 (1994).

22. Glasser, David; Hildebrandt, Diane, “Reactor and process synthesis”, Computers & Chemical Engineering, 21(Suppl., Joint 6th International Symposium on Process Systems Engineering and 30th European Symposium on Computer Aided Process Engineering, 1997), S775-S783 (1997).

23. Glasser, David; Hildebrandt, Diane; McGregor, Craig, “There is more to process synthesis than synthesising a process”, AIChE Symposium Series, 323 (Foundations of Computer-Aided Process Design), 311-314 (2000).

24. Godorr, Sven; Hildebrandt, Diane; Glasser, David; McGregor, Craig, “Choosing Optimal Control Policies Using the Attainable Region Approach”, Industrial & Engineering Chemistry Research, 38(3), 639-651 (1999).

25. Hildebrandt, Diane; Glasser, David; Crowe, Cameron M., “Geometry of the attainable region generated by reaction and mixing: with and without constraints”, Industrial & Engineering Chemistry Research, 29(1), 49-58 (1990).

26. Hildebrandt, Diane; Biegler, Lorenz T., “Synthesis of chemical reactor networks”, AIChE Symposium Series, 304(Fourth International Conference on Foundations of Computer-Aided Process Design, 1994), 52-67 (1995).

27. Horn, F. J. M., “Attainable and Non-attainable Regions in Chemical Reaction Technique”, In Chemical Reaction Engineering (Proceeding of the Third European Symposium); Pergamon Press: London, U.K., 1964.

28. Ierapetritou M. G.; Pistikopoulos E. N., “Batch Plant Design and Operations under Uncertainty”, Industrial & Engineering Chemistry Research, 35, 772 (1996).

29. Jobson, Megan; Hildebrandt, Diane; Glasser, David, “Attainable products for the vapor-liquid separation of homogeneous ternary mixtures”, Chemical Engineering Journal (Lausanne), 59(1), 51-70 (1995).

30. Kauchali, Shehzaad; McGregor, Craig; Hildebrandt, Diane, “Binary distillation re- visited using the attainable region theory”, Computers & Chemical Engineering, 24(2-7), 231-237 (2000).

31. Kauchali, Shehzaad; Rooney, William C.; Biegler, Lorenz T.; Glasser, David; Hildebrandt, Diane, “Linear programming formulations for attainable region analysis”, Chemical Engineering Science, 57(11), 2015-2028 (2002).

228 32. Kauchali, S.; Hausberger, B.; Hildebrandt, D.; Glasser, D.; Biegler, L. T., “Automating reactor network synthesis: finding a candidate attainable region for the water-gas shift (WGS) reaction”, Computers & Chemical Engineering, 28(1-2), 149-160 (2004).

33. Kokossis, Antonis C.; Floudas, Christodoulos A., “Optimal synthesis of reactor networks”, Institution of Chemical Engineers Symposium Series, 114(Comput. Integr. Process Eng.), 261-72 (1989).

34. Kokossis, Antonis C.; Floudas, Christodoulos A., “Optimization of complex reactor networks - I. Isothermal operation”, Chemical Engineering Science, 45(3), 595-614 (1990).

35. Kokossis, Antonis C.; Floudas, Christodoulos A., “Synthesis of isothermal reactor- separator-recycle systems”, Chemical Engineering Science, 46(5-6), 1361-83 (1991).

36. Kokossis, Antonis C.; Floudas, C. A., “Stability issues in process synthesis”, Computers & Chemical Engineering, 18(Suppl.), S93-S97 (1993).

37. Kokossis, Antonis C.; Floudas, C. A., “Optimization of complex reactor networks. II. Nonisothermal operation”, Chemical Engineering Science, 49(7), 1037-51 (1994).

38. Kokossis, A. C.; Floudas, C. A., “Stability in optimal design: synthesis of complex reactor networks”, AIChE Journal, 40(5), 849-61 (1994).

39. Kokossis, A. C.; Floudas, C. A., “Synthesis and optimization of two-phase reaction processes”, AIChE Symposium Series, 304(Fourth International Conference on Foundations of Computer-Aided Process Design, 1994), 242-5 (1995).

40. Lakshmanan, Ajay; Biegler, L.T., “Reactor network targeting for waste minimization”, AIChE Symposium Series, 303, 128-38 (1994).

41. Lakshmanan, Ajay; Biegler, Lorenz T., “Synthesis of Optimal Chemical Reactor Networks”, Industrial & Engineering Chemistry Research, 35(4), 1344-53 (1996).

42. Lakshmanan, Ajay; Biegler, Lorenz T., “Synthesis of Optimal Chemical Reactor Networks with Simultaneous Mass Integration”, Industrial & Engineering Chemistry Research, 35(12), 4523-4536 (1996).

43. Lakshmanan, Ajay; Rooney, W. C.; Biegler, Lorenz T., “A case study for reactor network synthesis: the vinyl chloride process”, Computers & Chemical Engineering, 23(4-5), 479-495 (1999).

229 44. Linke, Patrick; Mehta, Vipul; Kokossis, Antonis, “A novel superstructure and optimisation scheme for the synthesis of reaction-separation processes”, Computer- Aided Chemical Engineering, 8(European Symposium on Computer Aided Process Engineering-10, 2000), 1165-1170 (2000).

45. Linke, Patrick; Kokossis, Antonis, “Systematic decision-making technology for optimal multiphase reaction and reaction/reactive separation system design”, Computer-Aided Chemical Engineering, 10(European Symposium on Computer Aided Process Engineering-12, 2002), 247-252 (2002).

46. Linke, Patrick; Kokossis, Antonis, “On the robust application of stochastic optimisation technology for the synthesis of reaction/separation systems”, Computers & Chemical Engineering, 27(5), 733-758 (2003).

47. Linke, Patrick; Kokossis, Antonis, “Attainable reaction and separation processes from a superstructure-based method”, AIChE Journal, 49(6), 1451-1470(2003).

48. Manousiouthakis, Vasilios I.; Justanieah, Ahmad M.; Taylor, Larry A. “The Shrink-Wrap algorithm for the construction of the attainable region: an application of the IDEAS framework.” Computers & Chemical Engineering, 28(9), 1563-1575 (2004).

49. Marcoulaki, E.; Kokossis, A. C., “Reactor network synthesis using stochastic optimization methods”, Institution of Chemical Engineers, 1, 113-15 (1995).

50. Marcoulaki, E. C.; Kokossis, A. C., “Scoping and screening complex reaction networks using stochastic optimization”, AIChE Journal, 45(9), 1977-1991 (1999).

51. Mehta, Vipul; Kokossis, A. C., “Optimal design of multiphase reactors”, Institution of Chemical Engineers, 2, 790-792 (1996).

52. Mehta, Vipul L.; Kokossis, Antonis, “Development of novel multiphase reactors using a systematic design framework”, Computers & Chemical Engineering (1997), 21(Suppl., Joint 6th International Symposium on Process Systems Engineering and 30th European Symposium on Computer Aided Process Engineering, 1997).

53. Mehta, Vipul L.; Kokossis, Antonis C., “Nonisothermal synthesis of homogeneous and multiphase reactor networks”, AIChE Journal, 46(11), 2256-2273 (2000).

54. McGregor, Craig; Glasser, David; Hildebrandt, Diane, “Process synthesis of a reactive distillation system using attainable region results”, Institution of Chemical Engineers Symposium Series, 142(Distillation and Absorption '97, Vol. 2), 663- 674 (1997).

230 55. McGregor, Craig; Glasser, David; Hildebrandt, Diane, “The Attainable Region and Pontryagin's Maximum Principle”, Industrial & Engineering Chemistry Research, 38(3), 652-659 (1999).

56. McGregor, Craig; Hildebrandt, Diane, “A new concept in process synthesis: Maximising the average rate”, AIChE Symposium Series, 323(Foundations of Computer-Aided Process Design), 320-323 (2000).

57. Milne, David; Glasser, David; Hildebrandt, Diane; Hausberger, Brendon, “Application of the Attainable Region Concept to the Oxidative Dehydrogenation of 1-Butene in Inert Porous Membrane Reactors”, Industrial & Engineering Chemistry Research, 43(8), 1827-1831 (2004).

58. Mohideen M. J.; Perkins J. D.; Pistikopoulos, E. N., “Optimal Synthesis and Design of Dynamic Systems under Uncertainty”, Computers & Chemical Engineering, 20, 895 (1996).

59. Ng, D. Y. C.; Rippin, D. W. T. “The Effect of Incomplete Mixing on Conversion in Homogeneous Reactions.” Proceedings of the Third Symposium in Chemical Reaction Engineering; 1965.

60. Nicol, Willie; Hildebrandt, Diane; Glasser, David, “Process synthesis for reaction systems with cooling via finding the attainable region”, Computers & Chemical Engineering, 21(Suppl., Joint 6th International Symposium on Process Systems Engineering and 30th European Symposium on Computer Aided Process Engineering, 1997), S35-S40 (1997).

61. Nisoli, A.; Malone, M.; Doherty, M., “Attainable Regions for Reaction with Separation”, AICHE Journal, 43, 374 (1997).

62. Pahor, B.; Kravanja, Z.; Irsic Bedenik, N. Sika, Ltd., Trzin, Slovenia, “Synthesis of reactor networks in overall process flowsheets within the multilevel MINLP approach”, Computers & Chemical Engineering, 25(4-6), 765-774 (2001).

63. Pistikopoulos, E. N., “Uncertainty in Process Design and Operations”, Computers & Chemical Engineering, 19, 553 (1995).

64. Press W. H.; Flannery B. P.; Teukolsky S. A.; Vetterling W. T., “Numerical Recipes In Pascal”, Cambridge University Press, Cambridge, 1989.

65. Rooney, William C.; Hausberger, Brendon P.; Biegler, Lorenz T.; Glasser, David, “Convex attainable region projections for reactor network synthesis”, Computers & Chemical Engineering, 24(2-7), 225-229 (2000).

231 66. Rooney, W. C.; Biegler, L. T., “Multiperiod reactor network synthesis”, Computers & Chemical Engineering, 24(9-10), 2055-2068 (2000).

67. Schweiger, C. A.; Floudas, C. A., “Optimization Framework for the Synthesis of Chemical Reactor Networks”, Industrial & Engineering Chemistry Research, 38(3), 744-766 (1999).

68. Shacham, M.; Brauner, N.; Cutlip, M. B., “Efficiently Solve Complex Calculations”, Chemical Engineering Progress, 99, 56 (2003).

69. Shah, Piyush B.; Kokossis, Antonis, “Design targets of separator and reactor- separator systems using conceptual programming”, Computers & Chemical Engineering, 21(Suppl., Joint 6th International Symposium on Process Systems Engineering and 30th European Symposium on Computer Aided Process Engineering, 1997), (1997).

70. Tapp, Michaela; Kauchali, Shehzaad; Hausberger, Brendon; McGregor, Craig; Hildebrandt, Diane; Glasser, David, “An experimental simulation of distillation column concentration profiles using a batch apparatus”, Chemical Engineering Science, 58(2), 479-486 (2003).

71. Tapp, Michaela; Holland, Simon T.; Hildebrandt, Diane; Glasser, David, “Make distillation boundaries work for you!”, Computer-Aided Chemical Engineering, 18(European Symposium on Computer-Aided Process Engineering-14, 2004), 499- 504 (2004).

72. Turton, R.; Bailie R. C.; Whiting W. B.; Shaeiwitz J. A., “Analysis, Synthesis, and Design of Chemical Processes”, Prentice Hall, New Jersey, 1998.

73. Vassiliadis, C. G.; Pistikopoulos E. N., “Maintenance Scheduling and Process Optimization under Uncertainty”, Computers & Chemical Engineering, 25, 217 (2001).

74. Aspen Plus, Version 11.1, Aspen Technology, Inc.

75. HYSYS.Process/Plant Version 2.1.1, Aspen Technology, Inc.

76. Solver DLL Platform, Version 4.5, Frontline Systems, Inc.

77. Maple, Version 8, Maplesoft Corporation.

232