SpeedUp-Recent Advances in Process Simulation
SpeedUp-Recent Advances in Process Simulation
00
Printedin Great Britain. All rights reserved Copyright 0 1988 Pergamon FVeSS PlC
C. C. PANTELIDES
Department of Chemical Engineering, Imperial College, London SW7 2AZ, U.K.
745
746 C. C. PANTELIDES
flows) or mathematical constraints [such as the do- variety of mathematical and flowsheeting examples
main of definition of functions (l)]. From a rigorous demonstrated their robustness in obtaining the solu-
mathematical viewpoint, the combined problem tion from poor initial guesses.
posed by relations (l)--(4) is, perhaps, best described Bogle (1983) applied similar ideas to large, sparse
as finding a feasible point of a certain optimization systems by producing scale-invariant variants of
problem. However, constrained optimization is, in Schubert’s (1970) method. Schubert’s method has
general, a much more difficult problem than the also been the basis of work done by Chen and
solution of algebraic equations. As a result, the Stadtherr (1984).
inequality constraints (4) are often dealt with by However, additional testing showed that least-
starting with an initial point within the bounds and change secant-based methods often failed to retain
ensuring that subsequent iterates generated by the the robustness and efficiency of comparable imple-
numerical algorithms are suitably modified so that no mentations of Newton’s method utilizing analytical
bound violation takes place (see, for instance, partial derivatives; this was especially true for highly
Paloschi et al., 1983). Although its effect on the nonlinear problems with rapidly changing Jacobians.
theoretical properties of numerical methods is not Even implementations of discrete Newton’s method
completely understood, this ad hoc treatment has were found to be more reliable, if not as efficient,
been found to work fairly well in practice (Paloschi, provided some care was exercised in selecting the size
1982; Bogle, 1983) and has been adopted by all of the finite-difference perturbation. Furthermore,
steady-state numerical codes in SpeedUp. close examination of Paloschi’s (1982) work revealed
that a significant part of the improvement in
2.2. Numerical methods
reliability demonstrated by his codes was the result of
By far the most popular class of methods for the periodic reinitialization of the Jacobian matrix
solving the algebraic systems (l-3) is the quasi- using a finite-difference scheme. All of these factors
Newton family of methods. All members of this class. point towards the importance of providing the best
which includes Newton’s, discrete Newton’s, possible approximation to the Jacobian matrix at
Brown’s, Brent’s and all variations of the least-change each iteration. This objective, however, seemed to be
secant methods, proceed by constructing local linear- in conflict with the constraint arising from the non-
izations of the nonlinear equations (1), which are availability of analytical partial derivatives, while
then solved to provide the next solution iterate. evaluation by finite-differences would be very
The linearizations inevitably need the values, or expensive for most systems; the application of
approximations to the values of the partial deriva- algorithms aiming to save function evaluations
tives af;/ax,. The methods display superlinear or (Curtis rt al., 1974; Coleman and More, 1983) only
even quadratic convergence characteristics; various mitigates the expense inherent in finite-difference
modifications have been proposed to facilitate con- schemes.
vergence from poor initial points lying outside the
domain of local convergence. 2.3. Automatic algebraic manipulation
The need for partial derivative information The above dilemma was resolved through the use
presents considerable problems to packages like of automatic algebraic manipulation (AAM) to gen-
SpeedUp, which, through the flexibility of their input erate the partial derivatives of all equations, the form
language, allow the user to define new process models of which is available to the package explicitly. AAM
by doing little more than writing down the equations has been studied by computer scientists for over three
describing the process (Paloschi et aZ., 1983). Since decades; reviews of its applications have been given
the set of model equations is not predetermined, or, by Sammet (1966), Brown and Hearn (1978) and Ng
indeed, finite, no preceded derivatives can be pro- (1979). It should be noted that Hernandez (1980)
vided by the package. Demanding that the user studied the possibility of using AAM as part of
supplies his own partial derivatives, would probably flowsheeting algorithms, but his experience with var-
be unacceptable in terms of the effort and the possi- ious symbolic manipulation languages implemented
bility of error involved, and would also negate most as extensions of FORTRAN was not encouraging,
of the advantages of easy model definition provided mainly because of the costs in terms of computer
by the package. memory and execution time.
As a consequence of the above considerations, Our implementation of symbolic manipulation is
earlier numerical methods in SpeedUp were based on based on a binary-tree representation (see e.g. Knuth,
quasi-Newton methods which did not require any 1973) of algebraic expressions (Fig. t). A binary tree
analytical partial derivative information. Thus Pal- is defined recursively as a root node linked to two
oschi (1982) devized and implemented a set of least- branches (usually referred to as “left” and “right”).
change secant methods based on Broyden’s (1965) Each branch is itself a (possibly empty) binary tree.
algorithm. Paloschi’s methods had the desirable char- The tree representation is particularly suitable for
acteristic of being theoretically invariant with respect performing AAM since various symbolic operations
to variable scaling~unlike the original Broyden can be expressed conveniently in a recursive manner.
method. Furthermore, testing of the codes on a For instance. Fig. 2a shows the binary tree represent-
Speed’-% 747
+
derivatives, dA and dB, can be formed by recursive
applications of the rules of differentiation. In fact,
only a small number of rules are needed to enable the
program to form the partial derivatives of any ,
differentiable expression.
Like the rest of the SpeedUp translator/executive,
the symbolic manipulation routines are written in
standard PASCAL, making use of the powerful
recursive data structure and recursive procedure
features provided by this language. The routines
generate a FORTRAN subprogram that contains the
code calculating the derivatives. The generated code
kT;i
A X
(b)
Fig. 2. Differentiationof a productin binary tree representation: (a) simple product derivative: (b) efficient
product representation exploiting common subexpressions.
748 C. C. PANTELIDES
We feel that procedures are useful for various Finally, it is often possible to produce procedures
reasons. They can be used to describe generalized that calculate not only their output variables, but also
equations, i.e. equations defined by different alge- the deriuatiaes (or sensitivities) of their outputs with
braic forms in different domains (Perkins, 1983); this respect to their inputs. Macchietto et al. (1988) have
form of procedure usage has recently diminished in applied this approach to vapour-liquid equi-
importance since the SpeedUp input language now librium procedures and reported significant im-
allows direct specification of such equations in provements in performance. Of course, derivatives
models. Procedures can also be used to implement returned by procedures are treated just like other
specialized solution algorithms for particular process analytically-available derivatives. Special provisions
units, if such algorithms offer advantages in efficiency are made in the SpeedUp input language to identify
or robustness over general-purpose quasi-Newton and support such procedures.
methods. Finally, procedures are especially useful
when the calculation of their outputs involves several 2.5. Sready -state examples
intermediate variables, the values of which are not In this section we present performance measure-
needed outside the procedure. In such cases, the size ments derived from applying four different algebraic
of the algebraic system that the package has to solve equation-solvers implemented within SpeedUp to
is reduced through the elimination of these inter- some representative flowsheeting problems. The
mediate variables. The savings in space and time complete results are given in Table 1. Here a brief
requirements are often significant, as, for instance, in description of the codes is first provided, followed by
the case of flowsheeting problems involving many descriptions of the problems solved and the data
physical property calculations. collected and presented.
A consequence of using procedures is the fact that 2.5.1. The solution algorithms. The four solution
the form of the corresponding equations is not avail- algorithms used in this study are QN, SCHUBERT,
able explicitly to the package; thus, no analytical NEWTON and HYBRID. In all cases, decom-
expressions can be generated automatically for their position techniques are used to reorder the system of
partial derivatives, which must, therefore, be approxi- equations to a block-triangular form. The solution
mated numerically. This can be done using either algorithm is then applied sequentially to each of the
finite-difference or least-change secant type approxi- diagonal blocks. The advantages of this type of
mations (see e.g. Lucia and Macchietto, 1983). decomposition have been described by Sargent (1978)
In either case, the approximation is applied to and have been confirmed by recent testing, especially
analytically unavailable derivatives only; in fact, the in view of the extremely efficient algorithms now
partial availability of analytical derivatives implies available for performing this task.
that finite-difference approximations to the remaining QN is Paloschi’s (1982) implementation of
derivatives can often be constructed with fewer Broyden’s method. QN applies a least-change secant
function evaluations than would otherwise be update to all elements of the LU factors of the
possible (see Fig. 3). Jacobian approximation; nonsingularity of the re-
sulting matrix is ensured by modifying the update, if
necessary. At the beginning of the first iteration, the
Jacobian is initialized using a finite-differences
scheme coupled with the Curtis et al. (1974) algo-
N
(
N rithm in order to minimize the number of required
function evaluations. The same approach is used to
N N reinitialize the Jacobian periodically, if the progress
of the iteration is not satisfactory.
N N Results reported for SCHUBERT, NEWTON and
(9) > HYBRID were actually obtained using the general-
purpose algebraic equation solver SPARSE, devel-
oped by Pantelides (1988a). In addition to the block
A decomposition already mentioned, SPARSE employs
(
N
sparse matrix techniques to store the Jacobian
elements in the system Jacobian is also given (column particularly pronounced for the type of problems
marked NZ), together with the number (NZA) of mentioned above. For most problems, the extra time
those elements for which it was possible to derive required for the symbolic manipulation (a pre-
analytical expressions using the symbolic manipu- requisite for using HYBRID) is well compensated for
lation routines (i.e. those arising from ordinary equa- by the superior efficiency of the solution process.
tions and not from procedures). It should be noted The behaviour of QN in terms of the numbers of
that these counts only include elements occurring in iterations and function evaluations is usually similar
the diagonal blocks of the decomposed system, since to that demonstrated by SCHUBERT. However, QN
elements in subdiagonal blocks are not required. suffers severely in terms of execution time, mainly
The column marked ‘CPRl’ gives the number of because of the full matrix operations involved in the
function evaluations required to form the Jacobian of least-change secant update used by the code. This
the largest diagonal block by finite-differences using seems to be true, even for the relatively-small
numerical information only, as determined through examples presented here.
the Curtis et al. (1974) algorithm. ‘CPRZ’ gives the Finally, it should be noted that, although the set of
corresponding number of evaluations when the problems examined in this paper is rather limited, the
Jacobian is partially available in symbolic form. results reflect well our wider experience with the
For each of the four algorithms being compared, numerical algorithms over the past couple of years.
the columns marked ‘F’ and ‘D’ supply the numbers In particular, the observed differences in robustness
of calls to the subroutines evaluating the equations and efficiency become even more significant as the
and the analytical part of the Jacobian, respectively, nonlinearity and size of the problems increase.
for the largesr diagonal block in the system. Since, for
the problems studied here, it is the solution of this 3. DYNAMIC SIMULATION AND DESIGN
block that invariably poses the most difficulties to the
3.1. The mathematical problem
simulation, this is thought to be a good measure of
performance. All entries in column ‘D’ for QN and The fundamental mathematical problem for dy-
SCHUBERT are zero, since these codes do not make namic simulation and design is that of solving sets of
use of analytical information. For NEWTON and mixed-differential and algebraic equations (DAEs) of
HYBRID, the numbers in column ‘D’ also give the the form:
number of quasi-Newton iterations required. f(x,*.y.u,t)=O, (5)
The third column for each algorithm (marked ‘T’)
g(x. y. u, I) = 0. (6)
gives the total time taken by the numerical routines
in SpeedUp to solve the complete problem (measured Here t is the time and x, y and u are usually referred
in CPU s on an IBM 4341). This information is to as the differential, the algebraic, and the control
supplied mainly to provide some measure of com- variables of dimensions n, m and p, respectively.
parison for the time required for performing the Similarly, (5) are the differential and (6) the algebraic
symbolic manipulation on the system, shown in equations. In normal dynamic simulation problems,
Table 1 as column ‘AAM’. It should be noted that the variation of the controls with time, u(t) is
all timings quoted here include the time required to specified by the user, while that of the differential and
perform a number of housekeeping tasks, such as algebraic variables, x(r) and y(t) is to be calculated.
reading data from, and writing results to the The numerical problem of solving most DAE
SpeedUp database (see Section 4). problems is not significantly more difficult than that
2.5.4. The results. All four codes demonstrate of solving systems of ordinary differential equations.
satisfactory reliability when applied to the test prob- Indeed, many ODE algorithms may be extended in a
lems. Thus, NEWTON and HYBRID managed to straightforward manner to tackle DAEs. The DAE
solve all problems, while QN and SCHUBERT solvers in SpeedUp are based on Gear’s (1971) multi-
suffered one failure each, albeit on different cases. step method; they take advantage of the system
With respect to efficiency, HYBRID appears to be sparsity and make use of the symbolically-derived
the most efficient of the four codes. In fact, the partial derivatives.
numbers of quasi-Newton iterations required for
3.2. Discontinuities
HYBRID is often not significantly higher than those
needed by NEWTON. As expected, this is particu- One of the most interesting problems posed by
larly true for problems for which a significant part of dynamic simulation is that of dealing with discon-
the Jacobian is available analytically (e.g. EFCEZ, tinuities. Discontinuities may occur either in the
WOTTO). The relative efficiency of HYBRID com- system control variables, u(t) or in the form of the
pared to NEWTON in terms of numbers of function system equations, (5) and (6). However, the most
evaluations and execution times is due to the lower important aspect of the problem is not how they
cost per iteration of the former. occur, but when, since if the exact time of their
In general, SCHUBERT requires many more occurrence is known, then it usually suffices to inte-
quasi-Newton iterations and total function evalu- grate the system up to that time and then restart the
ations than HYBRID; again this difference is solution process from that point. As a result, discon-
SpeedUp 751
tinuities can be classified into explicit and implicit, 3.3. Initialization of DAE systems
according to the conditions which lead to their Another interesting problem with DAE systems is
activation. We deal with each of the two types that of specifying the initial state of the physical
separately. system in a consistent and nonredundant manner.
The activation conditions for explicit discon- For ODE problems of the form:
tinuities are expressed in terms of time and/or the
values of the control variables, u(t). Since the x =f w (7)
unknown variables, x(t) and y(t) are not involved, the term “initial conditions” usually refers to values
the times of occurrence of the discontinuities can, of the variables x (often called “states”) at time 0.
in principle, be determined a priori. In practice, this This concept can certainly be applied to DAE systems
may not be easy if the discontinuity conditions as well. However, a more general approach to initial-
are not explicit in time (i.e. if they involve the solution ization is both possible and desirable, since the state
of a single equation w.r.t. time, possibly with of the system at the initial time may be determined by
multiple solutions) or have complex logical struc- specifying values for variables other than the
tures involving multiple clauses linked with the differential variables. This is a frequently-
AND/OR/NOT operators. SpeedUp locates explicit encountered situation in practice: for instance, in the
discontinuities through a search procedure imple- dynamic model of a tank, the differential variable
mented along the integration path; thus, before a step could be the volumetric holdup, while the most
is attempted, one can check whether the discontinuity convenient initial condition could be given in terms
is to be activated by the end of the proposed step; if of the height of liquid in the tank, an algebraic
this is true, then the exact point of the activation can variable. Also it is not uncommon to specify the
be located, and a truncated step be attempted instead. initial state by supplying values for the time deriva-
This technique was found to perform satisfactorily tives ir, of the differential variables. In fact, by far the
when applied to a variety of problems. most common initial condition specification is
Implicit discontinuities have activation conditions probably:
expressed in terms of the unknowns, x(t) and y(t).
Since the values of these variables at the end of a step ir = 0, (8)
are not known before the step is actually taken, a
search procedure similar to the one described above i.e. the steady-state!
cannot be applied. Furthermore, if the step is A related issue is that of consistency. A necessary
attempted across the discontinuity, this normally condition for a set of initial values {x(O), x(O), y(O))
causes numerical problems, usually appearing as to be consistent is that they satisfy equations (5) and
repeated failures of the corrector iteration in the (6) at the initial time. For many DAEs, this is also a
integrator and significant reduction of the integration sufficient condition. In such cases, (5) and (6) can be
step. Of course, if the integrator does manage to find viewed as a set of n + m algebraic equations in
one point beyond the discontinuity, then the latter 2n + m unknowns. An initial specification of n of
can be located exactly using a root-finding procedure; these unknowns renders the system square. If the
however, a considerable amount of computational equations are nonsingular in the remaining variables,
effort is wasted in the meantime. they can, in principle, be solved to yield a consistent
One way of avoiding these problems is to initial condition.
implement a discontinuity “locking” mechanism, as It should be clear from the foregoing that a dy-
described below: namic simulator must provide a flexible facility for
specifying initial conditions. SpeedUp allows the user
1. At the beginning of each step the activation
to specify initial values for any subset of n of the
state of each discontinuity is determined.
variables {x, ir, y}, subject to the nonsingularity
2. During the step, no changes in state are permit-
restrictions mentioned above. The user may, if he
ted even if one or more discontinuity conditions
desires, also provide initial guesses for the rest of the
are activated. Thus the discontinuities are
variables to facilitate the initialization procedure.
“locked” into their initial state, and con-
Thus the variables appearing in the flowsheet are
sequently, the integrator is faced with a
distinguished into three categories:
continuous system over the whole of the step.
3. At the end of the step, the discontinuity condi- l Time-invariant variables, or variables with
tions are checked; if any of these are active, the known time variation (controls)
exact earliest point of activation can easily be . Variables for which initial values are specified
located. The search procedure requires values of m Variables for which (optional) initial guesses
the unknowns at intermediate points, but these are specified
are readily obtainable by interpolation.
As already mentioned, for a set of initial values to
This method has been implemented in SpeedUp and be consistent satisfying the DAE equations (5) and
used successfully to deal with complex multiple (6) is only a necessary condition. DAEs for which the
discontinuities. condition is also sufficient belong to a subclass of the
752 C. C. PANTELIDES
FLOW_IN <kg/s)
I
T
LIQlJID_HEIGHT (m)
T
Z FLOW OUT (kg/r)
PIPE_HEICHT (m)
so-called “index-l” systems {see e.g. Petzold (1982) the SpeedUp input language (Perkins and Sargent,
for an introductory discussion of index of DAE 1982). Figure 6 shows the form of a possible OPER-
systems]. However, problems arise with DAEs of ATION section for a flowsheet consisting of the
index exceeding unity: in such cases, the initial condi- single unit TANK described by model OVERFLOW
tions are not only constrained by (5) and (6) but also TANK (Fig. 5). The OPERATION section consists
by the first or even higher differentials with respect to of three subsections: SET specifies variables which
time of SOme of these equations. Pantelides (1988b) are time-invariant, or whose variation with time is
discusses these issues and also gives an algorithm for explicitly known; INITIAL contains a sufficient and
detecting higher index problems and dealing with nonredundant set of specifications that determine the
some of their complications. Here suffice it to say that initial state of the system; and PRESET contains
higher index problems are not infrequent in the initial guesses for the rest of the variables; these are
context of process flowsheeting; they often occur optional, since default values are provided for all
in dynamic models of separation processes, or, variables in SpeedUp.
especially, in dynamic design problems, i.e. problems Explicit discontinuities frequently occur as discon-
in which one seeks the time variation of some of the tinuities in the process controls (or “inputs”).
control variables which yields a given time variation SpeedUp allows their specification as “IF” state-
of some of the process outputs (Pantelides et al., ments within the SET subsection of the OPER-
1987). ATION section (see lines 13-21, Fig. 6). As in the
case of implicit discontinuities, there are no re-
3.4. Input language for dynamic simulation strictions regarding the nesting of the IFS or the
The SpeedUp input language allows the user to complexity of the logical conditions occurring within
define dynamic models in much the same way as them.
those for steady-state (Paloschi et al., 1983). An Other useful dynamic simulation facilities, such as
example of a dynamic model for a simple tank with detection of user-specified alarm conditions, or con-
an overflow pipe (Fig. 4) is given in Fig. 5t. ditional termination of the simulation are also sup-
Time derivatives of variables are denoted by ported by SpeedUp. A full description of these and
prefixing the variable names with a currency (‘$‘) other aspects of the SpeedUp input language is given
symbol (line 16). SpeedUp places no restriction on in the SpeedUp User Manual (The SpeedUp Project,
the form of the equations describing the system: 1986).
equations involving one or more time derivatives
either linearly or nonlinearly are allowed by the input
4. THE SPEEDUP DATABASE AND THE
translator and supported by the numerical routines.
SPEEDUP EXECUTIVE
Implicit discontinuities are implemented as ‘IF’
statements within models (see lines 21-29, Fig. 5). IFS In this section, we provide a brief description of the
can be nested to any level; also logical conditions of SpeedUp executive, which, being interactive, is rather
any complexity can be built from simpler ones using different to that of most conventional simulators.
the AND/OR/NOT logical operators. The interactive nature of the executive implies that
The distinction of variables into knowns and un- the description of the problem being studied is under
knowns is specified in the OPERATION section of continual change during a typical run. Changes occur
as the user creates new sections, or alters existing
ones, or as SpeedUp itself generates information
tNote that the line numbers in Fig. 5 and 6 are not part
of normal SpeedUp input; they have been inserted here
about the system by translating the user-provided
for ease of reference. input. Furthermore, information generated at one
SpeedUp 753
1 MODEL OVERFLOW-TANK
s
4
SET
C - 9.81
# PARAMETER & CONSTANT DECLARATIONS #
5
6 TYPE t VARIABLE TYPE DECLARATIONS A
7 FLOW-IN, FLOW OUT AS FLOWRATE
LIQUID HEIGHT. PIPE - HEIGHT AS LENGTH
9” LIQUID-VOLUME AS VOLUME
IO CROSS_?kCTION AS AREA
I1 PIPE-CONSTANT AS NOTYPE
12 RHO AS DENSITY
13
I4 EQUATION
15 4’ COMPONENT MASS BALANCE #
16 RHO * SLIQUID_VOLUME - FLOW-IN - FLOW_OUT :
17
18 # VOLUME/HEIGHT RELATION I
19 LIQUID-HEIGHT * CROSS_SECTION - LIQUID - VOLUME I
20
21 IF LIQUID-HEIGHT > PIPE-HEIGHT
22 THEN
23 # FLOW THROUGH-PIPE RELATIONSHIP #
24 FLOW - OUT ’ 2 = PIPE-CONSTANT * RHO * G *
25 ( LIQUID-HEIGHT - PIPE-HEIGHT 1
26 ELSE
27 # LIQUID LEVEL BELOW PIPE OUTLET M
28 FLOW-OUT - 0
29 ENDIF
1 OPERATION
stage of the translation must be stored in an easily solution methods that are able to deal with problems
accessible form for use by later stages, or for inter- of realistic size complexity. It also offers an inter-
preting the results of the numerical phase of the active, user-friendly environment that handles most
simulation. of the tasks involved in the simulation process, from
Clearly, some systematic way of storing all this the creation of the problem description to the
information is essential. This is accomplished in reporting of final results.
SpeedUp through the use of a durabase file. The The model construction capabilities of the
SpeedUp executive allows the user to create, store or SpeedUp language can also be exploited by other
update any section of the input, using a full-screen software packages through specially-constructed in-
editor facility. In fact, the SpeedUp database can terfaces: Herman et UC. (1985) describe such an inter-
hold simultaneously more than one problem descrip- face to a real-time control package. Also interfacing
tion, representing either variations of the same to other design packages through the use of a
flowsheeting problem, or completely different prob- common relational database is the subject of
lems. At any given time, the problem currently under investigation of a current project.
study is in the “foreground” of the database, while all As far as solution algorithms ar concerned, it is
others reside in the ‘background’. Changes are only concluded that significant improvements in per-
allowed to the problem in the foreground. The formance can be attained by combining numerical
user can switch problems between foreground and methods with symbolic computation techniques. This
background, or copy sections from one problem to is both feasible and practical for equation-oriented
another, by issuing the appropriate commands to the packages, such as SpeedUp, that have access to a
executive. high-level description of the form of the equations
An important ingredient of any flowsheeting being solved. Furthermore, symbolic computation
system is a library of models. SpeedUp provides produces immediate benefits for all modes of
libraries of steady-state and dynamic models. Both simulation, from steady-state to optimization and
libraries are implemented as problems stored on the dynamics.
database. This not only allows other problems easy In the specific area of dynamic simulation, progress
access to models stored in the libraries, but also has been achieved in various areas, notably in the
enables the user to actually modify existing library handling of discontinuities. As a result, SpeedUp has
models or add his own. already been used successfully to perform dynamic
All library models are based on rigorous physical simulations of several complex plants, including stud-
property calculations implemented as procedures. ies of distillation columns with rigorous hydraulics.
This allows SpeedUp to use any physical property Other problems, mainly relating to the automatic
package which is defined in terms of a set of sub- handling of high-index DAE problems require
routines. further study.
Finally, it should be noted that database manage-
ment is only one of the functions of the SpeedUp A&no+&dgement-I wish to thank L. W. Russell for his
help in developing SpeedUp models for some of the test
executive. Other functions include:
problems presented in this paper.
1. Switching from one mode of simulation to
another, using the same problem description REFERENCES
(e.g. from steady-state to optimization or
Bogle I. D. L. The numerical solution of flowsheeting
dynamics). problems characterized by sparse Jacobian matrices.
2. A “help” facility, describing the syntax of the Ph.D. Thesis, University of London (1983).
SpeedUp input language, and the commands of Brown W. S. and A. C. Hearn. Applications of symbolic
the executive. algebraic computation. Computing Science Technical
Report 66. Bell Laboratories (1978).
3. Extensive display facilities, allowing selective
Broyden C. G. A class of methods for solving nonlinear
display of results following steady-state, simultaneous equations. Math. Comput. 25, 2855294
optimization or dynamic runs in standard or (1965).
user-defined report format. Chen H.-S. and M. A. Stadtherr. On solving large sparse
4 A graphical display facility for dynamic nonlinear equation systems. Comput. them. Engng 8, I-7
(1984).
simulation results. Coleman T. P. and J. J. More. Estimation of sparse
5. A diagnostics Facility, to assist the user with Jacobian matrices and graph coloring problems. SIAM J.
troubleshooting numerical problems encoun- Numar. Analysis 20, 187-209 (1983).
tered during simulation. Curtis A. R., M. J. D. Powell and J. K. Reid. On the
estimation of sparse Jacobian matrices. J. Inst. Math.
Applic. 13, 117-120 (1974).
Gear C. W. Simultaneous numerical solution of
5. CONCLUSIONS differential-algebraic equations. IEEE Tram Circuit
Theory CT-18, 89-95 (1971).
SpeedUp provides a consistent language for Herman D. J., G. R. Sullivan and S. Thomas. The integra-
defining steady-state, optimization and dynamic tion of process design, simulation and control systems.
flowsheeting problems; this is coupled with powerful Process Systems Enging Conf., Cambridge, U.K. (1985).
SpeedUp 755
Hernandez R. Symbolic algebraic techniques in computer- Pantelides C. C., D. Gritsis, K. R. Morrison and R. W. H.
aided process design. Ph.D Thesis, University of London Sargent. The mathematical modelling of transient systems
(1980). using differential-algebraic equations. P?WC. CEF’8 7
Knuth D. E. The Art of Computer Programming-Vol. Conf., Sicily, pp. 29934 (1987).
I-Fundamental Algorithms. Addison-Wesley, Reading, Perkins J. D. Equation-oriented flowsheeting. Second Conf.
Mass. (1973). Foundations Comput.-Aided Process Des.. Snowmass,
Lucia A. and S. Macchietto. A new approach to the Colorado (I 983).
approximation of quantities involving physical properties Perkins J. D. and R. W. H. Sargent. SPEEDUP-A com-
derivatives in equation-oriented process design. AIChE Jf puter program for steady-state and dynamic simulation
29, 705-712 (1983). and design of chemical processes. AlChE Symp. Ser. 78.
Macchietto S., G. I. Maduabueke and R. Szczepanski, l-l 1 (1982).
Efficient implementation of VLE procedures in equation Petzold L. Differential/algebraic equations are not ODES.
oriented simulators. AZChEJl (1988) In preparation. SIAM J. Sci. Statist. Comput. 3, 367-384 (1982).
Ng E. W. Symbolic-Numeric Interface: A Review. In Sammet J. E. Survey of formula manipulation. Commun.
Symbolic and Algebraic Computation (Ng E. W., Ed.), ACM 9, 5X-569 (1966).
Lecture Notes in Computer Science 72, pp. 336345. Sargent R. W. H. The decomposition of systems of pro-
Springer-Verlag (1979). cedures and algebraic equations. In Lecture Notes in
Paloschi J. R. The numerical solution of nonlinear Mathematics 630, pp. 158-178. Springer-Verlag, New
equations representing chemical processes. Ph.D. Thesis, York (1978).
University of London (1982). Schubert L. K. Modification of a quasi-Newton method for
Paloschi J. R., J. D. Perkins and R. W. H. Sargent. nonlinear equations with a sparse Jacobian. Math.
Steady-state simulation using SPEEDUP. AIChE Spring Comput. 24, 27 31 (1970).
Nat. Mt, Houston, Texas (1983). The SpeedUp Project, SpeedUp Vs. 4.1. User Manual.
Pantelides C. C. Symbolic and numerical techniques for the Department of Chemical Engineering, Imperial College of
solution of large systems of nonlinear algebraic equations. Science and Technology, London (1986).
Ph.D. Thesis, University of London (1988a). Williams T. J. and Otto R. E. A generalized chemical
Pantelides C. C. The consistent initiaiisation of differential/ processing model for the investigation of computer
algebraic systems. SIAM J. Sci. Statist. Comput. 9, control. AIEE Tram I, Commun. Elect. 79, 4.58473
213-231 (1988b). (1960).